Anda di halaman 1dari 19

YANADA SARI BR SITUMORANG – 11S18015

W02-Data Encryption Standard


Nama : Yanada Sari Br Situmorang
NIM : 11S18015
Mata Kuliah : Kriptografi dan Keamanan Informasi

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.

4. Data Encryption Standard (DES)


▪ Salah satu block cipher
▪ Dikembangkan di IBM tahun 1972
▪ Berdasarkan algoritma Lucifer yang dibuat Horst Feistel
▪ Disetujui National Bureau of Standard (NBS) setelah penilaian kekuatannya oleh
National Security Agency (NSA) Amerika Serikat
▪ DES ialah standard, sedangkan algoritmanya ialah DEA (Data Encryption Algorithm).
▪ DES termasuk dalam algoritma kriptografi kunci simetri (menggunakan kunci yang
sama dalam enkripsi dan dekripsi) dan tergolong jenis cipher blok
▪ DES beroperasi pada ukuran blok 64 bit
▪ Panjang kunci eksternal = 64 bit (sesuai ukuran blok), tetapi hanya 56 bit yang dipakai
(8 bit paritas tidak digunakan (berkelipatan 8 dibuang))
▪ Setiap blok plainteks dienkripsi dalam 16 putaran enciphering
▪ Setiap putaran menggunakan kunci internal berbeda

3|Page
YANADA SARI BR SITUMORANG – 11S18015

▪ Kunci internal dibangkitkan dari kunci eksternal


▪ Setiap blok mengalami permutasi awal (IP), 16 putaran enciphering, dan inversi
permutasi awal (IP - 1)
▪ Pada gambar dibawah dapat dilihat bahwa terdapat blok plainteks yang dienkripsi
dalam 16 putaran. Kemudian blok plainteks tersebut akan dilakukan permutasi awal
dengan matriks, dan hasilnya akan di enchipering sebanyak 16 kali, dengan kunci
internal yang berbeda, hasilnya akan dipermutasi lagi, dengan matriks permutasi
balikan (inverse) inisial. Hasilnya akan menghasilkan blok cipherteks.

▪ 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

5. Pembangkitan Kunci Internal


▪ Kunci internal = Kunci setiap putaran
▪ Ada 16 putaran, jadi ada 16 kunci internal: k1, k2, …, k16
▪ Dibangkitkan dari kunci eksternal (64 bit) yang diberikan pengguna

▪ 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

kiri), kemudian, akan menghasilkan C1 dan D1. Selanjutnya dilakukan permutasi


dengan PC-2 dengan K1 yang mana menghasilkan 48bit. Hal ini dilakukan sampai
dengan putaran ke 16
▪ Terdapat kunci eksternal yang panjangnya 64bit, yang akan disesuaikan menjadi
panjangnya 58 bit.

▪ 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.

Jadi, Ki merupakan penggabungan bit-bit Ci pada posisi:


14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10
23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2
Dengan bit bit di pada posisi:
41, 52, 31, 47, 55, 30, 40, 51, 45, 33, 48
44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29,32

Setiap kunci internal Ki mempunyai panjang 48 bit.

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

▪ Selanjutnya fungsi f akan mengerjakan tabel ekspansi. Nilai Ri dibawah merupakan


nilai ekspansi ysng menghasilkan 48 bit. Hasil 48bit tersebut akan di XOR dengan
kunci K, dan menghasilkan E(Ri-1).

▪ 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

▪ Kotak S menerima masukan 6 bit dan memberi keluaran 4 bit

▪ Luaran proses substitusi adalah blok B dengan panjang 32 bit.


▪ Blok b menjadi masukan proses permutasi
▪ Tujuan permutasi ialah untuk mengacak hasil proses substitusi kotak S

9|Page
YANADA SARI BR SITUMORANG – 11S18015

▪ Permutasi dilakukan dengan menggunakan matriks permutasi P (P-box)

▪ 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))

7. Inversi Permutasi (IP-1)


▪ Permutasi terakhir yang dilakukan setelah 16 kali putaran terhadap gabungan blok kiri dan
kanan

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

Contoh Pengerjaan DES

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

Pembangkitan Kunci Internal

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

▪ 𝐶13 = 100 1010101011111111000011001


𝐷13 = 110 0111110011110101010101100
▪ 𝐶14 = 00 10101010111111110000110011
𝐷14 = 10 01111100111101010101011001
▪ 𝐶15 = 00 10101010111111110000110011
𝐷15 = 10 01111100111101010101011001
▪ 𝐶16 = 0 101010101111111100001100110
𝐷16 = 0 011111001111010101010110011

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

▪ 𝐶4 = 0000110(7) 0110010(14) 1010101(21) 1111111(28)


