Analisis RSA dengan Penambahan Chinese

advertisement
Analisis RSA dengan Penambahan
Chinese Remainder Theorem untuk
Mempercepat Dekripsi
Oleh:
Nilam Amalia Pusparani
G64102039
PENDAHULUAN
Latar Belakang
-
-
Keamanan merupakan aspek yang sangat
penting dalam pertukaran informasi.
Teknik mengamankan informasi erat
kaitannya dengan kriptografi.
PENDAHULUAN
Penelitian: - RSA
- Algoritma Faktorisasi Integer
- n besar, maka sumberdaya besar
- RSA-CRT
PENDAHULUAN
Tujuan




Mengimplementasikan skema enkripsi
dan dekripsi RSA dan RSA-CRT.
Menganalisis algoritma
Menganalisis waktu yang dibutuhkan
untuk enkripsi dan dekripsi
Menganalisis tingkat keamanan
PENDAHULUAN
Ruang Lingkup
-
RSA
CRT  RSA-CRT
Modulus n 1024 bit
Data: File teks dengan ukuran yang
bervariasi dari 1764 byte sampai dengan
21168 byte.
PENDAHULUAN
Manfaat Penelitian
Menghasilkan RSA dengan waktu dekripsi
yang lebih cepat
TINJAUAN PUSTAKA

Kriptografi
Kriptografi adalah studi teknik matematik
yang berkaitan dengan aspek keamanan
informasi seperti kerahasiaan, integritas
data, autentikasi entitas, dan autentikasi asal
data (Menezes et al. 1996).
TINJAUAN PUSTAKA

Enkripsi Kunci Publik
- 1 kunci umum, 1 kunci pribadi
- tidak layak menentukan kunci dekripsi dari
kunci enkripsi
TINJAUAN PUSTAKA
•
RSA (Rivest-Shamir-Adleman)
Algoritma ini menggunakan kunci publik
untuk enkripsi dan kunci pribadi untuk
dekripsi. Keamanan metode ini terletak
pada kesulitan untuk memfaktorkan
modulus n yang sangat besar, tetapi
kelebihan ini mengakibatkan lambatnya
waktu untuk menyelesaikan proses.
TINJAUAN PUSTAKA
Tiga Tahap Algoritma RSA:
- Pembangkitan kunci
- Enkripsi
- Dekripsi
TINJAUAN PUSTAKA
Pembangkitan kuncinya adalah sebagai berikut.

Pilih dua bilangan prima, p dan q secara acak dan
terpisah untuk setiap p dan q. Hitung n = p x q.

Hitung (n) = (p-1) (q-1).

