11
2.4 Algoritma Rabin Miller
Algoritma Rabin Miller dikembangkan oleh Michael O Rabin, berdasarkan bagian dari ide Gary Miller. Sebenarnya versi simple dari algoritma ini di rekomendasikan dalam algoritma DSS.
Langkah algoritma Rabin Miller :
Pilih sebuah angka acak, p, untuk menguji. Hitung b, dimana b adalah jumlah pangkat 2 membagi p
– 1. Kemudian hitung m dengan m odds, menjadi p = 1 + 2
b
m. 1
Pilih angka acak, a, dimana a p. 2
Set j = 0 dan set z = a
m
mod p. 3
if z = 1, or if z = p – 1, then p lolos test dan mungkin bilangan prima.
4 If j 0 and z = 1, then p bukan bilangan prima.
5 Set j = j + 1. If j b and z
≠ p – 1, set z = z
2
mod p dan kembali ke langkah 4. If z = p
– 1, then p lolos test dan mungkin bilangan prima. 6
If j = b and z ≠ p – 1, then p bukan bilangan prima
Schneier, 1996
2.5 GCD dan Euclid’s Algorithm
Greatest Common DivisorGCD adalah factor pembagi yang dimiliki oleh 2 bilangan bulat yang berbedaRinaldi, 2007. Penulisan GCD secara matematis untuk dua bilangan bulat positif m dan
n adalah GCDm,nZwillinger, 2003. Misalkan GCD45,36; factor dari 45 = {1, 3, 5, 9, 16, 45} dan factor dari 36 = {1, 2, 3, 4, 9, 12, 18, 36}, maka himpunan nilai yang ada pada factor dua
bilangan tersebut adalah {1, 3, 9} dan yang terbesar adalah 9 maka GCD45,36 = 9. Untuk mendapatkan GCDm,n biasanya ddengan membuat daftar semua factor dari m
dan n, kemudian mencari factor terbesar yang ada pada kedua bilangan bulat tersebut kromodimoeljo, 2010. Akan tetapi, untuk memfaktorkan bilangan yang besar tekadang adalah
hal yang sangat merepotkan, karena perhitungan faktorisasi hanya dapat diselesaikan dengan cara trial and error. Salah satu contoh bilangan besar seperti, 23613864709 adalah hasil dari
pemfaktoran bilangan prima 112849 dan 209263. Jika metode GCD digunakan, maka diperlukan
Universitas Sumatera Utara
12 metode yang menghindari dari pemfaktoran bilangan yang mempunyai nilai prima yang besar
didalamnya dan metode tersebut adalah algoritma Euclidean euclid’s algorithm Gellert, 1975.
Algoritma Euclidean merupakan salah satu teknik dalam teori bilangan yang berfungsi untuk menentukan GCD dari dua bilangan bulat positifPusparani, 2009. Misalkan m dan n
merupakan bilangan bulat positif, dengan m n, jika m n maka dilakukan pertukaran nilai m dan n, misalkan r
= m, r
1
= n, dan r
2
= r mod r
1
maka proses iterasi GCDm,n sebagai berikut:
GCDm,n = r
n
, dimana r
n
adalah sisa terakhir yang lebih besar dari nolMunir, 2007. Contoh ilustrasi metode algoritma Eucledean sebagai berikut, GCD80,12:
Sisa pembagian terakhir sebelum nol adalah 4 maka GCD80,12 = 4.
2.6 Steganografi