𝐷4 = 0101011(35) 0011001(42) 1111001(49) 1110101(56)
K4 = 010101 011111 110010 001010
010000 101100 111110 111001
▪ 𝐶5 = 0001100(7) 1100101(14) 0101011(21) 1111110(28)
𝐷5 = 1010110(35) 0110011(42) 1110011(49) 1101010(56)
K5 = 110101 000010 101111 001100
101101 001111 110001 011010
▪ 𝐶6 = 0011001(7) 1001010(14) 1010111(21) 1111100(28)
𝐷6 = 0101100(35) 1100111(42) 110011(49) 11010101(56)
K6 = 011100 001010 110111 010110
100110 111011 110101 011101
▪ 𝐶7 = 0110011(7) 0010101(14) 0101111(21) 1111000(28)
𝐷7 = 1011001(35) 1001111(42) 1001111(49) 0101010(56)
K7 = 100100 100111 111000 110101
101011 011001 011001 110111
▪ 𝐶8 = 1100110(7) 0101010(14) 1011111(21) 1110000(28)
𝐷8 = 0110011(35) 0011111(42) 0011110(49) 1010101(56)
K8 = 011111 101110 110000 000111
111010 110101 001110 111000
▪ 𝐶9 = 1001100(7) 1010101(14) 0111111(21) 1100001(28)
𝐷9 = 1100110(35) 0111110(42) 0111101(49) 0101010(56)
K9 = 110011 010011 111101 100100
100111 111110 111011 100010
▪ 𝐶10 = 0011001(7) 0101010(14) 1111111(21) 1000011(28)
𝐷10 = 1001100(35) 1111100(42) 1111010(49) 1010101(56)
K10 = 011000 011010 010100 111110
010100 010111 101100 101111
▪ 𝐶11 = 0110010(7) 1010101(14) 1111111(21) 0000110(28)
𝐷11 = 0011001(35) 1111001(42) 1110101(49) 0101011(56)
K11 = 110000 101111 011011 101101
001111 001100 111101 010101

14 | P a g e
YANADA SARI BR SITUMORANG – 11S18015

▪ 𝐶12 = 1100101(7) 0101011(14) 1111110(21) 0001100(28)


𝐷12 = 0110011(35) 1110011(42) 1101010(49) 1010110(56)
K12 = 111011 101000 010010 110111
111101 100001 100010 111100
▪ 𝐶13 = 1001010(7) 1010111(14) 1111100(21) 0011001(28)
𝐷13 = 1100111(35) 1100111(42) 1010101(49) 0101100(56)
K13 = 110110 011101 011101 100010
100110 111110 010011 010110
▪ 𝐶14 = 0010101(7) 0101111(14) 1111000(21) 0110011(28)
𝐷14 = 1001111(35) 1001111(42) 0101010(49) 1011001(56)
K14 = 111101 011000 101000 111010
110000 010011 101111 111111
▪ 𝐶15 = 0010101(7) 0101111(14) 1111000(21) 0110011(28)
𝐷15 = 1001111(35) 1001111(42) 0101010(49) 1011001(56)
K15 = 111101 011000 101000 111010
110000 010011 101111 111111
▪ 𝐶16 = 0101010(7) 1011111(14) 1110000(21) 1100110(28)
𝐷16 = 0011111(35) 0011110(42) 1010101(49) 0110011(56)
K16 = 111000 101101 101111 101011
111011 011111 011110 000001

Enciphering Plainteks: 43 4F 4D 50 55 54 45 52 Blok plainteks dipermutasi dengan matriks


awal (initial permutation atau IP). Bisa ditulis 𝑥0 = 𝐼𝑃 𝑥 = 𝐿0𝑅0, di mana 𝐿0 terdiri dari 32bit
pertama dari 𝑥0 dan 𝑅0 terdiri dari 32bit terakhir

Xo = 01000011(8) 01001111(16) 01001101(24) 01010000(32)


01010101(40) 01010100(48) 01000101(56) 01010010(64)

15 | P a g e
YANADA SARI BR SITUMORANG – 11S18015

Kemudian dicek dari tabel diatas, dan, telah dipecah menjadi:


𝐿0 = 11111111 10111000 01110110 01010111 (32 bit)
𝑅0 = 00000000 00000000 00000110 10000011 (32bit)
Selanjutnya akan dilakukan ekspansi seperti berikut:
𝑅0 = 00000000(8) 00000000(16) 00000110(24) 10000011(32)
E(R0) = 100000 000000 000000 000000 000000 001101 010000 000110

Nilai ekspansi merupakan perpaduan dari nilai R0 dan nilai K.


E(𝑅0) = 100000 000000 000000 000000 000000 001101 010000 000110
𝐾1 = 000110 110000 001011 101111 111111 000111 000001 110010 ⊕
E(𝑅1) K1 = 100110 110000 001011 101111 111111 001010 010001 110100

Kemudian akan dibagi menjadi 8 blok


𝑆1 = 100110
𝑆2 = 110000
𝑆3 = 001011
𝑆4 = 101111
𝑆5 = 111111
𝑆6 = 001010
𝑆7 = 010001
𝑆8 = 110100

Selanjutnya lakukan substitusi dengan kotak S, seperti berikut:


▪ Untuk menentukan baris, maka ambil 1digit awal dan 1digit akhir dari S. Sedangkan
untuk menentukan kolom, maka ambil dari digit 2 sampai digit 5 dari S.
- 𝑆1 = 100110
Baris: 10 = 2
Kolom: 0011 = 3
Keluaran 𝑆1 = 8 = 1000

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

Selanjutnya, dilakukan permutasi blok B (P-Box)

Permutasi dilakukan dengan menggunakan matriks permutasi P. P(B) merupakan luaran dari
fungsi f.

B1 = 1000(4) 0101(8) 0100(12) 1000(16) 0011(20) 0010(24) 1110(28) 1010(32)

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.

Selanjutnya akan dilakukan invers permutasi (IP-1)

Permutasi terakhir dilakukan setelah 16 kali putaran terhadap gabungan blok kiri dan blok
kanan. (𝐿16=𝑅15 dengan 𝑅16)

𝑅16 = 0001 1111 1001 0111 1010 0101 1110 0110


𝐿16 = 𝑅15 = 01101110 10100010 10101000 10110001
𝑅16 = 𝐿16 = 00011111 10010111 10100101 11100110
01101110 10100010 10101000 10110001
𝑅16 = 𝐿16 = 00011111 (8) 10010111 (16) 10100101(24) 11100110 (32)
01101110 (40) 10100010 (48) 10101000 (56) 10110001 (64)

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

Anda mungkin juga menyukai