Anda di halaman 1dari 18

TUGAS 5

Disusun untuk Memenuhi Salah Satu Tugas Mata Kuliah Kriptografi


Dosen Pengampu: Prof. Dr. Budi Murtiyasa, M. Kom.

Disusun Oleh :
Indra Tri Cahyono
A410140187

PROGRAM STUDI PENDIDIKAN MATEMATIKA


FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS MUHAMMADIYAH SURAKARTA
2017
Lakukan enkripsi menggunakan DES dengan 16 putaran. Tuliskan dengan lengkap-langkah untuk
mendapatkan masing-masing kunci. Tuliskan dengan lengkap pula proses enkripsinya. Berikan
penjelasan singkat pada masing-masing langkah baik pada sat mendapatkan kunci maupun pada sat
enkripsi. Hasil akhir adalah karakter-karakter pada ciphertext.

A. Proses Enkripsi
Nama : INDRA TRI CAHYONO
Plaintext : ICAHYONO
Kunci : PTIUMS87

Langkah 1:
Mengubah plaintext dan kunci menjadi bilangan biner
Plaintext: Kunci:
I : 01001001 P : 01010000
C : 01000011 T : 01010100
A : 01000001 I : 01001001
H : 01001000 U : 01010101
Y : 01011001 M : 01001101
O : 01001111 S : 01010011
N : 01001110 8 : 00111000
O : 01001111 7 : 00110111

Langkah 2:
Initial Permutation (IP) pada plaintext
Plaintext (X) Tabel IP
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
0 1 0 0 1 0 0 1 56 50 42 34 26 18 10 2

9 10 11 12 13 14 15 16 9 10 11 12 13 14 15 16
0 1 0 0 0 0 1 1 60 52 44 36 28 20 12 4

17 18 19 20 21 22 23 24 17 18 19 20 21 22 23 24
0 1 0 0 0 0 0 1 62 54 46 38 30 22 14 6

25 26 27 28 29 30 31 32 25 26 27 28 29 30 31 32
0 1 0 0 1 0 0 0 64 56 48 40 32 24 16 8

33 34 35 36 37 38 39 40 33 34 35 36 37 38 39 40
0 1 0 1 1 0 0 1 57 49 41 33 27 19 11 3

41 42 43 44 45 46 47 48 41 42 43 44 45 46 47 48
0 1 0 0 1 1 1 1 59 51 43 35 27 19 11 3

49 50 51 52 53 54 55 56 49 50 51 52 53 54 55 56
0 1 0 0 1 1 1 0 61 53 45 37 29 21 13 5

57 58 59 60 61 62 63 64 57 58 59 60 61 62 63 64
0 1 0 0 1 1 1 1 63 55 47 39 31 23 15 7

Sehingga IP (X) :
1 2 3 4 5 6 7 8
1 1 1 1 1 1 1 1

9 10 11 12 13 14 15 16
0 1 1 1 0 1 0 0

17 18 19 20 21 22 23 24
0 0 1 0 0 0 0 0

25 26 27 28 29 30 31 32
1 1 0 1 1 0 1 1
33 34 35 36 37 38 39 40
0 0 0 0 0 0 0 0

41 42 43 44 45 46 47 48
0 0 0 0 0 0 0 0

49 50 51 52 53 54 55 56
0 0 0 0 0 0 0 0

57 58 59 60 61 62 63 64
0 1 0 0 1 0 0 0

Diperoleh hasil IP (X) : 11111111 01110100 00100000 11011011 00000000 00000000


01001000 00010100
Selanjutnya bit pada IP (X) dipecah menjadi 2:
Lo = 11111111 01110100 00100000 11011011
Ro = 00000000 00000000 01001000 00010100

Langkah 3 :
Generate kunci menggunakan tabel permutasi kompresi PC-1 Kompresi 64 bit menjadi 56 bit
dengan membuang 1 bit (parity bit) tiap blok kunci.

Kunci Tabel PC-1


1 2 3 4 5 6 7 8 1 2 3 4 5 6 7
0 1 0 1 0 0 0 0 57 49 41 33 25 17 9

9 10 11 12 13 14 15 16 8 9 10 11 12 13 14
0 1 0 1 0 1 0 0 1 58 50 42 34 26 18

17 18 19 20 21 22 23 24 15 16 17 18 19 20 21
0 1 0 0 1 0 0 1 19 11 3 60 52 44 36
25 26 27 28 29 30 31 32 22 23 24 25 26 27 28
0 1 0 0 1 1 0 1 19 11 3 60 52 44 36

33 34 35 36 37 38 39 40 29 30 31 32 33 34 35
0 1 0 0 1 1 0 1 63 55 47 39 31 23 15

41 42 43 44 45 46 47 48 36 37 38 39 40 41 42
0 1 0 1 0 0 1 1 7 62 54 46 38 30 22

49 50 51 52 53 54 55 56 43 44 45 46 47 48 49
0 0 1 1 1 0 0 0 14 6 61 53 45 37 29

57 58 59 60 61 62 63 64 50 51 52 53 54 55 56
0 0 1 1 1 0 0 1 21 13 5 28 20 12 4

Output:
1 2 3 4 5 6 7
0 0 0 0 0 0 0

8 9 10 11 12 13 14
0 0 0 1 1 1 1

15 16 17 18 19 20 21
1 1 1 1 0 0 0

22 23 24 25 26 27 28
0 0 0 1 1 1 0

29 30 31 32 33 34 35
0 0 1 0 0 0 0

