Proses Kerja Fungsi Pendukung

Start Input Manual Ya Tidak Validasi Input Tidak valid Valid Input bilangan p dan q Hitung nilai n = p q Input Manual Ya Tidak Validasi Input Tidak valid Valid Input nilai d Hitung nilai invers modulo e = d -1 mod Øn Kunci Privat Kunci Publik End Bangkitkan bilangan prima yaitu p dan q, dengan menggunakan metode Rabin Miller Ambil nilai d secara acak Hitung nilai Øn = p - 1 q - 1 Gambar 3.6. Dekripsi Pada Algoritma Rivest Shamir Adleman RSA

3.4.3. Proses Kerja Fungsi Pendukung

Proses kerja dari fungsi-fungsi pendukung yang digunakan dapat dijabarkan sebagai berikut: 1. Fungsi Fast Exponentiation, dengan parameter input berupa variabel numerik A, B, dan C. Proses kerjanya dapat dilihat pada gambar 3.7: Universitas Sumatera Utara Start A1 = A B1 = B Product = 1 IF B1 0 IF B1 mod 2 = 0 B1 = B1 \ 2 A1 = A1 A1 mod C B1 = B1 - 1 Product = Product A1 mod C Ya Tidak Ya Tidak End FFastExp = Product Gambar 3.7 Proses Kerja dari Fungsi Fast Exponentiation 2. Fungsi Pengujian Bilangan Prima Rabin Miller, dengan parameter input berupa variabel numerik pnP dan pnA. Proses kerjanya dapat dilihat pada gambar 3.8: Universitas Sumatera Utara Start pnC = pnP - 1 nTemp = 0 IF pnC mod 2nTemp = 0 AND 2nTemp pnP nTemp = nTemp +1 Ya Tidak pnB = nTemp -1 pnM = pnC 2 pnB pnJ = 0 pnZ = fungsi FFastExppnA, pnM, pnP IF pnZ = 1 OR pnZ = pnP - 1 pnP merupakan bilangan prima IF pnJ 0 AND pnZ = 1 pnP bukan bilangan prima IF pnJ pnB AND pnZ pnP - 1 pnJ = pnJ + 1 pnZ = fungsi FFastExppnZ, 2, pnP Ya Ya Tidak Tidak Ya IF pnZ = pnP - 1 IF pnJ = pnB AND pnZ pnP - 1 pnP merupakan bilangan prima pnP bukan bilangan prima Ya Ya Tidak Tidak End Gambar 3.8 Proses Kerja dari Fungsi Pengujian Bilangan Prima Rabin Miller 3. Fungsi Pembangkitan Bilangan Prima dengan Rabin Miller, tanpa parameter input. Proses kerjanya dapat dilihat pada gambar 3.9: Universitas Sumatera Utara Start nP = nRandom c80 = FTest80PnP IF c80.Prima Ya bSuccess = FIsRabinMillernP, nA IF bSuccess Ya Lanjutkan Tes untuk nilai nA yang lain ? Tidak Tidak Ya nA = Bangkitkan bilangan acak End Tidak nP bukan bilangan prima nP merupakan bilangan prima Gambar 3.9. Proses Kerja dari Fungsi Pembangkitan Bilangan Prima Rabin Miller 4. Fungsi GCD, dengan parameter input berupa variabel numerik A dan B. Proses kerjanya dapat dilihat pada gambar 3.10. : Universitas Sumatera Utara Start P = A Q = B IF Q 0 R = P mod Q P = Q Q = R GCD = P End Ya Tidak Gambar 3.10. Proses Kerja dari Fungsi GCD

3.5. Perancangan Program

Adapun perancangan program yang penulis buat, guna memberikan gambaran tentang system yang dibangun adalah sebagai berikut : a. Tampilan Utama Menu Program Pada saat program aplikasi dijalankan, maka terlebih dahulu akan tampil menu pilihan yang berfungsi untuk menentukkan pilihan menu apa yang pengguna inginkan. Adapun isi dari menu dapat digunakan antara lain : 1. Menu file berfungsi untuk melakukan proses membuka file, menyimpan file dan keluar dari program. 2. Menu proses berfungsi untuk melakukan proses enkripsi, dekripsi, input kunci, membatalkan proses yang berjalan dan melihat tampilan cipher. 3. Menu Options yang terdiri dari Pengaturan seperti setting penyimpanan file, Tampilan laporan dan pemilihan metode seperti metode Rabin dan RSA. 4. Menu help terdiri dari pilihan berupa informasi pemberitahuan mengenai cara mengenkripsi dan mendekripsi, mengetahui informasi tentang sipenulis. Universitas Sumatera Utara