Advanced Encryption Standard Annisa Dini Handayani Tk IV Teknik Kripto 0302100553
Pendahuluan
Data dan informasi merupakan dua hal yang sangat penting di dalam komunikasi, oleh karena itu diperlukan suatu metode untuk mengamankannya. Maka digunakanlah kriptografi Menurut Bruce Schneier dalam bukunya yang berjudul ”Applied Cryptography”, disebutkan bahwa Kriptografi adalah seni dan ilmu dalam menjaga keamanan pesan.
Pendahuluan (Cont…)
Terdapat dua jenis algoritma kriptografi berdasar jenis kuncinya, yaitu :
Algoritma simetrik (konvensional)
Ex : OTP, DES, RC2, RC4, RC5, RC6, IDEA, Twofish, Magenta, Rijndael (AES), Blowfish, GOST
Algoritma asimetrik (kunci publik)
Ex : RSA, Diffie Hellman, ElGamal
DES
Merupakan algoritma yang banyak digunakan di dunia, yang diadopsi dari NIST (National Institute of Standards and Technology). DES termasuk pada jenis blok cipher Plaintext terdiri dari 64 bit per blok dengan menggunakan kunci 56 bit untuk satu kali proses enkripsi dan menghasilkan ciphertext yang terdiri dari 64 bit per blok.
DES (Cont…)
DES terbukti menjadi algoritma yang aman di dunia selama puluhan tahun Namun, pada tahun 1990-an panjang kunci DES yang hanya 56 bit, dianggap terlalu pendek. Oleh karen aitu, diadakanlah kontes terbuka untuk pembuatan algoritma standar sebagai pengganti DES, kontes tersebut dinamakan kontes AES.
AES Persyaratan AES adalah :
Algoritma harus dipublikasikan secara luas untuk dibuktikan keamanannya. Algoritma haruslah Block Cipher. Algoritma harus diimplementasikan dengan cepat pada software dan hardware. Algoritma memiliki input blok data 128 bit. Algoritma harus memiliki kunci yang fleksibel : 128, 192, dan 256 bit. Dapat mengenkripsi data masukan 32 bit atau 64 bit, supaya dapat mengenkripsi aliran video atau audio secara real time. Dapat digunakan dalam smart card dengan CPU 8 bit.
AES (Cont…)
Diikuti oleh 21 peserta. Setelah melalui tahap penilaian didapatkanlah 5 kandidat sebagai finalis, yaitu :
Mars (IBM Amerika) RC6 (RSA Corp. Amerika) Rijndael (Belgia) Serpent (Israel, Norwegia, dan Inggris) Twofish (Counterpane Amerika)
AES (Cont…)
Setelah melalui tahap pengujian, terpilihlah Rijndael sebagai pemenang AES Rijndael dibuat oleh Dr.Vincent Rijmen dan Dr. Joan Daemen. Rijndael dipilih sebagai pemenang bukan karena merupakan algoritma yang paling aman, melainkan karena memiliki keseimbangan antara keamanan, dan fleksibilitas dalam berbagai platform software dan hardware.
AES (Rijndael) Rijndael didesain sehingga memenuhi karakteristik sebagai berikut : • • •
Aman terhadap berbagai attack yang telah diketahui Cepat dan efisien dalam berbagai platform Desain yang sederhana.
Rijndel merupakan salah satu dari finalis AES yang tidak menggunakan Struktur Feistel, tetapi memproses blok input data secara paralel untuk setiap round dengan menggunakan substitusi dan permutasi.
Tahapan yang digunakan pada Rijndael untuk tiap round-nya terdiri dari empat, yaitu : • • • •
Substitute Bytes Shift Rows Mix Columns Add Round Key
Operasi AES dilakukan terhadap array byte 2dimensi yang disebut dengan state State terdiri dari 4 baris dan Nc kolom, dimana nilai Nc adalah panjang blok dibagi 32. Pada awalnya, masukan in0...in15 akan dikopi ke dalam state dengan mengikuti rumus : s[r,c] = in [r + 4c] Dan pada keluaran, state dikopikan ke keluaran out0...out15 dengan formula : out[r + 4c] = s[r,c]
Transformasi pengisian state :
Transformasi Sub Bytes
Operasi substitusi non linear yang melibatkan S-Box
Tabel S-Box yang digunakan :
Transformasi Shift Rows
Beroperasi secara terpisah untuk masing – masing tiga baris terakhir dari state, dengan menggeser byte pada baris tersebut Jumlah pergeseran h(r,Nc) bergantung pada jumlah baris r dan panjang blok, seperti pada tabel berikut :
Ilustrasi dari transformasi Shift Rows
Transformasi Mix Columns
Berlangsung secara independent pada setiap kolom state dan mentransformasikan setiap kolom sebagai sebuah polynomial.
Direpresentasikan sebagai matriks :
Gambar Transformasi Mix Column :
Transformasi Add Round Key
Pada tahapan ini Nc word yang berasal dari key schedule diXOR dengan setiap kolom dari state, sehingga memenuhi persamaan sebagai berikut :
Key Schedule
Round key didapatkan dari cipher key dengan menggunakan key schedule Tiap round membutuhkan Nc word data key dengan penambahan initial set, sehingga jumlah totalnya adalah Nc(Nn + 1) word Dengan kata lain proses ekspansi kunci ini memerlukan input sebanyak 4 word (16 byte ) kunci dan menghasilkan 44 word (156 byte) round key. Setiap word w[i] merupakan hasil XOR antara word sebelumnya w[i-1] dan word yang berada pada Nk sebelumnya w[i-Nk], Nk = panjang kunci (word).
Untuk word yang letaknya merupakan kelipatan Nk, maka transformasi yang dilakukan menggunakan fungsi yang lebih kompleks. Fungsi kompleks ini terdiri dari beberapa subfungsi, yaitu : RotWord SubWord Hasil dari langkah 1 dan 2 di-XOR dengan konstanta round Rcon[i].
Pemilihan round key i ditentukan oleh round key buffer words w[Nc*i] menjadi w[Nc*(i+1)], seperti yang diilustrasikan pada gambar berikut :
Dekripsi
Urutan transformasi dekripsi berbeda dengan urutan transformasi enkripsi, meskipun key schedule yang digunakan pada enkripsi sama dengan key schedule pada dekripsi. Transformasi yang digunakan pada dekripsi ini adalah :
InvShiftRows InvSubBytes InvMixColumns Inverse AddRoundKey
InvShiftRows
Inverse dari transformasi Shift Rows
Jumlah pergeseran byte pada tiga baris terakhir ditentukan oleh Nc - h(r,Nc) byte
InvSubBytes
Inverse dari transformasi Substitute Bytes Menggunakan inverse S-Box
InvMixColumns
Inverse dari transformasi Mix Column. Setiap kolom dianggap sebagai polynomial pada GF(28) dan dikalikan dengan , sehingga :
Persamaan ini dapat ditulis dalam bentuk matriks. Misalkan
Hasil dari perkalian ini, nilai empat byte pada setiap kolom menjadi :
Inverse AddRoundKey Inverse untuk transformasi AddRoundKey adalah transformasi AddRoundKey itu sendiri, karena operasi pada transformasi AddRoundKey hanya berupa operasi XOR.
Rijndael merupakan algoritma pemenang kontes AES, yang memiliki beberapa keunggulan, diantaranya :
Rijndael tahan terhadap attack yang secara umum sudah diketahui. Rijndael melakukan proses enkripsi dan dekripsi yang sangat baik pada berbagai platform, termasuk pada platform 8-bit dan platform 16-bit serta platform DSP. Secara umum, Rijndael sangat cocok untuk diimplementasikan pada alat yang memiliki keterbatasan memori.
DAFTAR PUSTAKA
Gladman Brian, Dr. 2003. A Specification for The AES Algorithm. http://fp.gladman.plus.com/cryptography technology/. J.Daemen dan V.Rijmen, 1999. AES Proposal : Rijndael. Algorithm Submission. http://www.nist.gov/CryptoToolkit. Schneier Bruce, 1996. Applied Cryptography, Protocols, Algorithm and Source Code in C, 2nd Edition. USA : John Willey and Sons, Inc Stallings William, 1998. Cryptography and Network Security : Principles and Practice, 2nd Edition. Prentice Hall.
THANK
YOU… .