Algoritma Diffie-Hellman Simulasi Algoritma Rivest Shamir Adleman (RSA) pada Short Message Service (SMS) dengan Pengujian Bilangan Prima Menggunakan Lucas Lehmer Primality Test

Pada jenis serangan ini, kriptanalis tidak mencoba-coba semua kemungkinan kunci tetapi menganalisis kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak mungkin ada. Diasumsikan kriptanalis mengetahui algoritma kriptografi yang digunakan oleh pengirim pesan. Analisis dapat menggunakan pendekatan matematik dan statistik dalam rangka menemukan kunci. Secara statistik misalnya dengan menggunakan analisis frekuensi, sedangkan secara matematik dengan memecahkan persamaan-persamaan matematika yang diperoleh dari defenisi suatu algoritma kriptografi yang mengandung peubah-peubah yang merepresentasikan plaintext atau kunci.

2.3 Algoritma Diffie-Hellman

Sampai akhir tahun 1975, hanya ada algoritma kunci simetris. Karena kriptografi simetris menggunakan kunci yang sama untuk enkripsi dan dekripsi, maka hal ini mengimplikasikan dua pihak yang berkomunikasi saling mempercayai. Satu masalah kritis di dalam kriptografi kunci simetris adalah cara mendistribusikan kunci karena dianggap tidak aman. Masalah ini dipecahkan oleh Whitfield Diffie dan Martin Hellman dengan mengusulkan kriptografi nirsimetris asymmetris cryptosystem yang memungkinkan pengguna berkomunikasi secara aman tanpa perlu berbagi kunci rahasia. Algoritma Diffie-Hellman atau dinamakan juga protokol Diffie-Hellman berguna untuk mempertukarkan kunci sesi kunci rahasia untuk komunikasi dengan kriptografi simetris antara dua orang atau lebih. Dan algoritma ini menjadi awal mula munculnya algoritma kriptografi RSA [10].

2.3.1 Pertukaran Kunci

Misalkan dua orang yang berkomunikasi adalah Irfan dan Antoni. Mula-mula Irfan dan Antoni menyepakati dua buah bilangan prima yang besar, n dan g, sedemikian sehingga g n. Nialai n dan g tidak perlu dirahasiakan. Bahkan Irfan dan Antoni bisa membicarakannya melalui saluran yang tidak aman sekalipun. Universitas Sumatera Utara Langkah-langkah dalam pertukaran kunci adalah sebagai berikut: 1. Irfan membangkitkan bilangant bulat acak dengan besar x dan mengirim hasil perhitungan X = g x mod n kepada Antoni. 2. Antoni membangkitkan bilangant bulat acak dengan besar x dan mengirim hasil perhitungan Y = g y mod n kepada Irfan. 3. Irfan menghitung K = Y x mod n 4. Antoni menghitung K’ = X y mod n Jika perhitungan dilakukan dengan benar, maka K akan bernilai sama dengan K’ yang berarti kunci simetris sudah berhasil diterima oleh kedua belah pihak. Baik K dan K’ sama dengan g xy mod n. Regar yang menyadap pembicaraan antara Irfan dan Antoni tidak dapat menghitung K. Dia hanya memiliki informasi n, g, X dan Y, tetapi dia tidak mempunyai informasi nilai x dan y. Untuk mengetahui nilai x atau y, dia perlu melakukan perhitungan logaritma diskrit yang sangat sulit dikerjakan. Gambar berikut 2.6 memperlihatkan diagram algoritma pertukaran kunci Diffie-Hellman. Gambar 2.6 Pertukaran Kunci Diffie-Hellman Misalkan Irfan dan Antoni menyepakati n = 97 dan g = 5 g n. Irfan dan Antoni melakukan pertukaran kunci simetri sebagai berikut: 1. Irfan memilih x = 36 dan menghitung Bangkitkan x Hitung X = g x mod n Hitung K = Y x mod n Bangkitkan y Hitung Y = g y mod n Hitung K’ = X y mod n Universitas Sumatera Utara X = g x mod n = 5 36 mod 97 = 50 Irfan mengirimkan X kepada Antoni. 2. Antoni memilih y = 58 dan menghitung Y = g y mod n = 5 58 mod 97 = 44 Antoni mengirimkan X kepada Irfan. 3. Irfan menghitung kunci simetris K, K = Y x mod n = 44 36 mod 97 = 75 4. Antoni menghitung kunci simetris K’, K’ = X y mod n = 50 58 mod 97 = 75 Jadi, Irfan dan Antoni sudah mempunyai kunci sesi yang sama, yaitu K = 75. Kunci siap digunakan untuk melakukan komunikasi dengan kriptografi simetris.

2.4 Algoritma Rivest Shamir Adleman RSA