Pilih bilangan bulat antara satu dan  (1<e<)
yang juga merupakan coprime dari . Coprime
yang dimaksud adalah bilangan terbesar yang
dapat membagi e dan  untuk menghasilkan nilai
1 (pembagi ini dinyatakan dengan gcd (greatest
common divisor).

Hitung d, dimana d  e^-1 mod (n).
TINJAUAN PUSTAKA
Enkripsi:
 Plaintext : M < n
 Ciphertext : C = M^e (mod n)
Dekripsi:
 Ciphertext : C
 Plaintext : M = C^d (mod n)
TINJAUAN PUSTAKA

Algoritma Euclid
- berfungsi menentukan gcd dari dua
bilangan bulat
- gcd bernilai positif
- gcd (a,0) = |a| dan gcd (0,0) tak
terdefinisikan
- c = gcd (a,b)  gcd (a/c, b/c) = 1
TINJAUAN PUSTAKA
•
Extended Euclid
Algoritma Euclid dapat diperluas sehingga
tidak hanya menghasilkan pembagi bersama
terbesar dari dua bilangan bulat a dan b,
tetapi juga menghasilkan bilangan bulat x
dan y yang memenuhi ax + by = d
TINJAUAN PUSTAKA

Relatif Prima
Dua buah bilangan a dan b disebut relatif
prima apabila gcd (a, b) = 1. Sebagai contoh
bilangan 7 dan 11 adalah relatif prima,
karena pembagi 7 dan 1 adalah 7,
sedangkan pembagi 11 adalah 1 dan 11,
sehingga gcd (7, 11) = 1 (Cornel et al. 1990)
TINJAUAN PUSTAKA

RSA-CRT (Rivest-Shamir-AdlemanChinese Remainder Theorem)
3 Tahap:
- Pembangkitan kunci
- Enkripsi
- Dekripsi
TINJAUAN PUSTAKA
Pembangkitan Kunci:
1.
Pilih bilangan prima p dan q secara acak, sehingga
gcd (p-1, q-1) = 2.
2.
Hitung n = p x q.
3.
Pilih 2 integer dp dan dq secara acak, sehingga
gcd (dp, p-1) = 1, gcd (dq, q-1) = 1dan dp == dq
mod 2.
4.
Cari suatu nilai d sehingga d == dp mod p-1 dan d
== dq mod q-1.
5.
Hitung e = d^-1 (mod (n)).
TINJAUAN PUSTAKA
Enkripsi
Plaintext : M < n
Ciphertext : C = M^e (mod n)
Dekripsi
Mp = C^dp mod p dan Mq = C^dq mod q
v = (Mq – Mp) p_inv_q mod q
M = Mp + pv
TINJAUAN PUSTAKA

Analisis Algoritma
Analisis algoritma dilakukan untuk menduga
besarnya sumber daya waktu yang
dibutuhkan untuk sembarang ukuran input n
(Cormen et al. 1990).
TINJAUAN PUSTAKA

Analisis Uji Running Time
- Waktu total yang dibutuhkan untuk
melakukan seluruh tahapan proses yang
dieksekusi.
- RSA dan RSA-CRT dihitung berdasarkan
keadaan running time untuk waktu rata-rata.
METODE PENELITIAN




Analisis Algoritma:
kompleksitas algoritma pembangkitan
kunci,
kompleksitas algoritma enkripsi, dan
kompleksitas algoritma dekripsi.
METODE PENELITIAN

Analisis Keamanan
 studi literatur
METODE PENELITIAN

Analisis Hasil Implementasi
- Waktu enkripsi RSA dan RSA-CRT
- Waktu dekripsi RSA dan RSA-CRT
METODE PENELITIAN

Spesifikasi Uji Implementasi
- 10 file teks
- 1764 byte sampai dengan 21168 byte
- 10x pengulangan
HASIL DAN PEMBAHASAN









Analisis Algoritma
- Analisis Subrutin Primality Test
Pada subrutin ini RSA menggunakan algoritma Miller-Rabin.
Algoritma Miller-Rabin adalah sebagai berikut.
x ;= a^m mod n;
If (x ≡ 1 mod n) return ”n is prime” and halt;
For (j = 0, 1, ..., k-1)
If (x ≡ -1 mod n) return ”n is prime” and halt;
Else x := x2 mod n;
Return ”n is composite” and halt;
Subrutin Primality Test menggunakan algoritma modular
exponentiation, sehingga kompleksitasnya adalah O((lg n)^3).
HASIL DAN PEMBAHASAN




Analisis Subrutin Euclid
If b = 0 Then
Euclid  a
Else
Euclid  (b, a mod b)
Perkalian: O((lg n)^2)
HASIL DAN PEMBAHASAN






Analisis Subrutin Extended Euclid
If b = 0 Then
return (a, 1, 0)
(d1, x1, y1) Extended Euclid (b, a, mod b)
(d, x, y)  (d1, y1, x1 - a/b y1)
return (d, x, y)
Perkalian: O((lg n)^2
HASIL DAN PEMBAHASAN










Analisis Subrutin Modular Exponentiation
Algoritma Modular Exponentiation digunakan untuk melakukan
operasi modular, a^b mod n. Algoritmanya adalah sebagai berikut.
d1
Andaikan (b1, b2, ... bk-1, bk) adalah representasi biner dari b
Untuk i  1 sampai k lakukan
d  (d*d) mod n
Jika bi = 1 maka
d  (d*a) mod n
Modular Exponentiation  d
Algoritma Modular Exponentiation mempunyai kompleksitas sebesar
O((lg n)^3) (Menezes et al. 1996).
HASIL DAN PEMBAHASAN






Analisis Algoritma Pembangkitan Kunci pada RSA
Pilih dua bilangan prima, p dan q secara acak dan terpisah
untuk setiap p dan q.  O((lg n)^3)
Hitung n = p x q.  O((lg n)^2)
Hitung (n) = (p-1) (q-1).  O((lg n)^2)
Pilih bilangan bulat antara satu dan (1<e<) yang juga
merupakan coprime dari . Coprime yang dimaksud adalah
bilangan terbesar yang dapat membagi e dan  untuk
menghasilkan nilai 1 (pembagi ini dinyatakan dengan gcd
(greatest common divisor).  O((lg n)^2
Hitung d, dimana d  e-1 mod (n).  O((lg n)^2)
Jadi: O((lg n)^3
HASIL DAN PEMBAHASAN

Analisis Algoritma Enkripsi pada RSA
C = M^e (mod n)
Modular Exponentiation: O((lg n)^3)
HASIL DAN PEMBAHASAN

Analisis Algoritma Dekripsi pada RSA
M = C^d (mod n)
Modular Exponentiation: O((lg n)^3)
HASIL DAN PEMBAHASAN






Analisis Algoritma Pembangkitan Kunci pada RSA-CRT
Pilih bilangan prima p dan q secara acak, sehingga gcd (p-1,
q-1) = 2.  O((lg n)^3)
Hitung n = p x q.  O((lg n)^2)
Pilih 2 integer dp dan dq secara acak, sehingga gcd (dp, p-1)
= 1, gcd (dq, q-1) = 1dan dp == dq mod 2.  dp € Z* p-1 dan
dq € Z* q-1. Didapat O((lg (p-1)^2) + (lg (q-1)^2)) = O((lg
(n/2))^2)
Cari suatu nilai d sehingga d == dp mod p-1 dan d == dq mod
q-1.  O((lg (p-1)) + (lg (q-1))) = O((lg (n/2))
Hitung e = d-1 (mod (n)).  O((lg n)^2)
Jadi: O((lg n)^3)
HASIL DAN PEMBAHASAN

Analisis Algoritma Enkripsi pada RSACRT
C = M^e (mod n)
Modular Exponentiation: O((lg n)^3)
HASIL DAN PEMBAHASAN
Analisis Algoritma Dekripsi pada RSA-CRT
- Mp = C^dp mod p dan Mq = C^dq mod q  O(((lg
p)^3) + ((lg q)^3)) = O((lg (n/2))^3)
- v = (Mq – Mp) p_inv_q mod q  O((lg (n/2))^2)
- M = Mp + pv  O((lg p) ((lg (n/2))^2 ) = O((lg
(n/2))^3)
Jadi: O((lg (n/2))^3)

HASIL DAN PEMBAHASAN

Analisis Keamanan
Rivest, Shamir, dan Adleman menyarankan
nilai p dan q panjangnya lebih dari 100 digit.
Dengan demikian hasil kali n = p x q akan
lebih dari 200 digit. Usaha untuk
memfaktorkan bilangan bulat 200 digit
menjadi faktornya sangat besar.
HASIL DAN PEMBAHASAN
Desimal
Bit
Waktu MIPS
Algoritma
100
332
7
QS
110
365
75
QS
120
398
830
QS
129
428
5000
QS
130
431
1000
GNFS
140
465
2000
GNFS
155
512
8000
GNFS
HASIL DAN PEMBAHASAN
Analisis Hasil
Implementasi

Enkripsi RSA
Enkripsi RSA-CRT
NO
Ukuran File (byte)
Waktu Enkripsi (ms)
1
1764
21.8
2
3528
36
3
5292
54.6
4
8820
101.6
5
10584
112.6
6
12348
125
7
14112
134.5
8
15876
135.8
9
17640
170.3
10
21168
181.2
Waktu Rata-rata (ms)
107.34
NO
Ukuran File (byte)
Waktu Enkripsi (ms)
1
1764
20.4
2
3528
38.9
3
5292
73.6
4
8820
104.6
5
10584
121.8
6
12348
134.1
7
14112
148.5
8
15876
149.9
9
17640
151.6
10
21168
168.6
Waktu Rata-rata (ms)
111.2
HASIL DAN PEMBAHASAN
Dekripsi RSA
NO
Ukuran File (byte)
Waktu Dekripsi (ms)
1
1764
610.8
2
3528
1401.7
3
5292
2348.3
4
8820
3814.4
5
10584
3995.3
6
12348
4411
7
14112
5162.5
8
15876
5689.2
9
17640
6511.1
10
21168
8173.6
Waktu Rata-rata (ms)
4211.79
HASIL DAN PEMBAHASAN
Dekripsi RSA-CRT
NO
Ukuran File (byte)
Waktu Enkripsi (ms)
1
1764
317
2
3528
626.5
3
5292
845.5
4
8820
1243.8
5
10584
1357.7
6
12348
1374.9
7
14112
1503
8
15876
1726.4
9
17640
2353.2
10
21168
2376.4
Waktu Rata-rata (ms)
1372.44
HASIL DAN PEMBAHASAN
200
150
100
RS A
50
R S ACRT
8
16
0
21
64
6
Ukura n F ile (byte )
17
87
2
15
11
8
14
34
4
12
58
10
20
88
92
52
28
35
64
0
17
Waktu E nkrips i (m s )
Wa ktu E nkripsi R S A ve rsus R S A-C R T
HASIL DAN PEMBAHASAN
10000
8000
6000
4000
RS A
2000
R S ACRT
8
16
0
21
64
6
Ukura n F ile (byte )
17
87
2
15
11
8
14
34
4
12
58
20
10
88
92
52
28
35
64
0
17
Waktu Dekrips i (m s )
Wa ktu De kripsi R S A ve rsus R S A-C R T
KESIMPULAN DAN SARAN

Kesimpulan
- Keamanan RSA bertumpu pada
kompleksitas problem faktorisasi bilangan
bulat.
- Pembangkitan kunci dan Enkripsi RSA dan
RSA-CRT: O((lg n)^3)
- Dekripsi RSA: O((lg n)^3)
KESIMPULAN DAN SARAN
- Dekripsi RSA-CRT: O((lg (n/2))^3)
- 1024 bit mampu memberikan keamanan
yang lebih lama
- Dekripsi RSA-CRT lebih cepat daripada
RSA
KESIMPULAN DAN SARAN

Saran
- Ruang lingkup penelitian ini dibatasi pada algoritma RSA
untuk panjang modulus kunci 1024 bit. Penelitian selanjutnya
dapat dikembangkan dengan menggunakan kunci yang lain
yaitu kunci 2048 bit.
- Eksponensial enkripsi (e) yang digunakan pada penelitian ini
adalah 65537. Untuk penelitian selanjutnya dapat
menggunakan e random.
- Penelitian ini menggunakan algoritma RSA-CRT untuk
mempercepat dekripsi. Penelitian selanjutnya dapat
menggunakan varian RSA yang lain seperti Rebalanced RSACRT.
SEKIAN
Download