1 2
3 4
1 2
3 4
Plaintext
Chipertext
Gambar 2.5 Permutasi
2.4 Algoritma RSA
2.4.1 Sejarah RSA
Algoritma RSA diperkenalkan oleh 3 peneliti dari MIT Massachussets Institute of Technology, yaitu Ron Rivest, Adi Shamir, dan Leonard Adleman pada tahun 1977. RSA
adalah kependekan dari Rivest Shamir Adleman yang diambil dari 3 nama penemu RSA. MIT diberikan paten AS nomor 4405829 untuk Cryptographic communications
system and method Sistem dan metode komunikasi kriptografi yang menggunakan algoritma RSA pada tahun 1983. Paten ini akan kadaluwarsa pada tanggal 21 September
2000. Karena sebuah makalah yang menjelaskan tentang algoritma RSA telah dipublikasikan pada bulan Agustus 1977, aplikasi paten yang telah disimpan pada Desember 1977 tidak
mendapat paten dari belahan dunia manapun selain di AS karena peraturan yang terkait dan regulasi yang berlaku.
2.4.2 Mekanisme dasar kerja RSA
Tingkat keamanan algoritma penyandian RSA sangat bergantung pada ukuran kunci sandi tersebut dalam bit, karena makin besar ukuran kunci, maka makin besar juga kemungkinan
kombinasi kunci yang bisa dijebol dengan metode mengencek kombinasi satu persatu kunci atau lebih dikenal dengan istilah brute force attack. Jika dibuat suatu sandi RSA dengan
Universitas Sumatera Utara
panjang 256 bit, maka metode brute force attack akan menjadi tidak ekonomis dan sia-sia dimana para hacker pun tidak mausanggup untuk menjebol sandi tersebut.
2.4.3 Proses Pembuatan Kunci
Dalam membuat suatu sandi, RSA mempunyai cara kerja dalam membuat kunci publik dan kunci privat adalah sebagai berikut:
1. Pilih dua bilangan prima sembarang, p dan q..
2. Hitung n = p . q sebaiknya
p ≠ q, sebab jika p = q maka n = p
2
sehingga p dapat diperoleh dengan menarik akar pangkat dua dari n.
3. Hitung φn = p - 1 q - 1.
4. Pilih kunci publik e, yang relatif prima terhadap
φn. 5.
Bangkitkan kunci privat dengan menggunakan persamaan e . d ≡ 1 mod φn.
Perhatikan bahwa e . d ≡ 1 mod φn.
Hitung d hingga d e ≡ 1 mod φ ekivalen dengan e . d = 1 + k φn, sehingga secara
sederhana d dapat dihitung dengan � =
1 + � ��
� Hasil dari algoritma di atas:
- Kunci publik adalah pasangan e, n
- Kunci privat adalah pasangan d, n
Algoritma RSA memiliki besaran-besaran sebagai berikut: 1.
p dan q bilangan prima rahasia
2. n = p . q
tidak rahasia 3.
φn = p - 1 q - 1 rahasia
4. e = kunci enkripsi tidak rahasia
5. d = kunci dekripsi rahasia
6. m = plainteks rahasia
7. c = cipherteks tidak rahasia
Universitas Sumatera Utara
2.4.4 Proses Enkripsi Pesan
Proses enkripsi pesan sebagai berikut: 1.
Ambil kunci publik penerima pesan e, dan modulus n. 2.
Nyatakan plainteks m menjadi blok-blok m
1
, m
2
, ..., sedemikian sehingga setiap blok merepresentasikan nilai di dalam selang [0, n - 1].
3. Setiap bok m
i
dienkripsi menjadi blok c
i
dengan rumus c
i
= m
i e
mod n
2.4.5 Proses Dekripsi Pesan
1. Setiap blok cipherteks c
i
didekripsi kembali menjadi blok m
i
dengan rumus m
i
= c
i d
mod n.
2.4.6. Keamanan RSA
Keamanan dari sistem kriptografi RSA adalah didasari oleh dua problem matematika: 1.
Problem dalam faktorisasi bilangan berjumlah banyak 2.
Problem RSA, yaitu mencari modulo akar e
n
dari sebuah bilangan komposit n yang faktor-faktornya tidak diketahui.
Proses dekripsi penuh dari sebuah ciphertext RSA dianggap sesuatu hal yang tidak mudah karena kedua problem ini diasumsikan sulit. Belum ada algoritma yang mangkus
untuk menyelesaikannya. Metode pendekatan yang diyakini dapat menyelesaikan problem RSA saat ini adalah
memfaktor dari modulus n. Dengan kemampuan untuk mengembalikan faktor yang merupakan bilangan prima, sebuah serangan dapat menghitung eksponen rahasia dari d dan
dari kunci publik e, n, lalu mendekripsi c menggunakan prosedur standar.
2.5 Algoritma DES