Flowchart Teknik Pemecahan Kunci Algoritma Rivest Shamir Adleman (RSA) Dengan Menggunakan Metode Kraitchik

Halaman Utama Input kunci publik n Periksa d,n,ciphertext Tekan tombol Dekripsi Simpan Tampilkan dialog, Minta input Proses dekripsi Buka aplikasi Pengguna Sistem Tidak ada Ada Pilih opsi Dekripsi RSA Tampilkan window Dekripsi RSA Input kunci privat d Input file ciphertext Tampilkan Open File Dialog Ambil file .txt atau .doc Simpan file plaintext .txt atau .doc Gambar 3.4 Activity diagram untuk use case Dekripsi RSA

3.3. Flowchart

Flowchart diagram alir adalah simbol-simbol yang digunakan untuk menggambarkan sebuah pernyataan logika pemrograman serta aliran logika suatu prosedur dan proses dari pemecahan masalah yang ditunjukkan dengan arah panah Zarlis Handrizal 2010. Berikut ini akan dijelaskan beberapa flowchart dari proses yang berjalan pada Sistem Pemecahan Kunci RSA Metode Kraitchik. Universitas Sumatera Utara 3.3.1. Flowchart pemecahan kunci RSA metode Kraitchik Start Start Input : kunci publik n Input : kunci publik n Inisialisasi k = 1 Hitung x = sqrtn Inisialisasi k = 1 Hitung x = sqrtn x = x + 1 x = x + 1 Apakah x2 – kn = akar sempurna AND x2 – kn ≠ Apakah x2 – kn = akar sempurna AND x2 – kn ≠ No Apakah x + y - k n ≠ 0 AND x- y - k n ≠ Apakah x + y - k n ≠ 0 AND x- y - k n ≠ Hitung y = Sqrtx2 - k N Hitung y = Sqrtx2 - k N Yes k = k + 1 k = k + 1 No Hitung p = x + yk q = x - y Hitung p = x + yk q = x - y Yes Apakah 0 p n AND 0 q n Apakah 0 p n AND 0 q n End End Output: Faktor kunci p,q Output: Faktor kunci p,q Yes No Gambar 3.5 Flowchart pemfaktoran metode Kraitchik Universitas Sumatera Utara Keterangan: Gambar 3.5 menunjukkan gambaran proses pemecahan kunci RSA dengan pemfaktoran metode Kraitchik dan persamaan 1. Adapun proses yang bekerja antara lain: 1. Input kunci publik n. 2. Hitung nilai x yang merupakan akar n, kemudian tentukan nilai k = 1. 3. Lakukan pengulangan dengan meningkatkan nilai x x = x + 1 hingga x 2 – k.n adalah akar sempurna dan x 2 – k.n ≠ 0. 4. Hitunglah y = √x 2 – k.n dan lakukan pengulangan dengan meningkatkan nilai k k = k + 1 hingga x + y – k.n ≠ 0 dan x – y – k.n ≠ 0. 5. Output proses ini adalah nilai p dan q dengan menghitung p = p + qk dan q = p – q jika memenuhi syarat 0 p n dan 0 q n. Jika tidak memenuhi syarat ulangi langkah 4. 3.3.2. Flowchart menghitung kunci publik dan kunci privat Start Start End End Input : Bilangan prima p,q Input : Bilangan prima p,q Inisialisasi e = 2 Hitung n = p.q φn = p-1 q-1 Inisialisasi e = 2 Hitung n = p.q φn = p-1 q-1 Cek apakah GCD e, φn = 1 Cek apakah GCD e, φn = 1 Inisialisasi d = 1 Inisialisasi d = 1 Hitung d = e -1 mod φn Hitung d = e -1 mod φn Output : Publik Key =e,n Privat Key d,n Output : Publik Key =e,n Privat Key d,n Yes A A A A e = e+1 e = e+1 No Gambar 3.6 Flowchart menghitung kunci publik dan kunci privat Universitas Sumatera Utara Keterangan: Gambar 3.6 menunjukkan gambaran proses menghitung kunci privat d dengan pemfaktoran metode Kraitchik dan persamaan 1. Adapun proses yang bekerja antara lain: 1. Input faktor kunci publik n yaitu p dan q. 2. Hitung ɸn = p – 1.q – 1. 3. Pilih kunci publik e, yang relatif prima terhadap φn 4. Kemudian hitung kunci privat d dengan persamaan e.d ≡ 1mod ɸn yaitu melakukan inverse modulo terhadap e menjadi d = e -1 mod ɸn. 5. Output berupa kunci publik e, n dan kunci privat d, n 3.3.3. Flowchart dekripsi RSA Start Start End End Input : Kunci privat d,n, Ciphertext c Input : Kunci privat d,n, Ciphertext c m = c d mod n m = c d mod n Output : Pesan plaintext m Output : Pesan plaintext m Gambar 3.7 Flowchart proses dekripsi RSA Keterangan: Gambar 3.7 menunjukan gambaran proses dekripsi RSA. Adapun proses yang bekerja antara lain: 1. Ciphertext didekripsi dengan rumus m = c d mod n menggunakan kunci privat d yang telah didapat sebelumnya 2. Dengan menggunakan pasangan kunci privat d, n dan rumus dekripsi m = c d mod n, sebuah ciphertext di ubah ke dalam bentuk plaintext-nya. Output dari proses ini merupakan sebuah pesan asli plaintext. Universitas Sumatera Utara

3.4. Pseudocode