36 37 38 39 40 41 42
0 0 0 0 1 1 0

43 44 45 46 47 48 49
1 0 1 1 0 1 0

50 51 52 53 54 55 56
1 0 0 1 0 1 1

Sehingga diperoleh hasil

CoDo = 0000000 0001111 1111000 0001110 0010000 0000110 1011010 1001011

Selanjutnya bit pada CoDo dipecah menjadi 2:

Co = 0000000 0001111 1111000 0001110

Do = 0010000 0000110 1011010 1001011

Langkah 4 :
Lakukan pergeseran pada Co dan Do menggunakan tabel pergeseran bit 16 putaran
Iterasi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Perputaran 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
bit

CoDo = 0000000 0001111 1111000 0001110 0010000 0000110 1011010 1001011


Co : 0000000000111111110000001110 Do : 0010000000011010110101001011

C1 : 0000000001111111100000011100 D1 : 0100000000110101101010010110
C2 : 0000000011111111000000111000 D2 : 1000000001101011010100101100
C3 : 0000001111111100000011100000 D3 : 0000000110101101010010110010
C4 : 0000111111110000001110000000 D4 : 0000011010110101001011001000
C5 : 0011111111000000111000000000 D5 : 0001101011010100101100100000
C6 : 1111111100000011100000000000 D6 : 0110101101010010110010000000
C7 : 1111110000001110000000000011 D7 : 1010110101001011001000000001
C8 : 1111000000111000000000001111 D8 : 1011010100101100100000000110
C9 : 1110000001110000000000011111 D9 : 0110101001011001000000001101
C10 : 1000000111000000000001111111 D10 : 1010100101100100000000110101

C11 : 0000011100000000000111111110 D11 : 1010010110010000000011010110


C12 : 0001110000000000011111111000 D12 : 1001011001000000001101011010
C13 : 0111000000000001111111100000 D13 : 0101100100000000110101101010
C14 : 1100000000000111111110000001 D14 : 0110010000000011010110101001
C15 : 0000000000011111111000000111 D15 : 1001000000001101011010100101
C16 : 0000000000111111110000001110 D16 : 0010000000011010110101001011

Selanjutnya setiap hasil kali putaran digabungkan kembali menjadi CiDi dan diinput kedalam
tabel PC-2 dan terjadi kompresi data CiDi 56 bit menjadi CiDi 48 bit. Tabel PC-2

Berikut hasil outputnya:


C1D1 = 0000000 0011111 1110000 0011100 0100000 0001101 0110101
0010110 K1 = 111100 001001 001010 100010 010011 110100 111000 010000

C2D2 = 0000000 0111111 1100000 0111000 1000000 0011010 1101010


0101100 K2 = 101100 001001 101000 100010 100000 001001 101001 100010

C3D3 = 0000001 1111111 0000001 1100000 0000000 1101011 0101001


0110010 K3 = 101000 000011 101001 010010 110101 001000 111000 110100

C4D4 = 0000111 1111100 0000111 0000000 0000011 0101101 0100101


1001000 K4 = 001001 000111 011001 010100 000110 010000 111011 011000
C5D5 = 0011111 1110000 0011100 0000000 0001101 0110101 0010110
0100000 K5 = 010001 100101 010101 010000 000110 011111 000000 010001

C6D6 = 1111111 1000000 1110000 0000000 0110101 1010100 1011001


0000000 K6 = 010011 101100 000101 110001 001000 110110 010000 100100

C7D7 = 1111110 0000011 1000000 0000011 1010110 1010010 1100100


0000001 K7 = 100011 111100 000100 001011 101010 000010 100110 000110

C8D8 = 1111000 0001110 0000000 0001111 1011010 1001011 0010000


0000110 K8 = 001010 110000 001110 001011 101001 000100 001010 010111

C9D9 = 1110000 0011100 0000000 0011111 0110101 0010110 0100000


0001101 K9 = 001110 110001 001010 001001 101000 010010 100101 000000

C10D10 = 1000000 1110000 0000000 1111111 1010100 1011001 0000000


0110101 K10 = 000110 010001 100011 001000 011000 001010 001100 010110

C11D11 = 0000011 1000000 0000011 1111110 1010010 1100100 0000001


1010110 K11 = 000100 000110 100011 011100 011101 010000 010010 001110
010101 000101 101000 C12D12 = 0001110 0000000 0001111 1111000
1001011 0010000 0000110 1011010 K12 = 000101 000110 110100 000100
010011 001001 000011 001011

C13D13 = 0111000 0000000 0111111 1100000 0101100 1000000 0011010


1101010 K13 = 010000 100010 110100 100101 000001 101111 000001
101101

C14D14 = 1100000 0000001 1111111 0000001 0110010 0000000 1101011


0101001 K14 = 110010 011010 010000 100101 001000 101001 110111
100000

C15D15 = 0000000 0000111 1111100 0000111 1001000 0000011 0101101


0100101 K15 = 110000 011000 011010 101010 100010 001000 110100
110011

C16D16 = 0000000 0001111 1111000 0001110 0010000 0000110 1011010


1001011 K16 = 111000 001000 001010 101010 101001
Langkah 5 :
Akan mengekspansi data Ri-1 32 bit menjadi Ri 48 bit sebanyak 16 kali putaran

Hasil E(Ri-1) kemudian di XOR kan dengan Ki dan menghasilkan Vektor Matriks Ai .
Berikut hasil outputnya :

Anda mungkin juga menyukai