2.4.2. Algoritma Pembangkit Bilangan Acak Semu
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 Programmable. 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. Beberapa algoritma lainnya yang dapat digunakan untuk membangkitkan deretan
bilangan acak semu selain Linier Congruential Generator LCG adalah sebagai berikut :
1. Non Linear Feedback Shift Register NLFSR. 2. Indirection, Shift, Accumulate, Add and Count ISAAC.
3. Lagged Fibonacci Generator LFG. 4. Mersenne - Twister.
5. Fortuna. 6. Blum-Blum Shub.
2.5 Probabilistic Encryption
Probabilistic encryption adalah penggunaan keadaan acak pada sebuah algoritma
kriptografi, sehingga ketika mengenkripsi pesan yang sama beberapa kali, secara umum, akan menghasilkan ciphertext yang berbeda. Bentuk ‘probabilistic
encryption ’ secara khusus digunakan pada algoritma kriptografi kunci publik, ide
dari probabilistic encryption pertama kali ditemukan oleh Shafi Goldwasser dan Silvio Micali
. Inti dari metode probabilistic encryption adalah untuk mengeliminasi
kebocoran informasi dengan kriptografi kunci publik, karena metode ini menerapkan konsep acak dalam proses enkripsinya sehingga setiap kali proses
enkripsi terhadap pesan yang sama akan menghasilkan nilai ciphertext yang berbeda. Hal ini menyebabkan seorang cryptanalyst tidak dapat menerka bentuk
Universitas Sumatera Utara
pesan dari ciphertext yang diperolehnya, karena setiap kali proses percobaan akan selalu menghasilkan nilai yang berbeda-beda.
Algoritma enkripsi kunci publik probabilistic yang ditemukan oleh Shafi Goldwasser
dan Silvio Micali ini memiliki teori yang membuatnya menjadi kriptosistem yang paling aman, yaitu berdasarkan pada kesulitan dari problema
kuadratik residu dan memiliki sebuah faktor ekspansi pesan yang sama dengan
ukuran kunci publik. Problema ini adalah untuk menemukan apakah x merupakan kuadrat modulo
sebuah bilangan integer n. Problema ini dapat diselesaikan jika faktor dari n diketahui, tetapi tidak dapat diselesaikan jika tidak diketahui.Micali,
1984 . Algoritma probabilistic encryption memiliki proses kerja yang sama
dengan algoritma kriptografi lainnya, dimana dapat dibagi menjadi tiga bagian besar, yaitu:
1. Proses pembentukan kunci, yang berfungsi untuk menghasilkan kunci yang akan digunakan pada proses enkripsi dan dekripsi.
2. Proses enkripsi, yang berfungsi untuk menghasilkan ciphertext dari pesan dengan menggunakan kunci publik.
3. Proses dekripsi, yang berfungsi untuk mengubah ciphertext menjadi pesan semula dengan menggunakan kunci private.
2.6. Pembangkit Bilangan Acak Linear Congruential Generator LCG