Komponen Kriptografi LANDASAN TEORI

10 1. Dapat diulang. Sekumpulan barisan bilangan yang sama harus bisa diperoleh diulang dengan menggunakan seed yang sama, hal ini kadang – kadang diperlukan untuk pemeriksaan dan penelusuran program debugging. 2. Keacakan. Barisan bilangan harus memenuhi syarat keacakan secara seragam uniform yang dapat diuji melalui uji statistika. 3. Periode panjang. Karena pada dasarnya bilangan acak itu merupakan barisan berulang dengan berbagai periode, maka periode pengulangan harus sangat besar atau lama melebihi banyaknya bilangan acak yang diperlukan. Tidak peka seed. Sekalipun barisan bilangannya bergantung pada seed tetapi sifat keacakan dan periodisasi sedapat mungkin tidak bergantung pada seed -nya. Secara umum, sebuah PRNG didefinisikan sebagai algoritma kriptografi yang digunakan untuk menghasilkan bilangan secara acak. Pengertian acak sendiri adalah bilangan yang dihasilkan dalam setiap waktu tidaklah sama. Sebuah PRNG memiliki sebuah kondisi awal K yang rahasia. Saat digunakan, PNRG harus membangkitkan output acak yang tidak dapat diidentifikasi oleh kriptanalis yang tidak tahu dan tidak dapat menebak kondisi awal K. Dalam hal ini, PRNG memiliki kesamaan dengan cipher aliran. Akan tetapi, sebuah PRNG harus mampu mengubah kondisi awalnya dengan memproses input sehingga tidak dapat diprediksi oleh kriptanalis. Umumnya PRNG memiliki kondisi awal yang tidak sengaja dapat ditebak oleh kriptanalis dan harus mengalami banyak proses sebelum kondisinya aman dan rahasia. Patut dipahami bahwa sebuah input untuk PRNG mrmiliki informasi rahasia yang tidak diketahui oleh kriptanalis. Input – input ini umumnya diperoleh dari proses – proses fisik, interaksi user dengan mesin, atau proses eksternal lain yang sulit diprediksi. Dalam desain dan implementasi harus dapat dipastikan bahwa input – input ini memiliki cukup jaminan keamanan dan kerahasiaan. 11 Kebanyakan algoritma dari PRNG ditujukan untuk mengahasilkan suatu sampel yang secara seragam terdistribusi. PRNG ini sering digunakan dalam kriptografo pada proses pembentukan kunci dari metode kriptografi. Tingkat kerumitan dari PRNG menentukan tingkat keamanan dari metode kriptografi. Semakin rumit PRNG yang digunakan maka semakin tinggi tingkat keamanan dari metode kriptografi Richard A, 2005. PRNG Bilangan acak semu Input seed rahasia Gambar 2.3 Skema Dasar PRNG Semua deretan bilangan acak yang dibangkitkan dari rumus matematika, serumit apapun, dianggap sebagai deret acak semu, karena dapat diulang pembangkitnya. Sementara itu, banyak produk software yang dinyataan 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.

2.7 Mersenne Twister

Mersenne Twister merupakan suatu pseudo random number generator yang dikembangkan pada tahun 1997 oleh Makoto Matsumoto dan Takuji Nishimura. Algoritma ini menawarkan generasi yang cepat dari bilangan acak kualitas tinggi, telah dirancang secara khusus untuk mengatasi setiap cacat yang ditemukan pada algoritma terdahulu. Terdapat dua varian dari algoritma, yang paling baru dan lebih umum dipakai adalah Mersenne Twister MT 1993. Algoritma ini mempunyai properti sebagai berikut :