Algoritma Lehmann Algoritma Kriptografi RSA

5. Barisan bit acak adalah z 1, z 2, z 3, .... Sebagai contoh, untuk menemukan bialangan acak berbasis RSA, yaitu: Misal p = 11 dan q = 5 N = p.q = 11.5 =55 E3, or S = 3 X x = 3 i = x i - 1 e = 3 3 x mod 55 = 27 2 = 27 3 x mod 55 = 48 3 = 48 3 x mod 55 =42 4 = 42 3 karena x mod 55 = 3 4 = x 1 z berarti dilakukan pengulangan setelah 3 kali i z mod 2 1 z = 27 mod 2 = 1 2 = z 48 mod 2 = 0 3 z = 3 mod 2 = 1 4 karena z = 27 mod 2 = 1 4 = z 1 jadi baris acak yang dihasilkan maka pengulangan dilakukan setelah 3 kali 1011 0110 1101 1011 0101 dan seterusnya, kemudian dikonversikan ke bilangan desimal 11 6 13 11 5

2.4 Algoritma Lehmann

Tes yang paling sederhana adalah menggunakan algoritma Lehmann. Cara kerja algoritma Lehmann adalah sebagai berikut : { Masukan: p yang akan diuji keprimaannyaKeluaran: p adalah prima atau tidak prima } a Bangkitkan bilangan acak a yang lebih kecil dari p. b Hitung a p – 12 c Jika a mod p. p – 12 ≡ 1 atau –1 mod p, maka p tidak prima. Universitas Sumatera Utara d Jika a p – 12 ≡ 1 atau –1 mod p, maka peluang p bukan prima adalah 50. Ulangi pengujian dengan algoritma Lehmann di atas sebanyak t kali dengan nilai a yang berbeda. Jika hasil perhitungan langkah b sama dengan 1 atau –1, tetapi tidak selalu sama dengan 1, maka peluang p adalah prima mempunyai kesalahan tidak lebih dari 12 t . Pengujian menggunakan algoritma Lehmann dianjurkan diulangi sebanyak lima kali dengan nilai a yang berbeda. Jika hasil perhitungan langkah ke-dua sama dengan 1 atau -1, maka peluang p adalah prima mempunyai kesalahan tidak lebih dari lima puluh persen. Bilangan acak yang digunakan pada algoritma Lehmann dapat dipilih nilai yang kecil agar perhitungan lebih cepat. Algoritma Lehmann menentukan keprimaan suatu bilangan dengan cara yang sangat sederhana dan masih sangat diragukan kevalidannya. Selain algoritma Lehmann, metode lain yang banyak digunakan adalah Rabin-Miller Schneier, 1996 .

2.5 Algoritma Kriptografi RSA

Algoritma kriptografi RSA ditemukan oleh tiga orang yang kemudian nama-nama mereka disingkat menjadi RSA. Ketiga penemu itu adalah Ron Riverst, Adi Shamir, dan Leonard Adleman. RSA dibuat di MIT pada tahun 1977 dan dipatenkan oleh MIT Massachussets Institute of Technology pada tahun 1983. Sejak 21 September tahun 2000, paten tersebut berakhir, sehingga saat ini semua orang dapat menggunakannya dengan bebas Brian, 2000. RSA merupakan algoritma yang mudah untuk diimplementasikan dan dimengerti. Algoritma RSA adalah sebuah algoritma pada enkripsi kunci publik. RSA merupakan algoritma pertama yang cocok digunakan untuk digital signature karena kehandalannya dalam proses enkripsi. Hal ini menjadikan algoritma yang lebih banyak dikembangkan dalam bidang kriptografi public key.

2.5.1 Proses Algoritma RSA

Proses atau cara kerja dari algoritma RSA dapat dilihat sebagai berikut: 1. Menentukan dua bilangan prima p ≠ q secara acak dan terpisah untuk tiap-tiap p dan q. Bilangan prima tersebut diperoleh melalui uji proses prima yang Universitas Sumatera Utara menggunakan metode CSPRNG berbasis RSA dan algoritma Lehman. Sifat dari kedua bilangan ini adalah rahasia. Ini berarti hanya pihak pengirim dan penerima saja yang mengetahuinya. 2. Melakukan perhitungan n = pq. n merupakan hasil perkalian dari p dikalikan dengan q 3. Melakukan perhitungan nilai totient φ n= p-1q-1. 4. Menentukan nilai kunci enkripsi e dengan syarat bahwa nilangan tersebut merupakan bilangan bulat integer 1 e φn dimana nilai GCD φn, e=1. 5. Menghitung kunci enkripsi yang dilakukan dengan perhitungan kunci dekripsi dengan rumus d ≡ e -1 6. Setelah mendapatkan kunci-kunci tersebut maka dapat dilakukan proses enkripsi maupun proses dekripsi. mod φn. 7. Rumus untuk melakukan proses enkripsi adalah C = M e 8. Rumus untuk melakukan proses dekripsi adalah P = C mod n d mod n

