Derifasi kunci Prosedur Feistel

33 Mulai Kunci 128 bit prosedur derifikasi kunci menjadi 16 sub kunci plain text pembagian blok pesan untuk diolah per 128 bit prosedur feistel penggabungan cipher text yang sudah diolah Blok pesan terakhir ? Cipher text Selesai Blok Pesan Berikutnya N Gambar 9 Bagan alir ringkas DES-Aku. Adapun prinsip kerja dari sandi DES-Aku adalah sebagai berikut. 1. Persiapan kunci 128 bit, memecah-mecah kunci ke dalam 16 sub kunci berbeda dengan ukuran masing-masing sub kunci 96 bit. 2. Melakukan prosedur Feistel 16 iterasi, dengan menggunakan sub kunci yang telah disediakan, dan menggunakan tabel konversi yang juga telah ditentukan oleh algoritma DES-Aku.

4.6. Derifasi kunci

Di bawah ini adalah langkah – langkah untuk mengubah kunci asli yang berukuran 128 bit menjadi 16 sub kunci berbeda yang masing – masing berukuran 96 bit. Setiap sub kunci ini kelak akan digunakan pada setiap ronde yang berbeda di dalam prosedur Feistel. Bagan alir dari prosedur derifasi kunci disajikan pada gambar berikut ini. 34 kunci di kompresi oleh PC1 hingga menjadi 112 bit 56 bit Pertama Iterasi i = 1 56 bit Berikutnya Geser Kekiri putar melingkar Geser Kekiri putar melingkar Digabungkan hingga kembali menjadi 112 bit gabungan di kompresi kembali oleh PC2 hingga menjadi 96 bit diperoleh sub kunci ke - i [SKi] dg ukuran 96 bit Iterasi = 16 ? Iterasi Berikutnya N Gambar 10 Bagan alir prosedur derifasi kunci Adapun penjelasan dari Bagan alir di atas adalah: 1. Kunci asli yang digunakan adalah dalam bentuk biner 128 bit. 2. Kunci kemudian dipermutasikan dan dikompresi dengan Tabel PC1, menjadi 112 bit. 3. 56 bit pertama dari kunci dinotasikan sebagai C 4. 56 bit berikutnya dari kunci dinotasikan sebagai D 5. Untuk setiap iterasi i dari 1 - 16; a. jika i = {1,2,9,16} maka v i = 1, lainnya v i = 2. b. C melakukan “geser ke kiri putar melingkar sejauh Vi” c. D melakukan “geser ke kiri putar melingkar sejauh Vi” d. C dan D kemudian digabungkan, dipermutasikan dan dikompres kembali dengan Tabel PC2, hingga diperoleh K i sebanyak 96 bit. e. Lakukan iterasi berikutnya, hingga diperoleh 16 subkunci yang masing-masing berukuran 96 bit. 35

4.7. Prosedur Feistel

Prosedur Feistel adalah langkah penting dari algoritma DES-Aku. Bagan alir selengkapnya dari prosedur Feistel disajikan pada gambar berikut. di konversi posisikan dengan tabel IP , ukuran tetap 128 bit Nilai Li dan Ri digabungkan tukar nilai Li dan Ri L0 : 64 bit Pertama R0 : 64 bit Berikutnya Iterasi i = 1 Li = Ri-1 Ri = Li-1 xor f [R i-1 ,K i ] Iterasi = 16 ? di konversi posisikan dengan tabel IP -1 , ukuran tetap 128 bit Iterasi Berikutnya Gambar 11 Bagan alir prosedur Feistel Penjelasan dari bagan alir prosedur Feistel di atas adalah sebagai berikut. 1. Plainteks dikonversikan terlebih dahulu dalam biner, kemudian dibagi dan diproses per blok, dimana setiap blok terdiri atas 128 bit 2. Untuk setiap blok kemudian dikonversi posisi dengan berpedoman pada Tabel IP, hasilnya kemudian dibagi atas 2 bagian; 64 bit pada bagian kiri disebut L o , dan 64 bit di kanan disebut R . 3. Kedua bagian ini kemudian dilakukan iterasi fungsi f sebanyak 16 kali L i R i , 1i16, dengan mengikuti struktur Feistel: L i = R i-1, R i = L i-1 ⊕ f R i-1 , K i . 6. K i adalah kunci 96 bit yang terdiri atas 16 macam yang berbeda untuk setiap iterasi, yang diperoleh dari prosedur derifasi kunci. 36 7. Hasil akhirnya kemudian di balik, dan dioperasikan dengan invers dari IP IP -1 R 16 ,L 16

4.8. Fungsi f