Rabu, 09 November 2016

Algoritma DES (Data Encryption Standard)

Sebagai salah satu sistem kriptografi simetris, DES tergolong jenis cipher blok. DES dikatakan enkripsi blok karena pemrosesan data baik enkripsi maupun dekripsi, diimplementasikan per blok harus 8 byte = 8 char.

Diberikan contoh:

  • Plaintext (P) = SEMESTER
  • Key (K)        = AKADEMIK
Langkah Pertama :
Ubah plaintext kedalam bentuk biner
S : 01010011
E : 01000101
M: 01001101
E : 01000101
S : 01010011
T : 01010100
E : 01000101
R : 01010010

Ubah key kedalam bentuk biner
A : 01000001
K : 01001011
A : 01000001
D : 01000100
E :  01000101
M:  01001101
I  :  01001001
K :  01001011

Langkah Kedua :
Lakukan Initial Permutation (IP) pada bit plaintext menggunakan tabel IP berikut:
Matriks permutasi kompresi PC-1 :
                             Hasil gambar untuk tabel pergeseran bit

 Matriks permutasi kompresi PC-2 :
                           Hasil gambar untuk tabel pergeseran bit

Kemudian pecah bit menjadi 2 bagian yaitu: L0 dan R0
Lakukan pergeseran kiri (Left Shift) pada C0 dan D0, sebanyak 1 atau 2 kali berdasarkan kali putaran yang ada pada tabel putaran sebagai berikut :

Maka Pergeseran Bit :
C0 : 0000000 0111111 1100000 0000000
D0 : 1000001 0001110 0011100 0100000

Digeser 1 bit ke kiri
C1 : 0000000 1111111 1000000 0000000
D1 : 0000010 0011100 0111000 1000001

Digeser 2 bit ke kiri
C2 : 0000001 1111111 0000000 0000000
D2 : 0000100 0111000 1110001 0000010

Digeser 2 bit ke kiri
C3 : 0000111 1111100 0000000 0000000
D3 : 0010001 1100011 1000100 0001000

Digeser 2 bit ke kiri
C4 : 0011111 1110000 0000000 0000000
D4 : 1000111 0001110 0010000 0100000

Digeser 2 bit ke kiri
C5 : 1111111 1000000 0000000 0000000
D5 : 0011100 0111000 1000001 0000010

Digeser 2 bit ke kiri
C6 : 1111110 0000000 0000000 0000011
D6 : 1110001 1100010 0000100 0001000

Digeser 2 bit ke kiri
C7 : 1111000 0000000 0000000 0001111
D7 : 1000111 0001000 0010000 0100011

Digeser 2 bit ke kiri
C8 : 1100000 0000000 0000000 0111111
D8 : 0011100 0100000 1000001 0001110

Digeser 1 bit ke kiri
C9 : 1000000 0000000 0000000 1111111
D9 : 0111000 1000001 0000010 0011100

Digeser 2 bit ke kiri
C10 : 0000000 0000000 0000011 1111110
D10 : 1100010 0000100 0001000 1110001

Digeser 2 bit ke kiri
C11 : 0000000 0000000 0001111 1111000

D11 : 0001000001000001000111000111

Digeser 2 bit ke kiri
C12 : 0000000 0000000 0111111 1100000
D12 : 0100000 1000001 0001110 0011100

Digeser 2 bit ke kiri
C13 : 0000000 0000001 1111111 0000000
D13 : 0000010 0000100 0111000 1110001

Digeser 2 bit ke kiri
C14 : 0000000 0000111 1111100 0000000
D14 : 0001000 0010001 1100011 1000100

Digeser 2 bit ke kiri
C15 : 0000000 0011111 1110000 0000000
D15 : 0100000 1000111 0001110 0010000

Digeser 1 bit ke kiri
C16 : 0000000 0111111 1100000 0000000
D16 : 1000001 0001110 0011100 0100000