Selasa, 10 Januari 2017

Penyelesaian DES

mengerjakan DES tidak terlepas dari tabel ASCI agar lebih mudah dipahami.
 
 
 
a. Pendefinisian / Pembangkitan Kunci Internal 
Kunci : S U R A B A Y A
ASCII : 83 85 82 65 66 65 89 65
Bit : 01010011 01010101 01010010 01000001 01000010 01000001 01011001 01000001
Dari konversi 64 bit di atas dilakukan permutasi dengan Matriks PC-1 (Gambar 3), sehingga didapat 56 bit kunci :
Kunci : 0000000 0111111 1100000 0000100 0001010 1000000 1001000 0000111
Setelah itu dilakukan pemisahan C0 dan D0 yang masing-masing memilikipanjang 28 bit :
C0                                                                       D0
 Kunci : 0000000 0111111 1100000 0000100 0001010 1000000 1001000 0000111
            Selanjutnya dilakukan pergeseran bit kekiri (left-shift ) dari C0 dan D0 untuk membuat 16 sub kunci (kunci internal) dengan menggunakan Tabel 1, Berikutprosesnya :
C1= 0000000 1111111 1000000 0001000          D1 = 0010101 0000001 0010000 0001110
C2= 0000001 1111111 0000000 0010000          D2 = 0101010 0000010 0100000 0011100
C3= 0000111 1111100 0000000 1000000          D3 = 0101000 0001001 0000000 1110001
C4= 0011111 1110000 0000010 0000000          D4 = 0100000 0100100 0000011 1000101
C5= 1111111 1000000 0001000 0000000          D5 = 0000001 0010000 0001110 0010101
C6= 1111110 0000000 0100000 0000011          D6 = 0000100 1000000 0111000 1010100
C7= 1111000 0000001 0000000 0001111          D7 = 0010010 0000001 1100010 1010000
C8= 1100000 0000100 0000000 0111111          D8 = 1001000 0000111 0001010 1000000
C9= 1000000 0001000 0000000 1111111          D9 = 0010000 0001110 0010101 0000001
C10= 0000000 0100000 0000011 1111110        D10 = 1000000 0111000 1010100 0000100
C11= 0000001 0000000 0001111 1111000        D11 = 0000001 1100010 1010000 0010010
C12= 0000100 0000000 0111111 1100000        D12 = 0000111 0001010 1000000 1001000
C13= 0010000 0000001 1111111 0000000        D13 = 0011100 0101010 0000010 0100000
C14= 1000000 0000111 1111100 0000000        D14 = 1110001 0101000 0001001 0000000
C15= 0000000 0011111 1110000 0000010        D15 = 1000101 0100000 0100100 0000011
C16= 0000000 0111111 1100000 0000100        D16 = 0001010 1000000 1001000 0000111
            Dari masing-masing Cn dan Dn yang telah didapat, digabungkan keduanya dandilakukan permutasi Matriks PC-2 sesuai dengan ketentuan Gambar 4 sehinggaterbentuk kunci internal Kn dengan panjang 48 bit, Berikut ini adalah hasilnya :
K1=101000 001001 001001 000010 001001 000110 000001 010000
K2=101100 000001 001001 010010 110000 100000 100011 000001
K3=001001 000101 001001 010000 010000 101000 011000 100001 
K4=000001 100101 000101 010100 000100 110001 010100 001000
K5=000011 100100 000101 010001 010010 000001 000100 100000
K6=001011 110100 000100 101001 010000 000110 100000 101100
K7=100010 110000 000110 001001 011000 000001 100010 011000
K8=000110 010000 101010 001001 100000 010001 010000 111011
K9=001110 010000 100010 001000 111010 010100 011100 000000
K10=000100 000010 100010 001100 000110 000100 001000 000010
K11=000100 000010 110000 010100 110101 000100 000000 000100
K12=010001 000010 110000 100100 100000 100000 000010 001011
K13=110000 101010 010000 100100 101100 001011 001000 000001
K14=110010 001000 011000 100010 001100 100000 011000 100010
K15=110010 001000 001000 101010 000111 000010 100100 000010
K16=101000 001001 001010 100010 000001 000000 000110 100101
b. Enkripsi 
Sebelum dilakukan enkripsi ubah plainteks dalam bentuk bit, berikutpengubahannya :
Plainteks : E N K R I P S I
ASCII : 69 78 75 82 73 80 83 73
Bit : 01000101 01001110 01001011 01010010 01001001 01010000 01010011 01001001
Dari konversi 64 bit di atas dilakukan permutasi dengan Matriks IP (Gambar 5),sehingga didapat 64 bit kunci :
Plainteks : 11111111 01101000 00000011 11010101 00000000 00000000 10010110 01001110
Setelah itu dilakukan pemisahan L0 dan R0 yang masing-masing memilikipanjang 32 bit :
L0                                                                R0
Plainteks : 11111111 01101000 00000011 11010101 00000000 00000000 10010110 01001110
Iterasi / Putaran 1
            Sebelum dilakukan ciphering dilakukan permutasi R0 32 bit dengan matriks Ekspansi (E) dan menghasilkan R0 48 bit, berikut hasilnya :
