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