09-10. Kriptografi Algoritma DES, AES, RSA
09-10. Kriptografi Algoritma DES, AES, RSA
2
3
4
5
6
Permutasi Awal
7
Pembangkitan Kunci Internal
8
9
10
11
12
Proses pembangkitan
kunci-kunci internal
13
Enciphering
Proses enciphering terhadap blok plainteks dilakukan setelah permutasi
awal. Setiap blok plainteks mengalami 16 kali putaran enciphering
Setiap putaran enciphering merupakan jaringan Feistel yang secara
matematis dinyatakan sebagai
14
15
16
17
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
00 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
01 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
10 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
11 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
00 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
01 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
10 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
11 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
00 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
01 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
10 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
11 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
00 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
01 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
18
11 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
00 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
01 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 15
10 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
00 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
01 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
10 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
11 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
00 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
01 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
10 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
11 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
00 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
01 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
10 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
19
11 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
20
21
22
Mode DES
23
Keamanan DES
24
25
26
27
28
29
TUGAS 1
Misalnya ditetapkan teks asli P = (16 hex awal hasil konversi karakter
ascii dari nama anda berhuruf kapital) dan kunci K = (16 hex hasil
konversi desimal dari NIM anda, jika hasilnya kurang dari 16 karakter
hex, diulang sebanyak sampai menghasilkan total 16 karakter) sebagai
masukan untuk algoritma enkripsi DES, tentukan nilai teks sandi yang
dihasilkan (cipher text)?
30
Advanced Encryption
Standard (AES)
Panjang Kunci dan Ukuran Blok Rijndael
• Rijndael mendukung panjang kunci 128 bit sampai 256 bitdengan step
32 bit. Panjang kunci dan ukuran blok dapatdipilih secara independen.
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
TUGAS 2
Dengan menggunakan teknik enkripsi AES-128, enkripsilah:
• Plainteks/State = 16 karakter pertama nama lengkap Anda
• Cipherkey = 16 digit perulangan NIM Anda
*contoh Plainteks, misal Nama: Munir, maka Plainteks anda adalah MunirMunirMunirM, jika ada spasi, maka spasi
juga merupakan bagian dari Plainteks.
**contoh Cipherkey, misal NIM: 100533402580, maka Cipherkey anda adalah 1005334025801005
***Tugas diselesaikan dengan perhitungan manual, boleh dibantu dengan software apapun.
****Kerjakan dan jelaskan hasil dari perhitungan terhadap seluruh tahapan enkripsi AES.
55
KRIPTOGRAFI
ALGORITMA RSA
PENDAHULUAN
Besaran Sifat
p dan q adalah bilangan prima rahasia
m (plainteks) rahasia
Karena e . d = d . e, maka enkripsi diikuti dengan dekripsi ekivalen dengan dekripsi diikuti enkripsi:
sebaiknya p ¹ q, sebab jika p = q maka n = p2 sehingga p dapat diperoleh dengan menarik akar
pangkat dua dari n
Hitung f(n) = (p – 1)(q – 1)
Pilih kunci publik, e, yang relatif prima terhadap f(n).
Bangkitkan kunci privat dengan menggunakan persamaan (5), yaitu:
Contoh Soal:
Misalkan A (Komputer Pengirim) akan membangkitkan kunci publik dan kunci privat miliknya.
A memilih p = 47 dan q = 71 (keduanya prima).
hitung:
n = p . q = 3337
f(n)= (p – 1)(q – 1) = 3220.
Dengan mencoba nilai-nilai k = 1, 2, 3, …, diperoleh nilai d yang bulat adalah 1019. Ini adalah kunci
privat untuk mendekripsi pesan. Kunci ini harus dirahasiakan oleh A.
Sehingga didapatkan:
Kunci publik: (79, 3337)
Kunci privat: (1019, 3337)
ALGORITMA ENKRIPSI/DEKRIPSI
KRIPTOGRAFI RSA
Enkripsi
1. Ambil kunci publik penerima pesan, e, dan modulus n.
2. Nyatakan plainteks m menjadi blok-blok m1, m2, …, sedemikian sehingga setiap blok
merepresentasikan nilai di dalam selang [0, n – 1].
3. Setiap blok mi dienkripsi menjadi blok ci dengan rumus:
ci = mie mod n
Dekripsi
Setiap blok cipherteks ci didekripsi kembali menjadi blok mi dengan rumus:
mi = cid mod n
ALGORITMA ENKRIPSI/DEKRIPSI
KRIPTOGRAFI RSA
Contoh Soal:
Misalkan B mengirim pesan kepada A. Pesan (plainteks) yang akan dikirim oleh A adalah:
m = HARI INI (ada 8 karakteri ASCII) ASCII to DEC = 72 65 82 73 32 73 78 73
B memecah m menjadi blok yang lebih kecil, misalnya m dipecah menjadi enam blok yang
berukuran 3 digit:
m1 = 726 m3 = 733 m5 = 787
m2 = 582 m4 = 273 m6 = 003
Nilai-nilai mi ini masih terletak di dalam selang [0, 3337 – 1] agar transformasi menjadi 1-ke-1.
B mengetahui kunci publik A adalah e = 79 dan n = 3337.
A dapat mengenkripsisikan setiap blok plainteks sebagai berikut:
c1 = 72679 mod 3337 = 215; c3 = 73379 mod 3337 = 1743; c5 = 78779 mod 3337 = 1731;
c2 = 58279 mod 3337 = 776; c4 = 27379 mod 3337 = 933; c6 = 00379 mod 3337 = 158
Jadi, Cipherteks yang dihasilkan adalah c = 215 776 1743 933 1731 158
ALGORITMA ENKRIPSI/DEKRIPSI
KRIPTOGRAFI RSA
Contoh Soal:
Dekripsi dilakukan dengan menggunakan kunci privat d = 1019
Blok-blok cipherteks didekripsikan sebagai berikut:
m1 = 2151019 mod 3337 = 726; m3 = 17431019 mod 3337 = 733; m5 = 1731 1019 mod 3337 = 787;
m2 = 7761019 mod 3337 = 582; m4 = 933 1019 mod 3337 = 273; m6 = 158 1019 mod 3337 = 3
sehingga m = 726 582 733 273 787 3
J A L A N N YA K R I P TO G RA F I RSA PA DA S I S T E M KO M P U T E R
TUGAS 3 (ANALYSIS)
66