Proses pembangkitan kunci pengirim sama halnya dengan membangkitkan kunci privat dan publik pada algoritma Rabin pada umumnya. Hanya saja akan
dihitung nilai totien � dari bilangan yang terpilih. Nilai totien ini akan dikirim ke
penerima bersama dengan nilai modulus. Berikut adalah proses pembangkitan kunci privat dan publik algoritma Rabin:
1. Dengan mengunakan algoritma Sieve of Eratosthenes, bangkitkan bilangan prima
dan pilih bilangan p dan q, dimana � ≡ � ≡ 3��� 4. Sebagai contoh p = 79
dan q = 59. Bilangan p dan q menjadi kunci privat 2.
Hitung nilai n = pq = 4661, dimana n sebagai kunci publik 3.
Hitung nilai � = � − 1� − 1 = 4524
4. Bilangan n dan
� yang kemudian kirim bersama dengan pesan terenkripsi ke penerima pesan.
Proses Pembangkitan Kunci Penerima Kunci RSA
Proses pembangkitan kunci penerima sama halya dengan membangkitkan kunci privat dan publik pada algoritma RSA. Perbedaannya adalah sistem tidak akan
melakukan pembangkitan bilangan prima p dan q, tetapi menggunakan nilai totien yang dikirimkan oleh pengirim pesan.
Berikut ada proses pembangkitan kunci privat dan publik algoritma RSA menggunakan nilai totien pada proses pembangkitan kunci Rabin sebelumnya:
1. Misalkan penerima pesan menerima nilai totien
� = 4524. 2.
Pilih secara acak nilai edimana gcd
��, ��� = 1, sehingga nilai e yang terpilih adalah 1639
3. Bangkitkan kunci privat d dengan menggunakan algoritma extended euclidean.
�� ≡ 1���� ��� � = 3511
3.1.3.2 Analisis Pesan
Pesan yang diterima oleh sistem berupa teks, yaitu huruf capital, huruf kecil, bilangan, tanda baca dan karakter lain pada umumnya. Dikarenakan algoritma Rabin dan RSA
adalah menggunakan proses bilangan, sehingga input kedua algorima ini berupa
bilangan. Sehingga input berupa teks akan diubah kedalam bentuk bilangan dengan menggunakan kode ASCII dari setiap karakter teks.
Pada algoritma Rabin, proses dekripsi akan menghasilkan 4 bilangan dimana salah satunya adalah hasil yang benar dari proses dekripsi. Sehingga untuk
menentukan bilangan yang tepat, dilakukan modifikasi bilangan input dengan cara mengubah setiap bilangan ke dalam bentuk biner, kemudian hasil bilangan biner
tersebut digandakan dan digabungkan kembali sehingga akan menghasilkan bilangan input baru. Langkah-langkah nya sebagai berikut:
1. Sebagai contoh bilangan 65 diubah menjadi biner yaitu “1000001”
2. Kemudian bilangan biner tersebut digandakan dan digabungkan menjadi
“10000011000001”. 3.
Bilangan biner baru tersebut kemudian diubah menjadi bilangan desimal menjadi 8385. Bilangan ini yang akan mengalami proses enkripsi dan dekripsi
selanjutanya. Proses pengolahan input pesan dapat dilihat pada Tabel3.1:
Tabel 3.1. Proses Analisis Pesan
Input text J
A N
ASCI 74
65 78
Biner 1001010
1000001 1001110
Penggandaan biner 10010101001010
10000011000001 10011101001110
Bilangan akhir 9546
8385 10062
3.1.3.3 Analisis Pengiriman Pesan Dengan Three-Pass Protocol
Seperti yang sudah disebutkan sebelumnya, skema pengiriman pesan dengan menggunakan Three-Pass Protocol akan menggunakan dua algoritsma kriptografi
yang berbeda, dimana pengirim akan menggunakan algoritma Rabin sedangankan penerima akan menggunakan algoritma RSA.
Proses enkripsi pertama kali dilakukan oleh pengirim pesan dengan menggunakan algoritma Rabin dengan kunci publik penerima yang sudah
dibangkitkan sebelumnya. Seperti yang sudah dijelaskan sebelumnya, pesan pengirim sebelumnya sudah diproses dan mengalamin penggadaan bilangan binernya. Hal ini
dilakukan agar dapat menentukan hasil yang benar saat melakukan dekripsi dengan algoritma Rabin. Kemudian pesan akan dikirim ke penerima dan oleh penerima akan
dienkripsi menggunakan algoritma RSA dengan kunci publik penerima. Hasil enkripsi penerima kemudian akan dikirimkan kembali ke pengirim pesan dan oleh pengirim
pesan, pesan di dekripsi dengan algoritma Rabin. Dekripsi ini akan menghasilkan 4 pilihan hasil dimana salah satunya adalah bilangan yang tepat. Tetapi proses
penentuan hasil dekripsi Rabin yang benar akan dilakukan oleh penerima pesan. Kemudan setiap hasil dekripsi pengirim akan dikirim kembali ke penerima. Oleh
penerima, setiap hasil dekripsi pengirim akan didekripsi mengunakan algoritma RSA. Setelah proses ini selesai, makan ditentukan pilihan hasil yang tepat dengan kembali
mengubah bilangan hasil dekripsi ke bilangan biner. Kemudian jumlah digit bilangan biner tersebut akan dibagi dua, jika dua bagian bilangan biner tersebut sama maka
bilangan tersebut adalah hasil yang benar. Simulasi dari skema pengiriman pesan dapat dilihat pada table 3.2, 3.3 dan 3.4
berikut:
Tabel 3.2. Simulasi Pemrosesan Input
Input A
Kode ASCII 65
Bilangan Biner 1000001
Penggandaan Biner 10000011000001
Bilangan akhir 8385
Tabel 3.3. Simulasi Pembangkitan Kunci
Rabin Pengirim RSA Penerima
Kunci publik n : 180577
e : 73295 n : 180577
Kunci privat p : 359
q : 503 d : 118807
Tabel 3.4. Simulasi Skema Pengiriman Pesan dengan Three-Pass Protocol Input
Algoritma Kunci
Three- Pass
User Hasil
8385 Rabin
enkripsi n : 180577 TPP 1
Pengirim 63772
63772 RSA
enkripsi e : 73295
n : 180577 TPP 2
Penerima 123934
123934 Rabin
dekripsi p : 359
q : 503 TPP 3
Pengirim •
25164 •
120231 •
60346 •
155413 •
25164 •
120231 •
60346 •
155413 RSA
dekripsi d : 118807 -
Penerima •
132958 = 100000011101011110
• 172192 =
101010000010100000 •
8385 = 10000011000001
1000001 = 65 = A •
47619 = 1011101000000011
3.1.4 Pemodelan Sistem