RSA Cipher atau kriptografi kunci
publik merupakan salah satu kriptografi asimetris, dimana kunci untuk
melakukan enkripsi dan dekripsi berbeda. Nama RSA diambil dari inisial
orang yang menciptakannya yaitu Ron Rivest, Adi Shamir, dan Leonard
Adleman, dan dipublikasikan pada jurnal ilmiah Communication of ACM
tahun 1977. Kekuatan utama dari RSA adalah kesulitan dalam
memfaktorkan bilangan yang besar (NP Hard Problem), sehingga dapat
dimanfaatkan untuk mengamankan data.
(Untuk dapat lebih memahami materi kriptografi RSA, penulis menyarankan terlebih dahulu untuk membaca tentang teori bilangan bulat, penulis melampirkan link ke salah satu sumber yang cukup bagus, silahkan klik disini atau dari Referensi dibagian paling bawah.)
Langkah-langkah dalam mengenkripsi atau mengdekripsi RSA adalah sebagai berikut :
(Untuk dapat lebih memahami materi kriptografi RSA, penulis menyarankan terlebih dahulu untuk membaca tentang teori bilangan bulat, penulis melampirkan link ke salah satu sumber yang cukup bagus, silahkan klik disini atau dari Referensi dibagian paling bawah.)
Langkah-langkah dalam mengenkripsi atau mengdekripsi RSA adalah sebagai berikut :
- Pilih 2 buah bilangan prima p dan q.
- Hitung nilai n = p * q , (usahakan agar setidaknya n > 255 agar dapat mewakili seluruh karakter ASCII).
- Hitung nilai m = (p-1) * (q-1).
- Cari nilai e , dimana e merupakan relatif prima dari m.
- Cari nilai d , yang memenuhi persamaan ed ≡ 1 mod m atau d = e-1 mod m.
- Kunci public (e , n) dan kunci private (d , n).
- Fungsi enkripsi → E (ta)=tae mod n ; dimana ta merupakan karakter ke-a dari message (pesan) yang akan dienkripsi.
- Fungsi dekripsi → D (ca)=cad mod n ; dimana ca merupakan karakter ke-a dari ciphertext yang akan didekripsikan.
Komputer Budi
akan melakukan langkah-langkah berikut :
- Men- generate bilangan prima p = 59 dan q = 67.
- Menghitung nilai n = 59 * 67 = 3953.
- Menghitung nilai m = (59-1) * (67-1) = 3828.
- Mencari nilai e yang relatif prima terhadap m.
- Pada langkah berikutnya, akan dicari nilai d dimana ed ≡ 1 (mod m) atau d=e-1 mod m
- Langkah selanjutnya adalah menentukan kunci publik dan kunci private sebagai berikut :
- Kunci publik = 277, 3953
- Kunci private = 2833, 3953
- Langkah selanjutnya komputer Andi akan mengenkripsi pesan yaitu : "GO" maka komputer Andi perlu mengetahui kode ASCII karakter "G" dan "O" yaitu : 71 dan 79 , kemudian melakukan enkripsi dengan fungsi enkripsi → E(ta)=tae mod n :
- E(71)=71277 mod 3953 = 1798
- E(79)=79277 mod 3953 = 2444
- Langkah terakhir komputer Budi akan mendekripsi ciphertext c1=1798 dan c2=2444 dengan fungsi dekripsi → D(ca)=cad mod n
- D(1798)=17982833 mod 3953 = 71 → "G"
- D(2444)=24442833 mod 3953 = 79 → "O"
Klik untuk melihat perhitungan nilai e:
Klik untuk melihat perhitungan d
:
Kunci private tetap berada dikomputer Budi, namun kunci publik
dikirimkan ke komputer Andi, dimana komputer Andi akan menggunakan
kunci publik untuk meng-enkripsi pesan yang akan
dikirimkan ke komputer Budi.
Jadi komputer Andi akan mengirimkan pesan dengan angka c1=1798 dan c2=2444 kepada komputer Budi.
Dalam perhitungan diatas, untuk mencari sisa bagi pangkat yang besar dapat menggunakan algoritma modular exponent
Dapat terlihat bahwa ciphertext yang dikirimkan oleh Andi dikembalikan menjadi pesan "GO"
- Rosen, K. H. 1986. Elementary Number Theory and Its Applications. Addison-Wesley Publishing Company: USA
- Schneier, B. 1995. Applied cryptography (2nd ed.): protocols, algorithms, and source code in C. John Wiley & Sons, Inc:New York, NY, USA
- http://stackoverflow.com/questions/4422633/rsa-private-key-calculation-with-extended-euclidean-algorithm
- http://www.webkeren.net/2015/03/cara-membuat-spoiler-di-blog-blogger-blogspot.html
- https://en.wikipedia.org/wiki/RSA_(cryptosystem)
- http://kur2003.if.itb.ac.id/file/Teori%20Bilangan%20Bulat.doc
itu r nongol dari mana
ReplyDeleter atau remainder merupakan bagian dari rumus yang dituangkan dalam bentuk m=eq+r
ReplyDeleteq itu nilai apa
Deleteq itu nilai apa
Deleteq adalah quotient , atau sebuah nilai bulat sedemikian rupa yang memenuhi persamaan m=eq+r , contoh 10=4*2+2 , jadi q=2
ReplyDeletekak
ReplyDelete?
Deleteapa bedanya hitungan per blok dan hitungan perkarakter
ReplyDeleteCara menghitung C nya kyk mana?
ReplyDeletemampir di blog aku ya pak Cuci Sofabed Jogja
ReplyDeleteThis comment has been removed by the author.
ReplyDeletemampir sini
ReplyDelete