1. Pendahuluan
▪ Kriptografi modern beroperasi dalam mode bit atau byte
→Kunci, plainteks, cipherteks, diproses dalam rangkaian bit/byte
▪ Tetap menggunakan teknik pada algoritma klasik: substitusi dan transposisi, tetapi
lebih kompleks (Agar sangat sulit di kriptanalisis)
▪ Perkembangan algoritma kriptografi modern didorong oleh penggunaan komputer
digital untuk keamanan pesan.
▪ Komputer digital merepresentasikan data dalam biner.
▪ Kategori cipher berbasis Bit
a. Cipher Alir (Stream Cipher)
- Beroperasi pada bit tunggal
- Enkripsi / dekripsi bit per bit
b. Cipher Blok (Block Cipher)
- Beroperasi pada blok bit
- Contoh = 64 bit / blok = 8 karakter / blok
- Enkripsi / dekripsi blok per blok
2. Cipher Alir
▪ Mengekripsi plainteks menjadi cipherteks setiap bit per bit
▪ Diperkenalkan oleh Vernam melalui algoritmanya, Vernam Cipher
▪ Vernam Cipher diadopsi dari one time pad cipher, yang dalam hal ini karakter diganti
bit (0 atau 1)
▪ Dinamakan cipher alir, misal seperti gambar dibawah, ada plainteks bit per bit, dan ada
cipher key, dan dalam bentuk seperti alir, dan menghasilkan cipherteks.
1|Page
YANADA SARI BR SITUMORANG – 11S18015
3. Cipher Blok
▪ Bit bit plainteks dibagi menjadi blok bit dengan panjang sama misalnya 64 bit
▪ Panjang blok cipherteks = panjang blok plainteks
▪ Enkripsi dilakukan terhadap blok plainteks dengan bit bit kunci
▪ Panjang kunci eksternal tidak harus sama dengan panjang blok plainteks
Pada gambar diatas dapat dilihat bahwa plainteks masuk ke dalam blok, kemudian akan
dienkripsi dengan kunci K, dan menghasilkan blok cipherteks. Sedangkan chiperteks
2|Page
YANADA SARI BR SITUMORANG – 11S18015
masuk dalam blok, kemudian akan di dekripsi dengan kunci K, sehingga menghasilkan
blok plainteks.
Berbeda dengan cipher alir, cipher blok menghasilkan dalam bentuk blok per blok,
sedangkan cipher alir bit per bit.
3|Page
YANADA SARI BR SITUMORANG – 11S18015
▪ Dalam melakukan proses enkripsi dengan DES, maka dapat dilihat pada gambar di
bawah ini, yang mana terdapat 2 bagian, yaitu bagian kiri dan kanan. Hasil dari
permutasi akan dipecah menjadi 2 bagian. Masing-masing bagian memiliki panjang 32
bit, dikarenakan perpecahan 64 bit. Kemudian, kedua bagian ini akan masuk ke 16
putaran. Pada putaran i, blok R, merupakan masukan untuk transformasi fungsi f, pada
fungsi f dikombinasikan dengan kunci pertama k1, keluaran fungsi f akan di XOR
dengan fungsi l yang berfungsi untuk menghasilkan fungsi R baru, sedangkan blok l
yang baru diambil dari blok r sebelumnya. Dan, untuk blok r selanjutnya merupakan
hasil dari fungsi l di XOR dengan fungsi f tadi. Begitu selanjutnya sampai putaran ke
16.
4|Page
YANADA SARI BR SITUMORANG – 11S18015
▪ Pada gambar diatas dapat dilihat bahwa terdapat kunci eksternal 64 bit, dan dilakukan
permutasi PC 1 sehingga menghasilkan 56 bit, dan akan dipecah menjadi 2 dengan
masing-masing 28 bit (C0 dan D0). Kemudian akan dilakukan left shift (bergeser ke
5|Page
YANADA SARI BR SITUMORANG – 11S18015
▪ Pada gambar dibawah dapat dilihat bahwa, left shift nya disesuaikan dengan tabel yang
ada. Misal, untuk putaran ke 1 dilakukan left shift sebanyak 1 kali, untuk putaran 2
dilakukan left shift sebanyak 1 kali, untuk putaran 3 dilakukan left shift sebanyak 2 kali,
begitu seterusnya.
6|Page
YANADA SARI BR SITUMORANG – 11S18015
▪ Setelah dilakukan leftshift, maka akan diperoleh bit baru, yaitu C1 dan D1, dan akan
dipermutasi lagi dengan PC2, dan disesuaikan dengan tabel matriks PC2.
6. Permutasi Awal
▪ Untuk mengacak plainteks sehingga urutan bit didalamnya berubah.
▪ Matriks Permutasi awal (IP):
▪ Selanjutnya akan di enciphering menggunakan jaringan Feister, yang dibagi 2 Left dan
Right, dimana bagian right akan masuk pada fungsi pertama, dan akan dilakukan XOR
terhadap nilai Li. Nilai XOR tersebut akan menjadi nilai R, dan nilai L baru menjadi
nilai R yang lama. Dapat dilihat pada gambar berikut ini:
7|Page
YANADA SARI BR SITUMORANG – 11S18015
▪ Diperoleh hasil ekpansi, yaitu E(Ri-1) di XOR kan dengan Ki menghasilkan blok A 48
bit :
8|Page
YANADA SARI BR SITUMORANG – 11S18015
E(Ri-1) ⊕ k i = A
▪ Blok A dikelompokkan menjadi 8 kelompok, masing masing 6 bit dan menjadi
masukan bagi proses substitusi.
▪ Ada 8 matriks substitusi, masing masing dinyatakan dengan kotak S
9|Page
YANADA SARI BR SITUMORANG – 11S18015
▪ Hasil dari P-box akan di XOR kan dengan Li-1 menghasilkan Ri : Ri = Li-1⊕ P(B)
▪ Jadi, luaran putaran ke i ialah : (Li, Ri) = (Ri-1, Li-1 ⊕ P(B))
8. Dekripsi
▪ Dekripsi terhadap cipherteks merupakan kebalikan proses enkripsi.
▪ DES menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi
▪ Pada proses dekripsi urutan kunci yang digunakan ialah K16, K15, …, K1.
▪ Untuk tiap putaran 16, 15, …, 1, luaran pada setiap putaran deciphering adalah :
Ri-1 = Li
Li-1 = Ri ⊕ f(Ri-1, Ki) = Ri ⊕ f(Li, Ki)
10 | P a g e
YANADA SARI BR SITUMORANG – 11S18015
Bilangan biner di tabel merupakan hasil dari hexadecimal. Sehingga perlu diubah plainteks ke
hexadecimal dan ke biner dengan panjang 8 bit.
▪ Plainteks heksa:
43 4F 4D 50 55 54 45 52
▪ Plainteks biner:
Xo = 01000011 01001111 01001101 01010000 01010101 01010100 01000101
01010010
▪ Misalkan kunci heksa:
13 34 57 79 9B BC DF F1
▪ Kunci biner:
K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111
11110001
11 | P a g e
YANADA SARI BR SITUMORANG – 11S18015
Dalam pembangkitan kunci internal, maka akan dipecah menjadi dua, C0 menjadi 28 bit, dan
D0 menjadi 28 bit. Dilakukan permutasi dan menghasilkan 56 bit, yang diperoleh dari
penghilangan bit kelipatan 8. Kemudian, dilakukan left shift.
▪ 𝐶0 = 11110000110011 00101010101111
𝐷0 = 01010101011001 10011111001111
▪ 𝐶1 = 11100001100110 01010101011111
𝐷1 = 10101010110011 00111110011110
▪ 𝐶2 = 11000011001100 10101010111111
𝐷2 = 01010101100110 01111100111101
▪ 𝐶3 = 1000011001100 101010101111111
𝐷3 = 1010101100110 011111001111010
▪ 𝐶4 = 000011001100 1010101011111111
𝐷4 = 010101100110 0111110011110101
▪ 𝐶5 = 00011001100 10101010111111110
𝐷5 = 10101100110 01111100111101010
▪ 𝐶6 = 0011001100 101010101111111100
𝐷6 = 0101100110 011111001111010101
▪ 𝐶7 = 011001100 1010101011111111000
𝐷7 = 101100110 0111110011110101010
▪ 𝐶8 = 11001100 10101010111111110000
𝐷8 = 01100110 01111100111101010101
▪ 𝐶9 = 1001100 101010101111111100001
𝐷9 = 1100110 011111001111010101010
▪ 𝐶10 = 001100 1010101011111111000011
𝐷10 = 100110 0111110011110101010101
▪ 𝐶11 = 01100 10101010111111110000110
𝐷11 = 00110 01111100111101010101011
▪ 𝐶12 = 1100 101010101111111100001100
𝐷12 = 0110 011111001111010101010110
12 | P a g e
YANADA SARI BR SITUMORANG – 11S18015
Nilai diatas akan menjadi masukan dan akan dilakuan permutasi untuk PC2.
▪ 𝐶1 = 1110000 (7) 1100110(14) 0101010(21) 1011111(28)
𝐷1 = 1010101(35) 0110011(42) 0011111(49) 0011110(56)
K1 = 000110 110000 001011 101111
111111 000111 000001 110010
K1 nya memiliki panjang 48 bit.
▪ 𝐶2 = 1100001(7) 1001100(14) 1010101(21) 0111111(28)
𝐷2 = 0101010(35) 1100110(42) 0111110(49) 0111101(56)
K2 = 011110 110000 001011 011001
110110 111101 100111 100101
▪ 𝐶3 = 1000011(7) 0011001(14) 0101010(21) 1111111(28)
𝐷3 = 1010101(35) 1001100(42) 1111100(49) 1111010(56)
K3 = 101110 010101 100010 111100
011011 011110 101001 101110
13 | P a g e
YANADA SARI BR SITUMORANG – 11S18015
14 | P a g e
YANADA SARI BR SITUMORANG – 11S18015
15 | P a g e
YANADA SARI BR SITUMORANG – 11S18015
16 | P a g e
YANADA SARI BR SITUMORANG – 11S18015
- 𝑆2 = 110000
Baris: 10 = 2
Kolom: 1000= 8
Keluaran 𝑆2 = 5 = 0101
- 𝑆3 = 001011
Baris: 01 = 1
Kolom: 0101 = 5
Keluaran 𝑆3 = 4 = 0100
- 𝑆4 = 101111
Baris: 11 = 3
Kolom: 0111= 7
Keluaran 𝑆4 = 8 = 1000
- 𝑆5 = 111111
Baris: 11 = 3
Kolom: 1111= F / 15
- 𝑆6 = 001010
Baris: 00 = 0
Kolom: 0101= 5
Keluaran 𝑆6 = 2 = 0010
- 𝑆7 = 010001
Baris: 01 = 1
Kolom: 1000= 8
17 | P a g e
YANADA SARI BR SITUMORANG – 11S18015
- 𝑆8 = 110100
Baris: 10 = 2
Kolom: 1010 = A / 12
- Keluaran dari kotak S (block 𝐵1) = 1000 0101 0100 1000 0011 0010 1110 1010
Permutasi dilakukan dengan menggunakan matriks permutasi P. P(B) merupakan luaran dari
fungsi f.
Iterasi 1:
P(B1) = 00101000 10110011 01000100 11010001
L0 = 11111111 10111000 01110110 01010111 ⊕
R1 = 11010111 00001011 00110010 10000110
Lakukan ekspansi kembali pada 𝑹𝟏 untuk menghasilkan iterasi ke-2.
Lakukan sampai dengan iterasi ke-16.
Permutasi terakhir dilakukan setelah 16 kali putaran terhadap gabungan blok kiri dan blok
kanan. (𝐿16=𝑅15 dengan 𝑅16)
18 | P a g e
YANADA SARI BR SITUMORANG – 11S18015
CIPHERTEKS =
01010110 11110001 11010101 11001000 01010010 10101111 10000001
00111111
HEXA = 56 F1 D5 C8 52 AF 81 37
ASCII: VñÕÈR¯¬?
19 | P a g e