nah sekarang masuk ke proses 16 kali enchipering karena kunci internalnya dan hasil permutasi matriks IP sudah didapatkan. kemaren udah ditulis diepisode 1. yang episode 1 ada dimari.
secara lengkap bagan DES adalah seperti ini :
ini dia bagian terumit dari DES. gambar diatas ada dua bagian, yang kanan tuh proses DES lengkap sedangkan yang kiri adalah rincian dari proses fungsi F. proses enchipering dimulai pada saat hasil dari permutasi matriks IP dibagi dua yaitu Lo dan Ro masing-masing 32 bit. setelah itu dilakukan rumus dibawah ini untuk hasil putaran pertama (disebut L1 dan R1):
Li = Ri – 1
Ri = Li – 1 xor f(Ri – 1, Ki)
misalnya hasil dari permutasi IP adalah 1111111111111111111111111111111100000000000000000000000000000000 maka begini jika di pisah menjadi L0 dan R0
jadi untuk mendapatkan L1 itu tinggal copas dari R0. sedangkan R1 di dapatkan dari L0 di-xor-kan dengan fungsi F. bagan fungsi F bisa dilihat diatas. fungsi F ini memerlukan R0 dan kunci internal pertama (K1).
didalam fungsi F ini nantinya R0 akan diekspansi dari 32 bit menjadi 48 bit. cara mengekspansinya adalah dengan melakukan permutasi oleh matriks E :
| 32 | 1 | 2 | 3 | 4 | 5 | 4 | 5 | 6 | 7 | 8 | 9 |
| 8 | 9 | 10 | 11 | 12 | 13 | 12 | 13 | 14 | 15 | 16 | 17 |
| 16 | 17 | 18 | 19 | 20 | 21 | 20 | 21 | 22 | 23 | 24 | 25 |
| 24 | 25 | 26 | 27 | 28 | 29 | 28 | 29 | 30 | 31 | 32 | 1 |
cara permutasi sudah ada di episode 1. hasil dari permutasi matriks E di-xor-kan oleh kunci internal pertama. hasil xor ini nantinya di sebut oleh vektor A. selanjutnya vektor A ini bagi-bagi menjadi 8 bagian masing-masing 6 bit. dari bagian yang paling kiri disebut A1 dan paling kanan A8. nah nanti A1-A8 ini disubtitusikan oleh S-box yang banyaknya juga ada 8 kotak. berikut adalah S-box urut dari S1-S8 :
S1
| 14 | 4 | 13 | 1 | 2 | 15 | 11 | 8 | 3 | 10 | 6 | 12 | 5 | 9 | 0 | 7 |
| 0 | 15 | 7 | 4 | 14 | 2 | 13 | 1 | 10 | 6 | 12 | 11 | 9 | 5 | 3 | 8 |
| 4 | 1 | 14 | 8 | 13 | 6 | 2 | 11 | 15 | 12 | 9 | 7 | 3 | 10 | 5 | 0 |
| 15 | 12 | 8 | 2 | 4 | 9 | 1 | 7 | 5 | 11 | 3 | 14 | 10 | 0 | 6 | 13 |
S2
| 15 | 1 | 8 | 14 | 6 | 11 | 3 | 4 | 9 | 7 | 2 | 13 | 12 | 0 | 5 | 10 |
| 3 | 13 | 4 | 7 | 15 | 2 | 8 | 14 | 12 | 0 | 1 | 10 | 6 | 9 | 11 | 5 |
| 0 | 14 | 7 | 11 | 10 | 4 | 13 | 1 | 5 | 8 | 12 | 6 | 9 | 3 | 2 | 15 |
| 13 | 8 | 10 | 1 | 3 | 15 | 4 | 2 | 11 | 6 | 7 | 12 | 0 | 5 | 14 | 9 |
S3
| 10 | 0 | 9 | 14 | 6 | 3 | 15 | 5 | 1 | 13 | 12 | 7 | 11 | 4 | 2 | 8 |
| 13 | 7 | 0 | 9 | 3 | 4 | 6 | 10 | 2 | 8 | 5 | 14 | 12 | 11 | 15 | 1 |
| 13 | 6 | 4 | 9 | 8 | 15 | 3 | 0 | 11 | 1 | 2 | 12 | 5 | 10 | 14 | 7 |
| 1 | 10 | 13 | 0 | 6 | 9 | 8 | 7 | 4 | 15 | 14 | 3 | 11 | 5 | 2 | 12 |
S4
| 7 | 13 | 14 | 3 | 0 | 6 | 9 | 10 | 1 | 2 | 8 | 5 | 11 | 12 | 4 | 15 |
| 13 | 8 | 11 | 5 | 6 | 15 | 0 | 3 | 4 | 7 | 2 | 12 | 1 | 10 | 14 | 9 |
| 10 | 6 | 9 | 0 | 12 | 11 | 7 | 13 | 15 | 1 | 3 | 14 | 5 | 2 | 8 | 4 |
| 3 | 15 | 0 | 6 | 10 | 1 | 13 | 8 | 9 | 4 | 5 | 11 | 12 | 7 | 2 | 14 |
S5
| 2 | 12 | 4 | 1 | 7 | 10 | 11 | 6 | 8 | 5 | 3 | 15 | 13 | 0 | 14 | 9 |
| 14 | 11 | 2 | 12 | 4 | 7 | 13 | 1 | 5 | 0 | 15 | 10 | 3 | 9 | 8 | 6 |
| 4 | 2 | 1 | 11 | 10 | 13 | 7 | 8 | 15 | 9 | 12 | 5 | 6 | 3 | 0 | 14 |
| 11 | 8 | 12 | 7 | 1 | 14 | 2 | 13 | 6 | 15 | 0 | 9 | 10 | 4 | 5 | 3 |
S6
| 12 | 1 | 10 | 15 | 9 | 2 | 6 | 8 | 0 | 13 | 3 | 4 | 14 | 7 | 5 | 11 |
| 10 | 15 | 4 | 2 | 7 | 12 | 9 | 5 | 6 | 1 | 13 | 14 | 0 | 11 | 3 | 8 |
| 9 | 14 | 15 | 5 | 2 | 8 | 12 | 3 | 7 | 0 | 4 | 10 | 1 | 13 | 11 | 6 |
| 4 | 3 | 2 | 12 | 9 | 5 | 15 | 10 | 11 | 14 | 1 | 7 | 6 | 0 | 8 | 13 |
S7
| 4 | 11 | 2 | 14 | 15 | 0 | 8 | 13 | 3 | 12 | 9 | 7 | 5 | 10 | 6 | 1 |
| 13 | 0 | 11 | 7 | 4 | 9 | 1 | 10 | 14 | 3 | 5 | 12 | 2 | 15 | 8 | 6 |
| 1 | 4 | 11 | 13 | 12 | 3 | 7 | 14 | 10 | 15 | 6 | 8 | 0 | 5 | 9 | 2 |
| 6 | 11 | 13 | 8 | 1 | 4 | 10 | 7 | 9 | 5 | 0 | 15 | 14 | 2 | 3 | 12 |
S8
| 13 | 2 | 8 | 4 | 6 | 15 | 11 | 1 | 10 | 9 | 3 | 14 | 5 | 0 | 12 | 7 |
| 1 | 15 | 13 | 8 | 10 | 3 | 7 | 4 | 12 | 5 | 6 | 11 | 0 | 14 | 9 | 2 |
| 7 | 11 | 4 | 1 | 9 | 12 | 14 | 2 | 0 | 6 | 10 | 13 | 15 | 3 | 5 | 8 |
| 2 | 1 | 14 | 7 | 4 | 10 | 8 | 13 | 15 | 12 | 9 | 0 | 3 | 5 | 6 | 11 |
bisa diliat bahwa masing-masing S-box memiliki 4 baris (baris ke 0 sampai baris ke 3) dan 16 kolom (kolom ke 0 sampai kolom ke 15). vektor A yang sudah dibagi menjadi 8 masing-masing 6 bit akan disubsitusikan dengan S-box dengan cara berikut :
misal A1 adalah 010011 maka dapat dilihat seperti gambar diatas dikonversi menjadi baris 01 (dalam desimal 1) dan kolom 1001 (dalam desimal 9). maka cari pada S1 baris 1 dan kolom 9 maka hasilnya adalah 6 (dirubah menjadi 4 bit = 0110). begitu seterusnya untuk A2 dan S2, dst. setelah semua bagian disubtitusi dan dirubah menjadi bit-bit maka digabungkan akan menjadi 32 bit yang disebut vektor B. nah nanti vektor B ini akan dipermutasikan oleh matriks P :
| 16 | 7 | 20 | 21 | 29 | 12 | 28 | 17 | 1 | 15 | 23 | 26 | 5 | 8 | 31 | 10 |
| 2 | 8 | 24 | 14 | 32 | 27 | 3 | 9 | 19 | 13 | 30 | 6 | 22 | 11 | 4 | 25 |
hasil dari permutasi inilah keluaran dari fungsi F yang nantinya akan di-xor-kan dengan L0 untuk menghasilkan R1.
untuk mengahsilkan L2 dan R2 maka ulangi proses tadi dengan data yang sudah di peroleh yaitu L1,R1, dan K2. proses ini diulang sampai didapatkan L16 dan R16. nah setelah mendapatkan L16 dan R16, dua bagian ini akan digabungkan, namun posisinya dipertukarkan. pemisalan enchipering akhir sebagai berikut :
selesai sudah proses enchipering, inti dari proses DES. proses enchipering tidak diberikan contoh karena sangat panjang, nih pseudo codenya aja.. hohoho
fungsi enkirpsides menerima variable Lo, R0,dan kunci yang nantinya fungsi ini akan diputar 16 kali.
fungsi funsif yang dipanggil oleh fungsi enkirpsides yang menerima inputan R dan kunci internal
fungsi-fungsi yang dipanggil oleh fungsi fungsif
selesai sudah tahap dari enchipering DES. sekarang keluaran dari tahap enchipering ini akan di invers. caranya yaitu dilakukan permutasi oleh matriks IP-1
| 40 | 8 | 48 | 16 | 56 | 24 | 64 | 32 | 39 | 7 | 47 | 15 | 55 | 23 | 63 | 31 |
| 38 | 6 | 46 | 14 | 54 | 22 | 62 | 30 | 37 | 5 | 45 | 13 | 53 | 21 | 61 | 29 |
| 36 | 4 | 44 | 12 | 52 | 20 | 60 | 28 | 35 | 3 | 43 | 11 | 51 | 19 | 59 | 27 |
| 34 | 2 | 42 | 10 | 50 | 18 | 58 | 26 | 33 | 1 | 41 | 9 | 49 | 17 | 57 | 25 |
selesai sudah enkripsi DES. kalo mau program lengkapnya ada disini.
DEKRIPSI
Proses dekripsi terhadap cipherteks merupakan kebalikan dari proses enkripsi. DES menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi. Jika pada proses enkripsi urutan kunci internal yang digunakan adalah K1, K2, …, K16, maka pada proses dekripsi urutan kunci yang digunakan adalah K16, K15, …, K1.
kalo sudah download program lengkapnya pasti ngerti deh proses enkripsi dan dekripsi DES-nya. selamat belajar








