Algoritma Rijndael
Adalah algoritma yang beroperasi dalam byte,
bukandalam bit. Algoritma ini mampu melakukan enkripsi terhadap plain
text sebesar 16 byte atau 128 bit. Selain itu, algoritma ini
juga menggunakan kunci sebanyak 16 byte. Dengan kunci sepanjang 128 bit,
maka terdapat 2128 = 3,4 x 1038 kemungkinan kunci. Dengan demikian, waktu yang
dibutuhkan untuk menebak kunci yang ada dengan komputer yang cepat pun membutuhkan
1018 tahun. Selain panjang kunci yang lumayan banyak, kunci internal pada
algoritma ini juga selalu berubah pada setiap putarannya. Kunci internal ini
disebut dengan round key. Pembangkitan round key diambil dari cipher
key. Mirip dengan DES, algoritma Rijndael juga melakukan putaran enkripsi (enciphering)
sebanyak 10 putaran namun bukan putaran yang merupakan jaringan Feistel.
Enciphering pada Rijndael melibatkan empat proses yaitu:
1.
Sub Bytes
2.
Shift Rows
3.
Mix Columns
4.
Add Round Key
Secara umum, proses enkripsi dilakukan dengan initial
round yaitu melakukan XOR antara state awal yang masih berupa
plain text dengan cipher key. Kemudian melakukan keempat
proses diatas sebanyak 9 kali putaran, dan terakhir adalah final
round yang melibatkan proses sub bytes, shift rows, dan add round
key.
Fleksibilitas Rijndael
Sebagai varian dari Square Cipher, Rijndael
memiliki kemampuan untuk bekerja sangat baik pada platform apapun. Ditambah
dengan operasi yang menggunakan table lookup dan operasi XOR membuat
prosesnya menjadi tidak terlalu rumit. Walaupun proses enkripsi dan dekripsinya
tidak terlalu identik, namun struktur umum dan performanya tidak dapat secara
langsung dibedakan. Rijndael, memiliki keuntungan yang tinggi dalam smart
card dikarenakan penggunaan ROM yang cukup kecil. Namun untuk penggunaan smart
card, proses dekripsi malah membuat ukuran kodenya menjadi bertambah dan
kecepatan dekripsi lebih lambat dari pada kecepatan enkripsi, mencapai 2 kali lipat.
This comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDelete