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