PERTEMUAN XIV
MATERI :
ASIMETRIS KEY CONCEPT
RSA Algorithim
(
R
iverst
S
hamir and
A
dleman)
MATERI :
ASIMETRIS KEY CONCEPT
RSA Algorithim
Asimetris dalam kriptografi merupakan salah satu
jenis teknik Kriptografi dilihat dari sisi penggunaan
Kunci.
Kunci Asimetris merupakan penggunaan kunci yang Berbeda pada proses enkripsi maupun dekripsi.
Sehingga dikenal istilah :
KUNCI PUBLIC sifatnya BEBAS diketahui
KUNCI PRIVATE Dirahasiakan oleh Penerima Pesan Digunakan pada proses dekripsi Asimetris dalam kriptografi merupakan salah satu
jenis teknik Kriptografi dilihat dari sisi penggunaan
Kunci.
Kunci Asimetris merupakan penggunaan kunci yang Berbeda pada proses enkripsi maupun dekripsi.
Sehingga dikenal istilah :
KUNCI PUBLIC sifatnya BEBAS diketahui
Apa yang dilakukan oleh PENGIRIM dan PENERIMA ?
Salah satu konsep pengamanan kunci dalam teknik kriptografi adalah Konsep Algoritma Deffie-Hellman
Algoritma Deffie-Hellman, ditemukan oleh
Whitefield Deffie dan Martin Hellman pada tahun 1975.
Algoritma ini lebih berfokus pada pengamanan pertukaran kunci baik disisi pengirim maupun penerima berdasarkan pada proses matematika dasar, aljabar eksponen (perpangkatan) dan aritmatika modulus.
Apa yang dilakukan oleh PENGIRIM dan PENERIMA ?
Salah satu konsep pengamanan kunci dalam teknik kriptografi adalah Konsep Algoritma Deffie-Hellman
Algoritma Deffie-Hellman, ditemukan oleh
Whitefield Deffie dan Martin Hellman pada tahun 1975.
1. Pilih bilangan prima integer yang besar p dan g. Nilai g tidak melebihi dari nilai p. Nilai g biasa disebut bilangan basis atau generator. Kedua bilangan tersebut dapat diketahui secara publik.
2. Pilih sebuah bilangan acak oleh pengirim misalnya x.
Bilangan ini tidak boleh diketahui oleh orang lain (RAHASIA).
3. Pilih sebuah bilangan acak oleh penerima misalnya y.
Bilangan ini tidak boleh diketahui oleh orang lain (RAHASIA).
4. Pengirim menghitung A = gx mod p.
Bilangan A ini dapat diketahui secara publik.
5. Penerima menghitung B = gy mod p.
Bilangan B ini dapat diketahui secara publik.
6. Lakukan pertukaran bilangan A dan B terhadap pengirim dan penerima.
7. Lalu Pengirim menghitung ka = Bx mod p.
8. Penerima menghitung kb = Ay mod p.
9. Berdasarkan hukum aljabar nilai ka sama dengan kb atau bisa disebut ka = kb = k.
Sehingga pengirim dan penerima tersebut mengetahui kunci rahasia tersebut k.
1. Pilih bilangan prima integer yang besar p dan g. Nilai g tidak melebihi dari nilai p. Nilai g biasa disebut bilangan basis atau generator. Kedua bilangan tersebut dapat diketahui secara publik.
2. Pilih sebuah bilangan acak oleh pengirim misalnya x.
Bilangan ini tidak boleh diketahui oleh orang lain (RAHASIA).
3. Pilih sebuah bilangan acak oleh penerima misalnya y.
Bilangan ini tidak boleh diketahui oleh orang lain (RAHASIA).
4. Pengirim menghitung A = gx mod p.
Bilangan A ini dapat diketahui secara publik.
5. Penerima menghitung B = gy mod p.
Bilangan B ini dapat diketahui secara publik.
6. Lakukan pertukaran bilangan A dan B terhadap pengirim dan penerima.
7. Lalu Pengirim menghitung ka = Bx mod p.
8. Penerima menghitung kb = Ay mod p.
9. Berdasarkan hukum aljabar nilai ka sama dengan kb atau bisa disebut ka = kb = k.
Konsep Kerja Algoritma RSA :
(Riverst, Shamir, Adleman at 1976)
m, e
ciphertext
m
1. Menerima kunci public si Penerima pesan (m, e)
2. Memberitahu kunci public kepada Penerima pesan (m, e)
Penyadap
m, e
ciphertext
1. Menerima kunci public si Penerima pesan (m, e)
2. meng-enkripsi plain dengan kunci publik si penerima pesan (m, e), Formula : Ci = Pemod m
Proses Pembentukan Kunci : 1.Modulus
Pilih dua bilangan prima sebagai nilai p dan g. nilai p ≠ g. Tentukan Nilai m = p x g, nilai m adalah nilai modulus RSA
Contoh :
p = 13, g = 17
m = p x g
= 13 x 17 m = 221
2.Tentukan Euler Totient Function dari m ( (m)) (m) = (p-1) (g-1)
(m) = (13 - 1) (17 - 1) (m) = (12) x (16) = 192
Proses Pembentukan Kunci : 1.Modulus
Pilih dua bilangan prima sebagai nilai p dan g. nilai p g. Tentukan Nilai m = p x g, nilai m adalah nilai modulus RSA
Contoh :
p = 13, g = 17
m = p x g
= 13 x 17 m = 221
2.Tentukan Euler Totient Function dari m (φ(m))
φ(m) = (p-1) (g-1)
φ(m) = (13 - 1) (17 - 1)
Proses Pembentukan Kunci :
3. Pembentukan Nilai Kunci Public (e)
Nilai e, HARUS bilangan yang relatif prima dengan
nilai yang lebih kecil dari nilai φ(m), dimana e < φ(m)
Misalnya :
2, 3, 5, 7, 11, 13, 17, 19, 23, 29... < 192 misalnya kita pilih e = 5
sehingga Public Key adalah : (m,e) = (221, 5)
4. Cari nilai d, dengan: de mod (m) 1 mod (m) = (5 x 77) mod 192 1 mod (m)
= 2957 mod 192 1
= 1 1 berarti nilai d = 77 (m, d)
sehingga kunci PRIVATE adalah (m, d) = (221, 77) untuk mencari ni d, dapat menggunakan formula :
d = (1 + (k . (m)) / e, dimana ka adalah nilai integer sembarang
nilai yang digunakan adalah nilai bilangan bulat..!! Proses Pembentukan Kunci :
3. Pembentukan Nilai Kunci Public (e)
Nilai e, HARUS bilangan yang relatif prima dengan
nilai yang lebih kecil dari nilai (m), dimana e < (m)
Misalnya :
2, 3, 5, 7, 11, 13, 17, 19, 23, 29... < 192 misalnya kita pilih e = 5
sehingga Public Key adalah : (m,e) = (221, 5)
4. Cari nilai d, dengan: de mod φ(m) ≅ 1 mod φ(m) = (5 x 77) mod 192 ≅ 1 mod φ(m)
= 2957 mod 192 ≅ 1
= 1 ≅ 1 berarti nilai d = 77 (m, d)
sehingga kunci PRIVATE adalah (m, d) = (221, 77) untuk mencari ni d, dapat menggunakan formula :
d = (1 + (k . φ(m)) / e, dimana ka adalah nilai integer sembarang
Kunci yang telah terbentuk :
Si PENGIRIM dapat menggunakan nilai m dan e untuk meng-ENKRIPSI pesan yang dikirim kepada PENERIMA Public Key = (221,5)
PENERIMA dapat me-DEKRIPSI Cipher dari PENGIRIM
dengan menggunakan nilai m dan d Private Key = (221,77)
PRIVATE
PUBLIC
p
q
φ
(m)
d
m
e
13
17
192
77
221
5
Pengirim : (m,e)
Penerima :
p, q, φ(m), d
Kunci yang telah terbentuk :
Si PENGIRIM dapat menggunakan nilai m dan e untuk meng-ENKRIPSI pesan yang dikirim kepada PENERIMA Public Key = (221,5)
PENERIMA dapat me-DEKRIPSI Cipher dari PENGIRIM
Sebelum melakukan proses enkripsi, maka nilai desimal plain harus dikelompokkan dalam blok-blok yang jumlahnya tidak lebih dari
jumlah digit m-1 (maksimum m-1 digit). Atau dapat juga dilakukan dengan menggunakan formula :
jumlah blok p harus berada pada interval 0 s/d m-1 M = 221, berarti interval blok p adalah 0 s/d 220
Formula untuk ENKRIPSI :
Ci = Pi
emod m
Dimana :Ci = Karakter Ciphertext Pi = Karakter Plaintext
m = Nilai Kunci Publik penerima pesan e = Nilai Kunci Publik penerima pesan
Formula untuk DEKRIPSI:
Pi = Ci
dmod m
Dimana :Pi = Karakter Plaintext Ci = Karakter Ciphertext m = nilai m si Penerima d = nilai d si penerima
Sebelum melakukan proses enkripsi, maka nilai desimal plain harus dikelompokkan dalam blok-blok yang jumlahnya tidak lebih dari
jumlah digit m-1 (maksimum m-1 digit). Atau dapat juga dilakukan dengan menggunakan formula :
jumlah blok p harus berada pada interval 0 s/d m-1 M = 221, berarti interval blok p adalah 0 s/d 220
Formula untuk ENKRIPSI :
Ci = Pi
emod m
Dimana :Ci = Karakter Ciphertext Pi = Karakter Plaintext
m = Nilai Kunci Publik penerima pesan e = Nilai Kunci Publik penerima pesan
Formula untuk DEKRIPSI:
Pi = Ci
dmod m
Dimana :Pi = Karakter Plaintext Ci = Karakter Ciphertext m = nilai m si Penerima d = nilai d si penerima
CONTOH :
Ingat...Proses ENKRIPSI dilakukan oleh Pengirim menggunakan kunci Public
Penerima (n,e) = (221, 5)
Bagi Blok Pesan menjadi blok-blok kecil, nilai desimalnya < nilai m-1
CONTOH :
Plaintext ini di-ENKRIPSI oleh Pengirim menggunakan kunci Public Penerima (m,e) = (221, 5)
Plaintext ASCII ^ e Mod m Hasil
P1 = B 66 1252332576 221 53
P2 = U 85 4437053125 221 102
P3 = D 68 1453933568 221 204
P4 = I 73 2073071593 221 99
P5 = D 68 1453933568 221 204
P6 = A 65 1160290625 221 182
FORMULA ENRKRIPSI :
Ci = Pi
eMod m
P6 = A 65 1160290625 221 182
P7 = R 82 3707398432 221 114
P8 = M 77 2706784157 221 25
P9 = A 65 1160290625 221 182
P10 = _ 95 7737809375 221 23
P11 = 1 49 282475249 221 121
P12 = 6 54 459165024 221 175
FORMULA ENRKRIPSI :
Ci = Pi
eMod m
Dec Cipher 53 102 204 99 204 182 114 25 182 23 121 175
Proses ini dilakukan oleh si Penerima dengan menggunakan kunci private-nya (Private Key).
Ingat...
Bahwa pada proses pembangkitan kunci, si Penerima pesan telah membangkitkan kunci publiknya adalah (221, 5) ini telah dikirim kepada pengirim pesan
Sedangkan Private Key (Kunci Rahasianya) masih disimpan, yaitu 221, 77) dan ini yang digunakan untuk me-dekripsi pesan yang telah terenkripsi
dari si pengirim pesan (dimana sebelumnya
penerima pesan telah membagikan kunci publik nya kepada si pengirim).
Proses ini dilakukan oleh si Penerima dengan menggunakan kunci private-nya (Private Key).
Ingat...
Bahwa pada proses pembangkitan kunci, si Penerima pesan telah membangkitkan kunci publiknya adalah (221, 5) ini telah dikirim kepada pengirim pesan
Sedangkan Private Key (Kunci Rahasianya) masih disimpan, yaitu 221, 77) dan ini yang digunakan untuk me-dekripsi pesan yang telah terenkripsi
dari si pengirim pesan (dimana sebelumnya
Proses Dekripsi dilakukan oleh Penerima Pesan dengan menggunakan Kunci Private-nya (m,d) = (221, 77)
FORMULA DEKRIPSI :
Pi = Ci
dMod m
Char Cipher 5 f Ì c Ì ¶ r ¶ y ¯
Dec Cipher 53 102 204 99 204 182 114 25 182 23 121 175
Char ASCII ^ d Mod m Hasil Char Plain 5 53 77 221 66 B f 102 77 221 85 U Ì 204 77 221 68 D
FORMULA DEKRIPSI :