Contoh Manual Algoritma R S A

PERTEMUAN XIV

MATERI :
ASIMETRIS KEY CONCEPT
RSA Algorithim
(Riverst Shamir and Adleman)
Mata Kuliah Kriptografi
Taroni Zebua, M.Kom

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

Taroni
Taroni

Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016

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.
Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan

Medan
TA.
TA.
2016
2016

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.
Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016


Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016

Konsep Kerja Algoritma RSA :
(Riverst, Shamir, Adleman at 1976)


1. Menerima kunci public si
Penerima pesan (m, e)
2.

meng-enkripsi plain dengan kunci
publik si penerima pesan (m, e),
Formula : Ci = Pe mod m

2. Memberitahu kunci public
kepada Penerima pesan (m, e)

m
m, e
ciphertext
Penyadap

Elemen Kunci Public = (m, e)
Elemen Kunci Private = (m,d)
Taroni

Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016

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
Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan

Medan
TA.
TA.
2016
2016

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..!!
Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016

Kunci yang telah terbentuk :


p
13

PRIVATE
q
φ(m)
17
192

d
77

PUBLIC
m
e
221
5

Pengirim :
(m,e)
Penerima :
p, q, φ(m), d

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)
Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016

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

Ci = Pie mod m

Formula untuk ENKRIPSI :
Dimana :
Ci = Karakter Ciphertext
Pi = Karakter Plaintext
m = Nilai Kunci Publik penerima pesan
e = Nilai Kunci Publik penerima pesan
Formula untuk DEKRIPSI: Pi = Cid
Dimana :
Pi = Karakter Plaintext
Ci = Karakter Ciphertext
m = nilai m si Penerima
d = nilai d si penerima

mod m

d Sifatnya rahasia, hanya si Penerima
yang boleh mengetahui ini
Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016

CONTOH :
Plaintext
B
U
D
I
D
A
R
M
A
_
1
6

ASCII
66
85
68
73
68
65
82
77
65
95
49
54

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

Misalnya, plainteks per blok.
Plaintext :

66 85 68 73 68 65 82 77 65 95 49 54
P1
P2
P3
P4
P5
P6

=
=
=
=
=
=

66
85
68
73
68
65

P7
P8
P9
P10
P11
P12

=
=
=
=
=
=

82
77
65
95
49
54

Bila jumlah
Digit blok P
Kurang, Maka
tambahkan 0
(ingat padding)

Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016

CONTOH :
P1
P2
P3
P4
P5
P6

=
=
=
=
=
=

66
85
68
73
68
65

P7
P8
P9
P10
P11
P12

=
=
=
=
=
=

82
77
65
95
49
54

FORMULA ENRKRIPSI :

Ci = Pie Mod m

Dec Cipher
Char Cipher

53
5

102
f

204
Ì

Plaintext ini di-ENKRIPSI oleh
Pengirim menggunakan kunci Public
Penerima (m,e) = (221, 5)
Plaintext ASCII
^ e
P1 = B
66
1252332576
P2 = U
85
4437053125
P3 = D
68
1453933568
P4 = I
73
2073071593
P5 = D
68
1453933568
P6 = A
65
1160290625
P7 = R
82
3707398432
P8 = M
77
2706784157
P9 = A
65
1160290625
P10 = _
95
7737809375
P11 = 1
49
282475249
P12 = 6
54
459165024
99
c

204
Ì

182


114
r

25

182


Mod m Hasil
221
53
221
102
221
204
221
99
221
204
221
182
221
114
221
25
221
182
221
23
221
121
221
175
23

121
y

175
¯

Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016

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).
Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016

Proses Dekripsi dilakukan oleh Penerima Pesan dengan
menggunakan Kunci Private-nya (m,d) = (221, 77)
Char Cipher
Dec Cipher

Char ASCII
5
f
Ì
c
Ì

r

y
¯

53
102
204
99
204
182
114
25
182
23
121
175

5
53

f
102

^ d
77
77
77
77
77
77
77
77
77
77
77
77

Ì
204

c
99

Ì
204


182

Char
Mod m Hasil
Plain
221
66
B
221
85
U
221
68
D
221
73
I
221
68
D
221
65
A
221
82
R
221
77
M
221
65
A
221
95
_
221
49
1
221
54
6

r
114

25


182

23

y
121

¯
175

FORMULA DEKRIPSI :

Pi = Cid Mod m

Taroni
Taroni
Zebua,
Zebua,
M.Kom
M.Kom
STMIK
STMIK
Budidarma
Budidarma
Medan
Medan
TA.
TA.
2016
2016