Sunday, March 11, 2012

Proses Pembangkitan Kunci Internal Pada Algoritma DES

Seperti yang telah dijelaskan pada artikel sebelumnya, Kunci-kunci internal dapat dibangkitkan sebelum proses enkripsi maupun bersamaan dengan proses enkripsi.
DES yang beroperasi pada ukuran blok 64 bit, mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit.
Sebagai Contoh…
Ditentukan kunci “27784483”, masing-masing karakter di konversi ke dalam bilangan biner sehingga menjadi 00110010 00110111 00110111 00111000 00110100 00110100 00111000 00110011.


Hasil konversi kemudian dikelompokkan menjadi 8 kelompok yang terdiri dari masing-masing 8 bit.
(Baris berwarna gelap hanya untuk memperjelas posisi-posisi bit pada matriks, sedangkan baris berwarna putih merupakan bit-bit kunci eksternal, sesuai Tabel 1 kolom Biner)


Tiap bit ke-8 (parity bits) dari 8 byte kunci tersebut diabaikan. Oleh karena itu, hanya ada 56 bit kunci yang digunakan (effective bits). Kemudian dilakukan permutasi dengan menggunakan matriks permutasi kompresi PC-1 (Lihat Tabel (d) algoritma data encryption standard) sehingga hasilnya terlihat pada Tabel 3 dibawah. Permutasi kompresi PC-1 inilah yang mengubah posisi bit-bit pada kunci eksternal.


Dari kunci PC-1, selanjutnya, dibagi menjadi 2 bagian, atas dan bawah, yang masing-masing panjangnya 28-bit, dan masing-masing disimpan di dalam C0 dan D0.
C0 : 0000000 0000000 0011111 1111111
D0 : 1000011 1001101 1001001 0001111
Selanjutnya, kedua bagian digeser ke kiri (left shift) sepanjang satu atau dua-bit bergantung pada tiap putaran. Jumlah pergeseran pada tiap putaran ditunjukkan pada Tabel (e) di algoritma data encryption standard.


Setelah mengalami pergeseran bit, kemudian kunci dipermutasi dengan matriks permutasi kompresi PC-2 (Lihat Tabel (f) algoritma data encryption standard) sehingga hasilnya terlihat pada Tabel 5.


PC-2 Digunakan sebagai Kunci untuk putaran pertama enkripsi (K1). Karena ada 16 putaran, maka dibutuhkan kunci internal sebanyak 16 buah, yaitu K1, K2,…,K16.
Ingat kembali bagaimana proses penggunaan matriks PC-1 dan PC-2, PC-1 hanya digunakan sekali saja pada proses pembangkitan kunci, sedangkan PC-2 digunakan sebanyak 16 kali untuk menghasilkan 16 kunci internal, ilustrasi bisa di lihat pada gambar di bawah.

No comments:

Post a Comment

Statistik

Traffic Rank :
Counter :  free web counter Counter Powered by  RedCounter
dns failure
Stats :
Total Artikel :
Page Rank