27
digunakan maka semakin tinggi tingkat keamanan dari metoda kriptografi. Skema Dasar PRNG dapat dilihat seperti pada Gambar 2.8.
Gambar 2.8 Skema Dasar PRNG Dodis, 2010
Semua deretan bilangan acak yang dibangkitkan dari rumus matematika, serumit apapun, dianggap sebagai deret acak semu, karena dapat diulang pembangkitannya.
Sementara itu, banyak produk software yang dinyatakan sebagai produk yang aman karena menggunakan bilangan acak semacam OTP One Time Pad. Namun karena
OTP ini dibangkitkan dari bilangan acak semu, maka keamanan yang diperoleh juga semu. Pembangkit bilangan acak yang sering diimplementasikan adalah Linier
Congruential Generator LCG dan Linear Feedback Shift Register LFSR.
2.7.2. Linear Congruential Generator LCG
Linear Congruential Generator LCG mewakili salah satu algoritma pseudo random
number yang tertua dan paling populer. Algoritma ini diciptakan oleh D. H. Lehmer pada tahun 1951. Teori dari algoritma ini mudah dipahami dan dapat
diimplementasikan secara cepat, hal ini didukung oleh penelitian sebelumnya. Munir, 2011 yang menyimpulkan hasil analisis yang diperoleh bahwa dari segi kecepatan
LCG membutuhkan waktu yang paling pendek dalam menghasilkan bilangan acak dibandingkan dengan metode lain. Keuntungan dari LCG adalah operasinya yang
sangat cepat. LCG dapat didefinisikan dengan rumusan berikut:
= a.
+1
+ b mod m PRNG
Input Seed Rahasia Bilangan acak semu
Universitas Sumatera Utara
28
Dimana : = bilangan acak ke-n dari deretnya
−1 = bilangan acak sebelumnya a = faktor pengali
b = increment m = modulus batas maksimum bilangan acak
a,b, dan m semuanya konstanta LCG
Penentuan nilai awal atau
−1
dan konstanta a, b, dan m akan menentukan kualitas bilangan acak yang dihasilkan. Bilangan acak yang baik pada
umumnya apabila terjadinya perulangan atau munculnya bilangan acak yang sama, dapat terjadi setelah sekian banyak pembangkitan bilangan acak semakin banyak
akan semakin baik serta tidak bisa diprediksi kapan terjadi perulangannya. Periode dari LCG umumnya adalah sebesar nilai m. Masalah pada LCG adalah lower order bit
yang digenerasi mempunyai periode yang lebih pendek dari deretan secara keseluruhan jika m di-set menjadi pangkat 2. Tanpa desain yang benar, dengan m
yang sangat besar, bisa jadi periode bilangan acak yang dihasilkan tidak akan maksimal, bahkan mungkin jauh lebih pendek daripada periode maksimalnya.
Kunci pembangkit adalah yang disebut umpan seed. LCG mempunyai
periode tidak lebih besar dari m. Jika a, b, dan m dipilih secara tepat misalnya b seharusnya relatif prima terhadap m dan b m , maka LCG akan mempunyai periode
maksimal, yaitu m – 1. Sebagai contoh : Untuk membangkitkan bilangan acak
sebanyak 10 kali dengan a=13, b=7, m=11, dan = 2. Dengan menggunakan rumus
pada metode LCG di atas, akan diperoleh hasil sesuai Tabel 2.4.
Universitas Sumatera Utara
29
Tabel 2.4. Hasil Pembangkitan Bilangan Acak dengan Metode LCG Munir, 2011
Universitas Sumatera Utara
30
BAB III
METODOLOGI PENELITIAN
3.1. Metodologi Penelitian