0% menganggap dokumen ini bermanfaat (0 suara)
292 tayangan6 halaman

Desain Kriptografi Simetris DES

1. Algoritma kriptografi simetris yang dimodifikasi dari DES dengan panjang plaintext dan ciphertext 16 bit, cipherkey 14 bit, dan jumlah round 2. 2. Untuk plaintext 0xA08B (1010000010001011) didapat ciphertext 0x5FEB setelah melalui inisial permutasi, dua round proses feistel, dan final permutasi.

Diunggah oleh

Faridatun Ni'mah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
292 tayangan6 halaman

Desain Kriptografi Simetris DES

1. Algoritma kriptografi simetris yang dimodifikasi dari DES dengan panjang plaintext dan ciphertext 16 bit, cipherkey 14 bit, dan jumlah round 2. 2. Untuk plaintext 0xA08B (1010000010001011) didapat ciphertext 0x5FEB setelah melalui inisial permutasi, dua round proses feistel, dan final permutasi.

Diunggah oleh

Faridatun Ni'mah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Tugas Keamanan Jaringan

Gambar di bawah adalah sebuah disain algoritma kriptografi simetris yang dimodifikasi dari Data
Encryption Standard (DES) dengan spesifikasi: Plaintext panjangnya 16 bit, Ciphertext 16 bit, Cipher
key 14 bit, dan jumlah Round adalah 2, dimana panjang key Ki setiap Round adalah 12 bit.

PERTANYAAN: Susunlah tabel Initial Permutation, Final Permutation, blok diagram yang
membentuk Round-key Generator beserta isi tabel dari blok di dalamnya seperti Expansion P-Box,
Compression P-Box, S-Box, Straight P-Box, dan Fungsi Fiestel. Setelah itu tes disain Anda dengan input
berupa Plaintext 0xA08B, apa Ciphertext yang dihasilkan ?

DIKETAHUI:
Panjang plaintext = 16 bit Jumlah Round = 2, Panjang key Ki setiap
Panjang ciphertext = 16 bit Round = 12 bit
Panjang cipherkey = 14 bit

PERTANYAAN:
1. Susunlah tabel Initial Permutation, Final Permutation, blok diagram yang membentuk Round-
key Generator beserta isi tabel dari blok di dalamnya seperti Expansion P-Box, Compression P-
Box, S-Box, Straight P-Box, dan Fungsi Fiestel.
2. Tes disain tersebut dengan input berupa Plaintext 0xA08B, apa Ciphertext yang dihasilkan ?

JAWABAN:
Desain Data Encryption Standard (DES)
Tabel 1. Initial dan Final Permutation
Initial Permutation Final Permutation
5 10 12 14 6 15 16 10
15 1 6 8 1 7 14 8
11 4 13 9 12 2 9 3
16 7 2 3 11 4 5 13
Cat. Untuk posisi bit ke-1 adalah bit ke-5,
Untuk posisi bit ke-5 adalah bit ke-15
Expansion P-box

Tabel 2. Expansion P-Box


8 1 2 3 4 5 Cat. Untuk posisi bit ke-1 adalah bit ke-8,
4 5 6 7 8 1 Untuk posisi bit ke-7 adalah bit ke-4

S-box

Tabel 3. S-box
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 04 13 01 02 15 11 08 01 10 06 12 05 09 00 07
1 00 15 07 04 14 02 13 10 03 06 12 11 09 05 03 08
2 04 01 14 08 13 06 02 11 15 12 09 07 03 10 05 00
3 15 12 08 02 04 09 01 07 05 11 03 14 10 00 06 13

Tabel 4. Straight Pemutation Box


1 2 3 4 5 6 7 8 Cat. Untuk posisi bit ke-1
2 3 7 5 6 8 4 1 adalah bit ke-2
Key Generation

Tabel 5. Parity Bit Table 64 => 14


64 29 33 39 01 09 17
05 23 28 54 58 07 19

Tabel 6. Compression P-Box 14 => 12


10 14 13 8 7 6 2
3 1 11 9 4

Plaintext = 0xA08B
Ciphertext ??

Langkah 1. Convert hexa to binary Tabel 7. Tabel Initial Permutation


0xA08B = 0x1010000010001011 (16 bit)

Langkah 2. Initial Permutation


1010000010001011 =>
0000 1100 0011 1001

Langkah 3. Bedah Round 1


0000 1100 0011 1001

Li+1 = Ri ; i=0
L1 = R0
L2 = R1

R1 = L0 + f (R0, K1 )
R2 = L1 + f (R1, K2 )

Cat. : Untuk melanjutkan perhitungan round diperlukan nilai K,


sehingga lebih dahulu dilakukan perhitungan K di Round Key
Generation

Langkah 4. Round-Key Generator


Key = 00A0B0C0D0E3456F (64 bits)
Key = 0000 0000 1010 0000 1011 0000 1100
000032
1101 0000 1110 0011 0100 0101 0110
111164
Tabel 8. Tabel Parity Bit

Cipher Key = 10 1101 1000 1101(14 bits)


