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.
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.
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.
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

Postingan populer dari blog ini

Analisis Bisnis Pada Bhinneka.com

Kuis MikroTik Dasar & Konfigurasi Remote Menggunakan WinBox || Tugas Jaringan Komputer