TUTORIAL RSA | Tugas Keamanan Sistem Informasi
TUTORIAL
RSA
Rivest–Shamir–Adleman |
RSA di
bidang kriptografi adalah
sebuah algoritme pada enkripsi public key.
RSA merupakan algoritme pertama yang cocok untuk digital
signature seperti halnya ekripsi, dan salah satu yang
paling maju dalam bidang kriptografi public key. RSA masih
digunakan secara luas dalam protokol electronic
commerce, dan dipercaya dalam mengamnkan dengan menggunakan
kunci yang cukup panjang.
Algoritma RSA merupakan salah satu
algoritma public key yang populer dipakai dan bahkan masih dipakai hingga saat
ini. Kekuatan algoritma ini terletak pada proses eksponensial, dan pemfaktoran
bilangan menjadi 2 bilangan prima yang hingga kini perlu waktu yang lama untuk
melakukan pemfaktorannya.
Algoritma ini dinamakan sesuai dengan nama penemunya, Ron Rivest, Adi Shamir dan Adleman(Rivest-Shamir-Adleman) yang dipublikasikan pada tahun 1977 di MIT, menjawab tantangan yang diberikan algoritma pertukaran kunci Diffie Hellman.
Algoritma ini dinamakan sesuai dengan nama penemunya, Ron Rivest, Adi Shamir dan Adleman(Rivest-Shamir-Adleman) yang dipublikasikan pada tahun 1977 di MIT, menjawab tantangan yang diberikan algoritma pertukaran kunci Diffie Hellman.
Skema
RSA sendiri mengadopsi dari skema block cipher, dimana sebelum dilakukan
enkripsi, plainteks yang ada dibagi – bagi menjadi blok – blok dengan panjang
yang sama, dimana plainteks dan cipherteksnya berupa integer(bilangan bulat)
antara 1 hingga n, dimana n berukuran biasanya sebesar 1024 bit, dan panjang
bloknya sendiri berukuran lebih kecil atau sama dengan log(n) +1 dengan basis
2. Fungsi enkripsi dan dekripsinya dijabarkan dalam fungsi berikut :
C = Me mod n (
fungsi enkripsi )
M = Cd mod n (fungsi
dekripsi)
C
= Cipherteks
M
= Message / Plainteks
e
= kunci publik
d=
kunci privat
n
= modulo pembagi(akan dijelaskan lebih lanjut )
Kedua
pihak harus mengetahui nilai e dan nilai n ini, dan salah satu pihak harus
memilki d untuk melakukan dekripsi terhadap hasil enkripsi dengan menggunakan
public key e. Penggunaan algoritma ini harus memenuhi kriteria berikut :
1.
Memungkinkan untuk mencari nilai e, d, n sedemikian rupa sehingga Med mod n = M
untuk semua M < n.
2. Relatif mudah untuk menghitung nilai Me mod n dan Cd mod n untuk semua nilai M < n.
3. Tidak memungkinkan mencari nilai d jika diberikan nilai n dan e.
2. Relatif mudah untuk menghitung nilai Me mod n dan Cd mod n untuk semua nilai M < n.
3. Tidak memungkinkan mencari nilai d jika diberikan nilai n dan e.
Syarat
nilai e dan d ini, gcd(d,e)=1
sebelum
memulai penggunaan RSA ini, terlebih dahulu kita harus memiliki bahan – bahan
dasar sebagai berikut :
1.
p, q = 2 bilangan prima yang dirahasiakan
2.
n, dari hasil p.q
3.
e, dengan ketentuan gcd (Φ(n), e) =1
4.
d, e-1 (mod Φ(n))
Saya
akan berikan satu contoh :
1.
Pilih 2 bilangan prima, misalnya p = 17 dan q = 11.
2. Hitung n = pq = 17 × 11 = 187.
3. Hitung Φ(n) = (p – 1)(q – 1) = 16 × 10 = 160.
4. Pilih nilai e sedemikian sehingga relatif prima terhadap Φ(n) = 160 dan kurang dari Φ(n); kita pilih e = 7.
5. Hitung d sedemikian sehingga de ≡ 1 (mod 160) dan d < 160.Nilai yang didapatkan d = 23,karena 23 × 7 = 161 = (1 × 160) + 1; d dapat dihitung dengan Extended Euclidean Algorithm.
2. Hitung n = pq = 17 × 11 = 187.
3. Hitung Φ(n) = (p – 1)(q – 1) = 16 × 10 = 160.
4. Pilih nilai e sedemikian sehingga relatif prima terhadap Φ(n) = 160 dan kurang dari Φ(n); kita pilih e = 7.
5. Hitung d sedemikian sehingga de ≡ 1 (mod 160) dan d < 160.Nilai yang didapatkan d = 23,karena 23 × 7 = 161 = (1 × 160) + 1; d dapat dihitung dengan Extended Euclidean Algorithm.
Nah,
nilai e dan d inilah yang kita sebut sebagai Public Key(e) dan Private
Key(d). Pasangan Kunci Publiknya ={7,187} dan Kunci Privatnya = {23, 187}
Sekarang
kita aplikasikan dalam proses enkripsi.
Misalnya
kita punya M 88. Untuk proses enkripsi, kita akan menghitung C = 887 mod
187.
=
887 mod 187.
=894,432
mod 187
=11
Nah,
kita mendapatkan nilai C =11.
Selanjutnya,
nilai C ini dikirimkan kepada penerima untuk didekripsi dengan kunci privat
miliknya.
M
= Cd mod n
=
1123 mod 187
=79,720,245
mod187
=
88
SUMBER :
Komentar
Posting Komentar