Selasa, 14 Desember 2010

Algoritma Pembangkit Linear Congruential Generator

Bilangan acak erupakan hal yang sangat penting dalam kriptografi. kita memerlukan sebuah bilangan untuk melakukan enkripsi pada email, untuk menandatangani dokumen secara digital, pembayaran elektronik dan lainnya. pada enkripsi kunci simetris dan asimetris bilangan acak digunakan untuk pembangkitan parameter kunci pada algoritmakunci public dan pembangkitan IV pada algoritma kunci simetris.

kali ini coba sharing tentang salah satu algoritma pembangkit pseudorandom nilai yaitu LCG (linear Congruential Generator)
Linear Congruential Generator (LCG) adalah salah satu pembangkit bilangan acak tertua dan sangat terkenal. LCG didefinisikan dalam relasi rekurens (Schneier, 1996):
Xn ยบ (aXn - 1 + b)mod m , yang dalam hal ini,
Xn = bilangan acak ke-n dari deretnya
Xn - 1 = bilangan acak sebelumnya
a = factor pengali
b = penambah (increment)
m = modulus
( a , b , dan m semuanya konstans)
Kunci pembangkit adalah X 0 yang disebut seed (secret seed).
LCG mempunyai periode tidak lebih besar dari m, dan pada kebanyakan kasus periodenya kurang dari itu. LCG mempunyai periode penuh (m - 1) jika memenuhi syarat berikut (Munir, 2006):
1.      b relative prima terhadap m
2.      a – 1 dapat dibagi dengan semua faktor prima dari m
3.      a – 1 adalah kelipatan 4 jika m adalah kelipatan 4
4.      m > maks (a, b, X0)
5.      a > 0, b > 0
Meskipun LCG secara teoritis mampu menghasilkan bilangan acak yang lumayan, namun sangat sensitive terhadap pemilihan nilai-nilai a, b, dan m. pemilihan nilai-nilai yang tidak sesuai dapat mempengaruhi implementasi pada LCG.

Tidak ada komentar:

Poskan Komentar

terima kasi yah
madridista89

Daftar Blog Saya

Entri Populer