Prinsip Kerja Sandi DES Bagan alir Sandi DES Persiapan kunci

9 Sandi Feistel tidak pernah mengatur berapa banyak iterasi harus dilakukan, atau fungsi apa yang harus dikerjakan. Algoritma ini hanya memberikan ide pengolahan data yang menyerupai puntiran DNA, dan disisipi suatu fungsi didalamnya. Selain DES, algoritma ini juga dimanfaatkan oleh AES.

2.2.4. DES

DES adalah sandi yang paling terkenal dalam sejarah. Dibuat oleh National Bureau of Standards pada tahun 1970 untuk NSA National Security Agency. Tujuan dari penciptaan DES adalah untuk menjadi standar perlindungan data yang sensitif. Feistel dari IBM lah yang telah menciptakan draf awalnya dalam bentuk algoritma Lucifer. DES menjadi standar Federal pada bulan November 1976, mencapai puncak ketenaran pada tahun 1977 - 1990. Sandi ini mulai runtuh kejayaannya ketika berhasil ditembus keamanannya dengan pada tahun 1998. DES merupakan sandi blok dengan panjang blok 64 bit, dan panjang kunci input 56 bit. Panjang kunci input ini sendiri pada akhirnya akan dibuat 64 bit dengan menambahkan 8 bit paritas. DES sendiri merupakan hasil pengembangan dari sandi produk dan sandi Feistel. Kelemahan utama dari sandi DES adalah panjang kuncinya yang terlalu pendek, dengan demikian cukup dengan tipe serangan dengan mencoba semua kemungkinan kunci dan didukung dengan kecepatan komputasi yang memadai, maka kunci dari sandi DES dapat dengan mudah diperolehkan. Meski DES telah dinyatakan tidak aman, namun prinsip kerjanya telah melandasi lahirnya berbagai kriptografi modern seperti 3DES, NewDES, RC5, dan AES.

2.2.4.1. Prinsip Kerja Sandi DES

Sandi DES adalah hasil pengembangan dari Sandi Feistel, dengan demikian wajar bila terdapat Sandi Feistel di dalamnya. Adapun prinsip kerja dari sandi DES adalah sebagai berikut. 1. Persiapan kunci, memecah kunci ke dalam 16 sub kunci. 2. Melakukan prosedur Feistel 16 iterasi, dengan menggunakan sub kunci yang telah disediakan, dan menggunakan fungsi yang telah ditentukan. 10 Secara detail, yang dikerjakan oleh sandi Feistel adalah: 1. Plainteks dikonversikan terlebih dahulu dalam biner, kemudian dibagi dan diproses per blok, dimana setiap blok terdiri atas 64 bit 2. Untuk setiap blok kemudian dilakukan koversi posisi terhadap Tabel IP Initial Permutation, hasilnya kemudian dibagi atas 2 bagian; 32 bit pada bagian kiri disebut L o , dan 32 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 . 4. K i adalah kunci 48 bit yang terdiri atas 16 macam yang berbeda untuk setiap iterasi. 5. Hasil akhirnya kemudian dibalik, dan dioperasikan dengan inverse dari IP IP -1 R 16 ,L 16 .

2.2.4.2. Bagan alir Sandi DES

Gambar 3 Bagan alir sandi DES 11 Dari Gambar 3 terlihat jelas bahwa DES menggunakan pola fikir Feistel, hanya saja Feistel tidak pernah merinci setiap pointya seperti berapa banyak iterasi harus dilakukan, atau fungsi f apa yang digunakan.

2.2.4.3. Persiapan kunci

Beberapa urutan langkah yang dikerjakan oleh algoritma DES ketika mengolah sebuah kunci 64 bit menjadi 16 sub kunci dengan ukuran masing – masing 28 bit dijabarkan berikut ini. 1. Kunci asli yang digunakan adalah dalam bentuk biner 56 bit. 2. Kunci ini kemudian diperluas menjadi 64 bit dengan menambahkan bit pariti parity pada posisi ke 8, 16, 24, 32, 40, 48, 56, 64. 3. Kunci kemudian dikonveri-posisikan dengan menggunakan Tabel PC1, kembali menjadi 56 bit. 4. 28 bit pertama dari kunci dinotasikan sebagai C 5. 28 bit berikutnya dari kunci dinotasikan sebagai D 6. 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 dan dikonversi-posisikan dengan Tabel PC2 hingga diperoleh K i dengan banyak komponen 48 bit. e. Lakukan iterasi berikutnya, hingga diperoleh 16 sub kunci yang masing-masing berukuran 48 bit.

2.2.4.4. Fungsi f