2.5.2 Contoh Kasus Algoritma RSA

Algoritma RSA disimulasikan dalam sebuah simulasi pengiriman pesan yang dilakukan antara Alice dan Bob. Alice mengizinkan Bob untuk mengirimkan sebuah pesan pribadi private message. Dalam algoritma RSA multiple-key, Alice dan Bob akan melakukan langkah-langkah pada sebagai berikut : 1. Alice penerima dan Bob pengirim menyepakati dua buah bilangan prima sebagai kunci privat dari pesan yang akan dikirimkan. Misalkan kunci tersebut adalah bernilai p=11 dan q=7. 2. Setelah disepakati kedua bilangan prima tersebut kemudian digunakan untuk menghitung nilai totient dengan rumus n =pq, sehingga didapat nilai: n = 117= 77 3. Langkah selanjutnya adalah menghitung nilai totient dengan rumus ϕn =p– 1q-1, sehingga didapat nilai: n = 11-17-1= 60. Nilai n dan nilai totient akan digunakan dalam perhitungan nilai kunci enkripsi. 4. Dari nilai totient yang didapat, maka Bob dapat menghitung nilai kunci enkripsi e yang digunakan dalam program dengan syarat bahwa nilai 1e ϕn dan juga Universitas Sumatera Utara nilai e relatif prima dengan ϕn. Hal ini dapat dihitung dengan menghitung GCD ϕn,e=1. Dalam perhitungan didapati: GCD 60, e = 1 , 1e60 e = 19 Didapat nilai e yang memungkinkan dan disepakati oleh keduanya adalah e = 19. Dengan nilai kunci enkripsi ini makan selanjutnya dapat dilakukan proses enkripsi. 5. Kunci dekripsi juga langsung ditetapkan oleh kedua belah pihak dengan syarat rumusan d= e -1 d = e mod ϕ n. Dari nilai e yang didapat sebelumnya maka dapat dihitung nilai d dengan langkah sebagai berikut : -1 d = 19 mod ϕ n -1 d = 19 mod 60 Kunci dekripsi digunakan untuk mengembalikan nilai ciphertext ke dalam bentuk plaintext. 6. Proses enkripsi merupakan proses dimana pesan yang sebelumnya berupa plaintext yang dikodekan menjadi ciphertext. Terlebih dahulu Bob akan membuat pesan rahasia berupa teks. Dalam kasus ini pesan yang akan digunakan adalah kode 100. Dari rumus perhitungan enkripsi C = m e Pesan yang akan dikirim M = 100 mod n, maka dapat dihitung kode ciphertext dari setiap pesan tersebut sebagai berikut: Nilai dari setiap Plaintext P 1 C = M = 100, maka nilai ciphertext dari setiap pesan dengan perhitungan : e = 100 mod n 19 C = 40 mod 60 7. Setelah mendapatkan semua kode ciphertext maka dapat dirangkai seluruh kode yang menghasilkan ciphertext sebesar 40. Pesan inilah yang akan dikirimkan kepada Alice, sehingga pihak lain tidak akan mengetahui makna pesan sebenarnya. Universitas Sumatera Utara 8. Alice dapat mendapatkan pesan sebenarnya dengan melakukan proses dekripsi. Dari rumus perhitungan dekripsi P = C d C = 40 mod n, maka dapat dihitung kode plaintext dari setiap chipertext tersebut sebagai berikut: Nilai dari setiap Plaintext : P 1 = C d mod n = C 1 d = 40 mod n 19 P mod 60 1 Setelah mendapatkan semua plaintext terhitung maka dapat dirangkai seluruh kode dan menghasilkan plaintext adalah 40 = 40 9. Dari contoh didapat bahwa Alice dapat membuka kembali pesan yang sudah dienkripsi dengan melakukan proses dekripsi.

2.6 Perhitungan Matematis