Pembangkit Bilangan Acak Linear Congruential Generator LCG

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

Bilangan acak adalah bilangan yang tidak dapat diprediksi kemunculannya. Tidak ada komputasi yang benar – benar menghasilkan deret bilangan acak secara sempurna. Banyak algoritma atau metode yang dapat digunakan untuk membangkitkan bilangan acak salah satunya adalah pembangkit bilangan acak Linear Congruential Generator LCG.LCG adalah salah satu pembangkit bilangan acak tertua dan sangat terkenal.LCG didefinisikan dalam relasi rekurens yaituSchneier, 1996 : xn = ax n -1 + b mod m…………………………………………………….. 2.10 Universitas Sumatera Utara Yang dalam hal ini: xn = bilangan acak ke-n dari deretnya xn - 1 = bilangan acak sebelumnya a = faktor pengali b = penambah increment m = modulus a, b , dan m semuanya konstanta Sebagaimana yang telah dilakukan Oni 2011 Jika dilihat dari sisi kecepatan, Linear Congruential Generator LCG mempunyai waktu yang lebih cepat dibandingkan dengan algoritma SIMD- Oriented Fast Mersenne TwisterSFMT dan Well Equidistributed Long-Period Linear WELL dapat dilihat pada tabel 2.1. Tabel 2.1. Perbandingan Kecepatan Waktu Penghasilan Angka Algoritma LCG SFMT WELL Waktu Penghasilan Angka 0,527 1.017 1.970 Jika dilihat dari angka yang dihasilkan, algoritma Linear Congruential Generator LCG memiliki kelemahan.Sebab angka bilangan acak yang dihasilkan dapat diprediksi urutan kemunculannya. Dapat dilihat pada contoh berikut : Misalkan : a = 5 b = 13 m = 19 Maka rangkaian bilangan acak yang dibangkitkan adalah : Universitas Sumatera Utara Tabel 2.2. Contoh bilangan acak yang dihasilkan dari persamaan LCG n xn 1 13 2 2 3 4 4 14 5 7 6 10 7 6 8 5 9 10 13 11 2 12 4 13 14 14 7 15 10 16 6 17 5 18 19 13 20 2 21 4 22 14 23 7 24 10 25 6 26 5 27 Dari hasil contoh pada tabel 2.1 dan tabel 2.2 dapat diketahui bahwa keunggulan LCG terletak pada kecepatannya dan hanya membutuhkan sedikit operasi bit. Sebenarnya, LCG tidak dapat digunakan untuk kriptografi karena bilangan acaknya dapat diprediksi urutan kemunculannya dapat dilihat pada tabel 2.2. Meskipun secara teoritis LCG mampu menghasilkan bilagan acak yang lumayan, namun ia sangat sensitif terhadap pemilihan nilai a, b, dan m. Pemilihan Universitas Sumatera Utara nilai – nilai yang buruk dapat mengarah pada implementasi LCG yang tidak bagus.Oleh karena itu pada penelitian ini, penulis ingin melakukan pengujian dan analisa dengan menggunakan algoritma LCGdalam perancangan aplikasi kriptografi RSA. Universitas Sumatera Utara

BAB III METODOLOGI PENELITIAN

3.1. Perumusan Algoritma Kunci Publik RSA

RSA melibatkan kunci publik dan kunci privat Kunci publik dapat diketahui semua orang dan digunakan untuk mengenkripsi pesan. Pesan dienkripsi dengan kunci publik hanya dapat didekripsi menggunakan kunci privat. Kunci untuk algoritma RSA yang dihasilkan dengan cara berikut: 1. Pilih dua yang berbeda perdana nomor p dan q. Untuk tujuan keamanan, bilangan bulat p dan q harus dipilih secara acak dengan menggunakan metode LCG dan menggunakan tes primality dengan metode The Sieve Of Eratosthenes. 2. Hitung n = pq. n digunakan sebagai modulus untuk kunci publik dan privat. 3. Hitunglah Φn = p - 1 q - 1, di mana Φ adalah fungsi totient Euler . 4. Pilih e bilangan bulat sedemikian sehingga 1 e Φ n dan FPB e, Φ n = 1, e dan Φ yaitu n adalah relatif prima coprime . 5. Tentukan d = e mod Φ -1 invers perkalian n; yaitu d adalah dari mod Φe n. dengan rumus berikut Mollin, 2007 : ……………………………………3.1 d adalah eksponen disimpan sebagai kunci pribadi. Kunci publik terdiri dari modulus n dan e atau enkripsi eksponen publik. Kunci privat terdiri dari modulus n dan atau dekripsi swasta eksponen d yang harus dirahasiakan. Untuk perancangan aplikasinya dapat dilihat pada flowchart berikut : d = e 1 + k mod Φn Universitas Sumatera Utara