Analisis Algoritma DES Implementasi Algoritma Kriptografi Des, RSA Dan Algoritma Kompresi LZW Pada Berkas Digital

46 M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.

3.2 Analisis Algoritma DES

Prinsip kerja DES adalah pembagian informasi menjadi blok-blok tertentu, oleh karena itu DES termasuk salah satu algoritma chiper blok. Pesan-pesan tersebutpun akan diacak dengan menggunakan matriks-matriks standar yang ada pada algoritma DES. Proses pertama yang penulis lakukan adalah membangkitkan kunci pada algoritma DES. Langkah-langkah dalam pembangkitan kunci adalah sebagai berikut : a. Masukkan kunci eksternal, yang panjangnya 64 bit atau delapan karakter. b. Kemudian kunci eksternal 64 bit tadi dipermutasikan dengan matriks permutasi PC-1. sehingga panjang kunci yang tadinya 64 bit menjadi 56 bit. Matriks permutasi PC-1 : 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 c. Hasil permutasi yang panjangnya 56 bit tersebut kemudian dibagi menjadi dua blok, yaitu C j dan Dj. Cj merupakan kumpulan dari bit pertama sampai bit ke 28, sedangkan Dj merupakan kumpulan dari bit ke 29 sampai 56. d. Kemudian pada kedua blok dilakukan pergeseran dengan aturan seperti yang ditunjukkan Tabel 3.1. 47 M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009. Tabel 3.1 Tabel aturan putaran dari pergeseran bit Putaran, i Jumlah pergeseran bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 Tabel diatas merupakan tabel aturan tentang pergeseran dari C dan D , dimana ketentuan pergeseran diatur oleh putaran. e. Setelah mengalami proses penggeseran, kedua blok tersebut digabungkan kembali dan akan dipermutasikan dengan matriks permutasi PC-2. Berikut adalah matriks permutasi PC-2 14 17 11 24 1 5 3 28 23 19 12 4 26 8 16 7 41 52 31 37 47 55 30 40 44 49 39 56 34 53 46 42 f. Hasil permutasi dengan matriks PC-2 di atas yang dinamakan dengan kunci internal yang akan kita gunakan untuk setiap putaran pada proses enkripsi dan deskripsi algoritma DES. Flowchart pembangkitan kunci pada algoritma DES dapat dilihat pada Gambar 3.8. 48 M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009. Gambar 3.8 Flowchart pembangkitan kunci pada DES Proses berikutnya yaitu proses enkripsi algoritma DES. Langkah–langkah proses enkripsi adalah sebagai berikut : a. Pertama adalah menginputkan teks yang akan dienkripsi, dalam hal ini yang diinputkan adalah cipherteks hasil enkripsi menggunakan algoritma RSA. b. Selanjutnya teks tersebut akan dirubah menjadi bilangan biner dengan mengacu kepada nilai indeks pada tabel ASCII. c. Teks yang telah dirubah menjadi bilangan biner tersebut dalam hal pengerjaan enkripsi dibagi menjadi 64 bit. Berarti pengerjaan untuk algoritma DES adalah setiap delapan karakter atau 64 bit. 49 M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009. d. Selanjutnya teks yang telah dibagi tadi kemudian di permutasi dengan matriks permutasi awal. Tujuannya adalah mengacak plainteks 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 e. Proses selanjutnya yaitu teks yang telah diacak tadi kemudian dibagi menjadi dua blok, yang masing-masing besarnya adalah 32 bit. Kedua blok tersebut dilambangkan dengan L dan R f. Proses selanjutnya yaitu melakukan putaran proses sebanyak 16 kali. Proses yang dilakukan dalam setiap putaran adalah sebagai berikut : L i = R i-1 R i = L i-1 ⊕ K 1 g. Setelah dilakukan sebanyak 16 kali, maka pada proses selanjutnya kedua blok tersebut akan digabungkan kembali. h. Setelah penggabungan kedua blok, maka proses terakhir adalah melakukan permutasi dengan menggunakan matriks pertmutasi IP -1 . Berikut adalah 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 50 M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009. Flowchart untuk proses enkripsi algoritma DES dapat dilihat pada Gambar 3.9. Gambar 3.9 Flowchart enkripsi DES 51 M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009. Proses selanjutnya adalah proses deskripsi, yang mana bertujuan untuk membalik berkas kembali menjadi informasi yang dapat digunakan oleh pengguna. Langkah-langkah dari proses deskripsi adalah sebagai berikut : a. Pertama chperteks hasil enkripsi menjadi input. b. Kemudian pada cipherteks dilakukan proses invers permutasi dengan menggunakan matriks permutasi IP -1 . c. Terus cipherteks dibagi menjadi dua blok seperti pada proses enkripsi. d. Setelah itu lakukan perputaran sebanyak 16 kali dengan memakai persamaan berikut : L j-1 = L j-1 + invers[R j ][PBOX] R j-1 = L j e. Kemudian kedua blok itu digabung kembali dan dilakukan invers permutasi dengan menggunakan matriks permutasi IP. Itulah hasil deskripsi menggunakan algoritma DES. 52 M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009. Gambar 3.10 merupakan flowchart untuk proses deskripsi algoritma DES. Gambar 3.10 Flowchart enkripsi DES 53 M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.

3.3 Analisis Algoritma LZW