matematikawan bernama Eratosthenes ini, sesuai dengan namanya, melakukan penyaringan terhadap suatu kumpulan bilangan menjadi kumpulan bilangan prima
dengan mengeliminasi bilangan yang bukan bilangan prima. Lebih jelasnya, metode Sieve of Eratosthenes digambarkan pada langkah-langkah berikut:
1 Terdapat sebuah larik bilangan dari 2 sampai N.
2 Bilangan terkecil yang tidak dicoret adalah bilangan prima.
3 Coret bilangan ini dan semua kelipatan bilangan ini dalam larik.
4 Ulangi langkah 2 dan 3 sampai semua bilangan dalam larik telah dicoret.
Kita dapat menerapkan teorema tentang bilangan komposit yang telah disebutkan sebelumnya ke dalam metode ini untuk membuatnya lebih mangkus, sehingga langkah-
langkahnya menjadi: 1
Terdapat sebuah larik bilangan dari 2 sampai N. 2
Bilangan terkecil yang tidak dicoret adalah bilangan prima. 3
Coret semua kelipatan bilangan ini dalam larik. 4
Ulangi langkah 2 dan 3 sampai mencapai √� pembulatan.
5 Semua bilangan yang belum dicoret adalah bilangan prima.
2.4 Greatest Common Divisor GCD
Faktor persekutuan terbesar Greatest Common Divisor dari dua bilangan bulat a dan b, dimana keduanya tidak sama dengan nol, adalah bilangan bulat terbesar yang
membagi habis a dan b dinotasikan dengan GCD a, b. Dua buah bilangan a dan b disebut relatif prima apabila GCD a, b = 1 Kaspar, 2006.
2.5 Logaritma Diskrit
Logaritma diskrit adalah fungsi kebalikan dari persamaan eksponensial pada aritmatika modular yang dinyatakan pada persamaan:
u = g
x
mod n ………………………………..1 Bilangan bulat x dikatakan sebagai logaritma diskrit dari u dengan basis g mod n atau
lebih lengkapnya dapat dinyatakan: x = log
g
u mod n……………………………2
Universitas Sumatera Utara
Banyak skema kriptografi yang meletakkan dasar keamanannya pada kesulitan alami di dalam komputasi logaritma diskrit, diantaranya adalah skema kriptografi kunci
publik ElGamal, Digital Signature Algorithm DSA dan skema kriptografi Cramer- Shoup Stallings. 2003.
2.6 Fungsi Hash
Fungsi hash merupakan fungsi yang menerima masukan string yang panjangnya sembarang kemudian mentransformasikannya menjadi string keluaran yang
panjangnya tetap fixed. Umumnya berukuran jauh lebih kecil daripada ukuran string semula. Fungsi hash dilambangkan dengan hk bertugas untuk mengubah k key
menjadi suatu nilai dalam interval [0....X], dimana X adalah jumlah maksimum dari record-record yang dapat ditampung dalam tabel. Jumlah maksimum ini bergantung
pada ruang memori yang tersedia. Fungsi hash yang ideal adalah mudah dihitung dan bersifat acak, agar dapat menyebarkan semua key. Dengan key yang tersebar, berarti
data dapat terdistribusi secara seragam tabrakan dapat dicegah. Sehingga kompleksitas waktu model hash d
apat mencapai Θ1, dimana kompleksitas tersebut tidak ditemukan pada struktur model lain.
Ada dua macam fungsi hash. Pertama adalah fungsi hash tanpa kunci, fungsi hash semacam ini dapat dihitung oleh siapa saja. Kedua adalah fungsi hash dengan
kunci, hanya orang yang memiliki kunci saja yang dapat menghitung message digest yang dihasilkan Menezes et al. 1996.
2.6.1 Fungsi hash SHA-1