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