E(R0) = 000000 000000 000000 000001 010010 101100 001001 011100
Langkah selanjutnya dilakukan operasi XOR antara E(R0) dan K1, serta selanjutnya dilakukan substitusi S-Box dan Permutasi (P) untuk menghasilkan feistel (f) (Lihatdi halaman Lampiran), berikut langkah operasinya :
 N = 1
K1 = 101000 001001 001001 000010 001001 000110 000001 010000
E(R0) = 000000 000000 000000 000001 010010 101100 001001 011100
XOR
            101000 001001 001001 000011 011011 101010 001000 001100
            S1        S2         S3         S4         S5         S6         S7         S8
S(B) = 1101 1111 0011 1000 1001 1000 0100 0001
f = 0111 0101 1001 1000 1100 1000 0101 0110
R1= L0 XOR f (R0, K1)
    = 1111 1111 0110 1000 0000 0011 1101 0101
       0111 0101 1001 1000 1100 1000 0101 0110
XOR
_______________________________________
= 1000 1010 1111 0000 1100 1011 1000 0011
Iterasi / Putaran 2 
Setelah itu dilakukan ciphering iterasi berikutnya dengan K2 yang sebelumnyadilakukan permutasi R1 32 bit dengan matriks Ekspansi (E) (Lihat di halamanLampiran) dan menghasilkan R1 48 bit, berikut hasilnya :
E(R1) = 110001 010101 011110 100001 011001 010111 110000 000111
Langkah selanjutnya dilakukan operasi XOR antara
E(R1) dan K2, serta selanjutnyadilakukan substitusi S-Box dan Permutasi (P) untuk menghasilkan feistel (f) (Lihatdi halaman Lampiran), berikut langkah operasinya :
N = 2
L2 = R1= 1000 1010 1111 0000 1100 1011 1000 0011
K2 = 101100 000001 001001 010010 110000 100000 100011 000001
E(R1) = 110001 010101 011110 100001 011001 010111 110000 000111
XOR
___________________________________________________________
             011101 010100 010111 110011 101001 110111 010011 000110
             S1         S2         S3          S4         S5         S6        S7             S8
S(B) = 0011 0010 1110 0100 0001 0111 0011 1000
f  = 0110 1010 0010 0001 0011 0111 0000 1110
R2 = L1 XOR f(R1, K2)
=1000 1010 1111 0000 1100 1011 1000 0011
  0110 1010 0010 0001 0011 0111 0000 1110
XOR
______________________________________
 = 1110 0000 1101 0001 1111 1100 1000 1101
Skip Iterasi & Hasil 
            Ciphering tersebut dilakukan terus menerus hingga mencapai 16 iterasi,kemudian L16
dan R16 digabungkan dan dilakukan permutasi akhir Matriks IP-1 (Invers Initial Permutation), berikut hasil penggabungannya :
Cipher = 0000 1110 0010 0000 0011 1001 0110 1111 1111 0000 1100 0101 0010 1001 0110 0111
            Berikut ini adalah hasil permutasi cipherteks dengan Matriks IP-1 beserta konversi bit cipher ke dalam ASCII dan simbol :
Bit : 00101111 01000011 01100011 01001101 10000100 10011111 10100011 10100000
ASCII : 47 67 99 77 132 159 163 160
Cipher : / C c M äƒύá

            Maka hasil enkripsi plainteks ”ENKRIPSI” dengan kunci eksternal ”SURABAYA”melalui algoritma DES (Data Encryption Standard) adalah ” /CcMäƒύá”

0 komentar:

Posting Komentar

 

Hesti Florencia Simanjuntak Template by Ipietoon Cute Blog Design