Kanan(7 bits) = 0001101 => Shift left(1) = 0011010
Kiri(7 bits) = 1011011 => Shift left(1) = 0110111
Compression P-box

Hasil Shift = 0110 1110 0110 10


Hasil Compression = 1010 1111 0100 (Round Key 1)

Kanan(7 bits) = 0011010 => Shift left(1) = 0110100


Kiri(7 bits) = 0110111 => Shift left(1) = 1101110
Hasil Shift = Kiri + Kanan = 1101 1100 1101 00
Hasil Compression = 1000 0110 1011 (Round Key 2)

Langkah 5. Feistel Cipher f (R0, K1 )

Expansion P-box
R0 = 0011 1001
Tabel 9. Tabel Expansion P-box
8 1 2 3 4 5
4 5 6 7 8 1

Rexp = 1001 1111 0010


K1 = 1010 1111 0100 +
Input S-Boxes = 0011 0000 0110

S-Boxes
Input = 001100 000110
Tabel 10. Tabel S-box
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 04 13 01 02 15 11 08 01 10 06 12 05 09 00 07
1 00 15 07 04 14 02 13 10 03 06 12 11 09 05 03 08
2 04 01 14 08 13 06 02 11 15 12 09 07 03 10 05 00
3 15 12 08 02 04 09 01 07 05 11 03 14 10 00 06 13
001100 => Pada baris 00 (biner) atau 0 (desimal) dan pada kolom 0110 (biner) atau 5
(desimal) Sehingga output berdasarkan tabel adalah 15 (desimal) atau 1111 (biner).
000110 => Pada baris 00 (biner) atau 0 (desimal) dan pada kolom 0011 (biner) atau 3
(desimal) Sehingga output berdasarkan tabel adalah 01 (desimal) atau 0001 (biner).

Output S-Boxes = 1111 0001

Straight P-box
Input Straight P-Box = 1111 0001
Tabel 11. Tabel Straight P-box
1 2 3 4 5 6 7 8 Cat. Untuk posisi bit ke-1
2 3 7 5 6 8 4 1 adalah bit ke-2
Output Straight P-Box = 1100 0111
Sehingga f (R0, K1 ) = 1100 0111
Langkah 6. Kembali ke Round 1
0000 1100 0011 1001
Li+1 = Ri ; i=0
L1 = R0
L2 = R1

R1 = L0 + f (R0, K1 )
R2 = L1 + f (R1, K2 )

L1 = R0 = 0011 1001
R1 = L0 + f (R0, K1 )
= 0000 1100 + 1100 0111
= 1100 1011
Output Round 1 = L1 + R1 = 0011 1001 1100 1011

Langkah 7. Bedah Round 2


0011 1001 1100 1011
Li+1 = Ri ; i=1
L2 = R1
R2 = L1 + f (R1, K2 )

Feistel Cipher f (R1, K2 )

Expansion P-box
R1 = 1100 1011
8 1 2 3 4 5
4 5 6 7 8 1

Rexp2 = 1110 0101 0111


K2 = 1000 0110 1011 +
Input S-Boxes = 0110 0011 1100

S-Boxes
Input = 011000 111100
Tabel 12. Tabel S-box
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 04 13 01 02 15 11 08 01 10 06 12 05 09 00 07
1 00 15 07 04 14 02 13 10 03 06 12 11 09 05 03 08
2 04 01 14 08 13 06 02 11 15 12 09 07 03 10 05 00
3 15 12 08 02 04 09 01 07 05 11 03 14 10 00 06 13
011000 => Pada baris 00 (biner) atau 0 (desimal) dan pada kolom 1100 (biner) atau 12
(desimal) Sehingga output berdasarkan tabel adalah 05 (desimal) atau 0101 (biner).
111100 => Pada baris 10 (biner) atau 2 (desimal) dan pada kolom 1110 (biner) atau 14
(desimal) Sehingga output berdasarkan tabel adalah 05 (desimal) atau 0101 (biner).

Output S-Boxes = 0101 0101

Straight P-box
Input Straight P-Box = 0101 0101
Tabel 13. Tabel Straight P-box
1 2 3 4 5 6 7 8 Cat. Untuk posisi bit ke-1
2 3 7 5 6 8 4 1 adalah bit ke-2
Output Straight P-Box =
Sehingga f (R0, K1 ) = 1100 0111
L2 = R1 = 1100 1011
R2 = L1 + f (R1, K2 )
= 0011 1001 + 1100 0111
= 1111 1110
Output Round 2 = L2 + R2 = 1100 1011 1111 1110

Langkah 8. Final Permutation

Input Final Permutation = 1100 1011 1111 1110

Tabel 14. Tabel Final Permutation

Output Final Permutation = 0101 1111 1110 1011

Langkah 9. Convert Final Permutation (biner) ke hexadecimal


0111 1111 0110 0010 => 5FEB

Plaintext = 0xA08B, Ciphertext yang dihasilkan adalah 0x5FEB

Anda mungkin juga menyukai