Adeancid Encryption Standard AES

Pada gambar 2.3, Alice berperan sebagai pengenkripsi dan Bob sebagai pendekripsi. Berikut adalah langkah-langkah yang mereka lakukan dalam menggunakan kriptografi asimetris Sadikin, 2012 : 1. Anne membangkitkan kunci private dan kunci publik dengan menggunakan fungsi pembangkit kunci. K publik , K private Pembangkit kunci Kemudian Anne mempublikasikan kunci publik, namun tetap menjaga kerahasian kunci private. 2. Alice mengenkripsi sebuah plaintext dengan menggunakan kunci publik Bob yang menghasilkan sebuah ciphertext. Ciphertext Enkripsi K publik , plaintext Kemudian Alice mengirim ciphertext kepada Anne melalui saluran tidak aman. 3. Anne mendekripsi ciphertext dengan kunci private Anne untuk mendapatkan plaintext. Plaintext Dekripsi K private , ciphertext Anne mendapatkan plaintext jika ciphertext yang diperolehnya dienkripsi dengan kunci publik Anne.

2.2. Adeancid Encryption Standard AES

Pada 12 September 1997 , lembaga standar Amerika Serikat NIST National Institute of Standards and Technology membuat sebuah sayembara untuk membuat sistem penyandian AES Advanced Encryption Standard untuk menggantikan sistem penyandian sebelumnya yaitu DES Data Encryption System. NIST memberikan spesifikasi yaitu AES harus memiliki panjang blok sebesar 128 bit dan mampu mendukung kunci yang memiliki panjang blok sebesar 128 bit, 192 bit dan 256 bit. Setelah melakukan seleksi, pada tahun 2000, NIST memilih sistem penyandian state Rijndael yang dikembangkan oleh Joan Daemen dan Vincent Rijments sebagai AES, dan mulai digunakan pada 26 Mei 2002. AES Advanced Encryption Standard merupakan sistem penyandian modern yang beroperasi pada blok - blok data dan memiliki kunci simetris. Yaitu dalam enkripsi dan dekripsi menggunakan kunci yang sama. Enkripsi adalah proses pengubahan data asli menjadi sandi. Sedangkan dekripsi adalah proses pengembalian bentuk sandi menjadi data asli. Data yang akan dienkripsi akan dikelompokkan ke dalam blok-blok yang masing-masing berukuran 128 bit. Sedangkan kunci yang dapat digunakan sebesar 128 bit, 192 bit dan 256 bit. Data yang digunakan pada AES dikelompokkan kedalam 5 unit, yaitu bit, byte, word, blok dan state. Bit merupakan satuan data terkecil, yaitu nilai digit sistem biner. Sedangkan byte merupakan 8 bit, word berukuran 4 byte, blok berukuran 4 word 16 byte dan state adalah blok data yang ditata sebagai matriks byte berukuran 4x4. Sebelum data masuk ke dalam tahapan enkripsi, blok-blok data di transformasi kedalam bentuk state. Bentuk pengelompokkan data tersebut dapat terlihat pada gambar 2.4 dibawah ini. Sadikin, 2012 = {b , b 1 , b 2 , b 3 , b 4 , b 5 , b 6 , b 7 } Gambar 2.4. Unit data AES Proses yang terjadi pada enkripsi dan dekripsi terjadi selama beberapa ronde. Setiap ronde pada enkripsi dan dekripsi data dilakukan beberapa bentuk transformasi pada elemen-elemen state. Jumlah ronde tergantung dengan panjang kunci yang digunakan. Jumlah ronde direpresentasikan pada tabel 2.2. B B 4 B 8 B 12 B 1 B 5 B 9 B 13 B 2 B 6 B 10 B 14 B 3 B 7 B 11 B 15 B B 1 B 2 B 3 B 1 byte word Tabel 2.2. Jumlah putaran AES Besar Kunci Nk dalam words Besar BlokNb dalam words Jumlah Putaran Nr AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 2.2.1 Matematika Dasar dalam AES 2.2.1.1 Finite Field Finite field atau Galois field adalah satu set elemen angka yang terhingga. Secara garis besar sebuah Galois field adalah suatu set elemen terhingga yang bisa dijumlahkan, dikurangi, dikali dan memiliki invers. Sebelum kita membahas tentang field lebih lanjut, pertama kita akan membahas mengenai group. Group G adalah suatu set yang terdiri atas elemen G dengan sebuah operasi ◦ yang menggabungkan dua elemen dari G. Suatu group memiliki kondisii seperti di bawah ini : 1. Operasi group disebut closed. Jika, untuk semua dan 2. Operasi group disebut associative. Jika, untuk semua dan 3. Terdapat elemen disebut elemen identity, untuk semua dan 4. Untuk setiap terdapat elemen a -1 disebut inverse, dan 5. Sebuah group disebut abelian commutative, dengan Secara garis besar, suatu group adalah suatu set dengan satu operasi dan memiliki inverse dari operasi tersebut. Jika operasinya disebut penjumlahan, maka inverse nya adalah pengurangan. Begitu pula dengan operasi perkalian yang memiliki inverse yaitu pembagian. a , b , c ∈G a , b , c ∈G a∘b∘c=a∘b∘c I∈G a∈G a ∘ I=I ∘a a∈G a ∘b=b∘ a a ∘a −1 =a −1 ∘a=I a ∘b=c Misalnya, suatu set integer dan operasi penjumlahan modulo m membentuk suatu group dengan elemen identitas 0. Setiap elemen a memiliki sebuah inverse a -1 dengan a + a -1 = 0 mod m. Sedangkan pada group dengan operasi perkalian, elemen identitasnya adalah 1 dan setiap elemen a memiliki sebuah inverse a -1 dengan aa -1 =1 mod m. Untuk membuat empat operasi dasar aritmatika penjumlahan, pengurangan, perkalian, pembagian dalam suatu struktur, kita membutuhkan suatu set yang terdiri dari group penjumlahan dan group perkalian. Inilah yang disebut dengan field. FieldF adalah suatu set yang terdiri dari dari elemen-elemen yang memiliki kondisi berikut : 1. Semua elemen dari F terdiri dari suatu group penjumlahan dengan operator “ + ” dan elemen identitas I adalah elemen “0”. 2. Semua elemen dari F terdiri dari suatu group perkalian dengan oerartor “x” dan elemen identitas B adalah elemen “1”.

3. Ketika kedua group digabungkan, terdapat hukum distributive, dengan ketentuan untuk semua

dan . Jumlah elemen dalam field disebut order atau cardinality . Suatu field dengan order m hanya ada jika m bernilai prima dengan m=p n , untuk semua n adalah bilangan integer positif, dan p adalah bilangan prima positif. P disebut sebagai karakteristik dari finite field, sehingga dinotasikan dengan GFp. Paar dan Pelzl, 2010 2.2.1.2. Prime Field Elemen dari GFp direpresentasikan menggunakan bilangan integer . Operasi penambahan dan perkalian pada field dimodulokan dengan p. Untuk melakukan proses aritmatika pada prime field, harus mengikuti aturan sebagai berikut : 1. Inverse penjumlahan dari suatu elemen a didefinisikan

2. Inverse perkalian dari setiap elemen nonzero a didefinisikan

a , b , c∈F ab+c=ab+ac ℤ m ={0111... , m−1} a+a −1 = 0 mod p a a −1 = 1 mod p 0 , 1, . . . , p−1