Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Algoritma RSA Antonius C.P. 2016
2
Private-Key Cryptography
kriptografi tradisional (private/secret/single key) menggunakan satu kunci dishare oleh sender dan receiver jika kunci ini terbuka maka komunikasi tidak aman lagi PrKC juga dikenal sebagai kriptografi symmetric, kunci enkripsi dan dekripsi sama. sehingga tidak melindungi sender dari receiver yang memalsukan pesan & mengklaim seolah-olah pesan dikirim oleh sender
3
Public-Key Cryptography
pengembangan paling signifikan sepanjang tahun sejarah kriptografi mengunakan two kunci –public & private asymmetric, kunci enkripsi dan dekripsi berbeda menggunakan aplikasi yang cerdas dari konsep teori bilangan pada fungsi kriptografi PuKC lebih merupakan komplemen daripada pengganti PrKC
4
Public-Key Cryptography
kriptografi public-key/two-key/asymmetric melibatkan penggunaan dua kunci: public-key, yang bisa diketahui oleh setiap orang, dan dapat digunakan untuk enkripsi pesan, dan verifikasi signature private-key, hanya diketahui oleh penerima pesan, digunakan untuk dekripsi pesan, and membangun (create) signature dikatakan asymmetric sebab mereka yang mengenkripsi pesan atau memverifikasi signature tidak dapat mendekripsi pesan atau membuat signature
5
Public-Key Cryptography
6
Mengapa Public-Key Cryptography?
dibangun untuk mengatasi dua masalah utama: key distribution – bagaimana mengkomunikasikan kunci secara aman? digital signature – bagaimana memverifikasi signature digagas oleh Whitfield Diffie & Martin Hellman di Stanford University pada 1976 mula-mula dikenal dalam classified community
7
Karakteristik Public-Key
Algoritma Public-Key bergantung pada dua kunci dengan sifat-sifat: secara komputasi, tidak mungkin bisa mendapatkan kunci dekripsi jika hanya diketahui algoritma dan kunci enkripsi secara komputasi mudah untuk en/dekripsi pesan jika kunci (en/dekripsi) yang relevan diketahui salah satu dari dua kunci yang berrelasi dapat digunakan untuk enkripsi, sedang yang lainnya untuk dekripsi
8
Public-Key Cryptosystems
9
Aplikasi Public-Key Dapat diklasifikasikan ke dalam 3 kategori:
encryption/decryption (provide secrecy) digital signatures (provide authentication) key exchange (of session keys) beberapa algorithm cocok untuk semua penggunaan, sementara yang lain hanya cocok untuk satu aplikasi saja
10
Keamanan skema Public Key
sebagaimana pada skema PrKC, serangan brute force exhaustive search terhadap PuKC selalu dimungkinkan secara teoritis tetapi kunci yang digunakan terlalu panjang (>512 bit) keamanan terletak pada perbedaan yang sangat besar antara masalah easy (en/decrypt) dan hard (cryptanalyse) secara umum hard problem diciptakan agar terlalu sulit untuk dikerjakan secara praktis mensyaratkan penggunaan very large numbers Sehingga PuKC adalah slow jika dibandingkan dengan PrKC.
11
RSA oleh Rivest, Shamir & Adleman of MIT pada 1977
paling terkenal & paling banyak digunakan Berdasarkan eksponensiasi dalam field (Galois) berhingga dari bilangan bulat modulo prima NB: eksponensiasi memerlukan O((log n)3) operasi (mudah) menggunakan bilangan bulat yang sangat besar (misal, 1024 bit) keamanan disebabkan oleh mahalnya faktorisasi bilangan yang sangat besar NB: faktorisasi membutuhkan O(e log n log log n) operasi (hard)
12
RSA - The authors [From Information Security Group, ICU]
13
Pengaturan Kunci RSA Setiap user membangun sebuah pasangan kunci public/private dengan: seleksi dua bilangan prima yang sangat besar secara random: p,q Hitung system modulo N=p.q Catatan ø(N)=(p-1)(q-1) Seleksi secara random, kunci enkripsi e dimana 1<e<ø(N), gcd(e,ø(N))=1 Selesaikan equation berikut untuk mendapatkan kunci dekripsi d e.d=1 mod ø(N) dan 0≤d≤N publikasikan kunci enkripsi publik: KU={e,N} Jaga kerahasiaan kunci dekripsi: KR={d,p,q}
14
Penggunaan RSA untuk enkripsi sebuah pesan M, pengirim:
mendapatkan public key penerima KU={e,N} menghitung: C=Me mod N, dimana 0≤M<N untuk dekripsi ciphertext C, penerima: menggunakan private key-nya KR={d,p,q} menghitung: M=Cd mod N catatan: pesan M harus lebih kecil dari modulus N (dijadikan blok dulu bila perlu)
15
Bilangan Prima bilangan prima hanya terbagi oleh 1 dan dirinya sendiri
mereka tidak dapat dinyatakan sebagai hasil kali dari bilangan lain Contoh: 2,3,5,7 prima, 4,6,8,9,10 bukan bilangan prima merupakan inti dari teori bilangan daftar bilangan prima kurang dari 200:
16
Faktorisasi Prima memfaktorkan sebuah bilagan n adalah menuliskannya sebagai hasilkali bilangan lain: n = a × b × c faktorisasi sebuah bilangan relatif sulit dibandingkan dengan mengalikan faktor-faktor untuk membangun bilangan tersebut faktorisasi prima dari sebuah bilangan n adalah menuliskannya sebagai hasilkali bilangan-bilangan prima contoh: 91=7×13 ; 3600=24×32×52
17
Bilangan Relative Prima & GCD
dua bilangan a,b adalah relative prima jika tidak memiliki faktor persekutuan selain 1 8 & 15 relative prima sebab faktor 8 adalah1,2,4,8 dan 15 adalah 1,3,5,15 sehingga 1 adalah satu- satunya faktor persekultuan greatest common divisor (GCD) dapat ditentukan dengan membandingkan faktorisasi prima dan menggunakan pangkat terkecil misal 300=21×31×52 18=21×32 sehingga GCD(18,300)=21×31×50=6
18
Teorema Fermat ap-1 mod p = 1
dimana p prima dan gcd(a,p)=1 juga dikenal sebagai teorema kecil Fermat Sangat bermanfaat dalam public key dan uji primalitas
19
Euler Totient Function ø(n)
digunakan dalam aritmatika modulo n himpunan residu lengkap: {0,...,n-1 } himpunan residu tereduksi adalah himpunan residu yang relative prime terhadap n misal untuk n=10, himpunan residu lengkap = {0,1,2,3,4,5,6,7,8,9} himpunan residu tereduksi = {1,3,7,9} banyaknya anggota himpunan residu tereduksi disebut Euler Totient Function ø(n)
20
Euler Totient Function ø(n)
secara umum untuk menghitung ø(n) perlu faktorisasi prima, tetapi untuk p prima ø(p) = p-1 untuk p,q prima ø(p.q) = (p-1)(q-1) contoh: ø(37) = 36 ø(21) = (3–1)×(7–1) = 2×6 = 12
21
Teorema Euler generalisasi dari teorema Fermat aø(n)mod N = 1 contoh:
dimana gcd(a,N)=1 contoh: a=3;n=10; ø(10)=4; sehingga 34 = 81 = 1 mod 10 a=2;n=11; ø(11)=10; sehingga 210 = 1024 = 1 mod 11
22
Bagaimana RSA dapat berlaku
karena teorema Euler aø(n)mod N = 1 dimana gcd(a,N)=1 dalam RSA : N=p.q ø(N)=(p-1)(q-1) pilih e & d saling invers mod ø(N) sehingga e.d=1+k.ø(N) untuk suatu k sehingga : Cd = (Me)d = M1+k.ø(N) = M1.(Mø(N))k = M1.(1)k = M1 = M mod N
23
Contoh RSA Pilih bilangan prima: p=17 & q=11 Hitung n = pq =17×11=187
Pilih e : gcd(e,160)=1; misal e=7 Tentukan d: d.e=1 mod 160 dan d < 160 Nilai d=23 sebab 23×7=161= 1×160+1 Publikasikan public key KU={7,187} Jaga kerahasiaan private key KR={23,17,11}
24
Contoh RSA lanjutan proses enkripsi/dekripsi RSA adalah:
misal pesan M = 88 (88<187) enkripsi: C = 887 mod 187 = 11 dekripsi: M = 1123 mod 187 = 88
25
Konstruksi kunci RSA pengguna RSA harus:
menetapkan dua bil prima secara random p, q pilih salah satu e atau d dan hitung yang lain bil prima p,q harus sulit diturunkan dari modulus N=p.q artinya harus sangat besar eksponen e, d saling invers, sehingga gunakan algoritma Inverse untuk menghitungnya, misal dengan Algoritma Euclides yang diperbesar
26
Keamanan RSA tiga pendekatan serangan terhadap RSA:
brute force key search (sangat sulit mengingat besarnya bilangan) mathematical attacks (sangat sulit menghitung ø(N) melalui faktorisasi modulus N) timing attacks (pada saat melakukan dekripsi)
27
Assignments Lakukan enkripsi dan dekripsi menggunakan algoritma untuk setiap komponen berikut: p = 3; q = 11, e = 7; M = 5 p = 5; q = 11, e = 3; M = 9 Pada sebuah sistem public-key menggunakan RSA, anda mendapatkan sebuah ciphertext C = 10 dikirimkan kepada user yang memiliki public key is e = 5, n = 35. Tentukan plaintext M?
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.