Linear Congruential Generator LCG

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