Pada Gambar 4.4 diberikan halaman yang dapat digunakan untuk melakukan enkripsi dan dekripsi pesan dengan metode Three-pass Protocol. Pada awal penggunaannya
akan dicari sebuah file teks yang isinya akan dirahasiakan. Sistem akan mengacak kunci enkripsi Beaufort Cipher berdasarkan pesan plainteks yang dimasukkan.
Ketika tombol enkripsi pada Beaufort Cipher diberi aksi maka sistem akan menghasilkan cipherteks yang pertama. Penerima akan menerima cipherteks pertama
dan melakukan enkripsi kembali dengan Affine Cipher. Pesan akan didekripsi dengan algoritma Beaufort Cipher lalu kembali didekripsi dengan algoritma Affine Cipher
sehingga menghasilkan pesan asli yang sampai pada pihak penerima.
4.2 Pengujian Pengujian dilakukan terhadap algoritma kombinasi Beaufort Cipher dan Affine Cipher
pada Three-pass Protocol untuk mengukur keberhasilan sistem dalam melakukan proses enkripsi dan dekripsi kedua algoritma. Pada pengujian ini parameter yang
dihitung adalah waktu kombinasi kedua algoritma melakukan enkripsi dan dekripsi. Pengujian ini dilakukan dengan beberapa kriteria sebagai berikut :
1. Plainteks berupa kalimat yang terdiri dari karakter ASCII Printable dengan panjang 12, 20 dan 60 karakter bersumber dari file teks .doc atau langsung
pada textbox tersedia. 2. List yang digunakan adalah
= {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, g, h, i, j, k,
l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, ., ,, , , , , , , , , , {, }, [, ], +, -, =, , , , :, ;, _, ?, |, `, ~, \\
, , ‘ ‘} |
| = 93 3. Kunci Beaufort Cipher terdiri dari karakter ASCII Printable yang
dibangkitkan secara acak dengan RandomNumber Python. 4. Kunci Affine Cipher terdiri dari Bilangan Prima dan Shiff Pergeseran.
Karakter yang dibangkitkan secara acak bilangan prima adalah 6 digit. Hal ini berdasarkan analisis digit bilangan prima oleh Ummi 2014, beliau
menyimpulkan untuk 3 digit prima perbandingan plainteks dan cipherteks adalah 562 sedangkan 6 digit 1100 . Karakter yang dibangkitkan untuk
pergeseran adalah 9 digit yaitu batas maksimal dari pengolahan digit pada tools
yang digunakan. Pada dasarnya tidak ada aturan digit untuk pergeseran.
Universitas Sumatera Utara
Bila pergeseran lebih besar maka peluang angka pergeseran untuk dipecahkan sangat kecil.
5. Perhitungan waktu dari bahasa pemrograman Python 3.1.3 secara manual.
Tampilan pengujian ditunjukkan seperti Gambar 4.5.
Gambar 4.5 Tampilan Contoh Pengujian Plainteks = kriptografi.
Gambar 4.5 menjelaskan hasil dari plainteks ‘kriptografi.’. Pengujian ini dimulai dari dimasukkannya file .doc lalu isi file dibaca. Pengguna melakukan pengacakan pada
kunci Beaufort Cipher dan melakukan enkripsi Beaufort Cipher. Selanjutnya pengguna akan mengacak kunci Affine Cipher dan menlakukan enkripsi Affine Cipher.
Selanjutnya pengguna melakukan dekripsi pada Beaufort Cipher dan melakukan dekripsi pada Affine Cipher. Sehingga, menghasilkan plainteks awal yang
dimasukkan.
4.2.1 Kunci Beaufort Cipher
Kunci Beaufort Cipher dihasilkan dari akumulasi penjumlahan index karakter dengan bilangan yang diacak oleh RandomNumber Python. Sehingga, panjang dari kunci ini
pasti sama dengan panjang plainteks yang dimasukkan. Misalkan, karakter yang menjadi plainteks adalah k = 46 dan RandomNumber Python = 100 maka, 46 + 100
= 146 dan dimodulokan dengan jumlah keseluruhan list sehingga akan didapatkan indeks pada list 53 =
r. ‘r’ akan menjadi kunci Beufort Cipher untuk menghasilkan
Universitas Sumatera Utara
cipherteks yang pertama. Ilustrasi perhitungan kunci Beaufort Cipher dapat ditunjukkan seperti Tabel 4.1. Tampilan pada sistem ditunjukkan pada Gambar 4.6.
Gambar 4.6 Tampilan Plainteks Awal dan Acak Kunci Beaufort Cipher
Gambar 4.6 menunjukkan hasil pengacakan kunci Beaufort Cipher yang berasal dari plainteks awal.
Tabel 4.1 Proses Perhitungan Kunci Beaufort Cipher
Pl K
B
Pl + BilAcak
Mod n
List Index
Index List
k 46
26 r
53 37
b i
44 1
B p
51 12
M t
55 50
o o
50 9
J g
42 58
w r
53 70
a 36
40 e
f 41
39 d
i 44
80 .
62 20
U Pada Tabel 4.1 terdapat plainteks dengan masing
– masing index. Pada kolom yang kedua terdapat hasil index yang didapatkan berdasarkan penjumlahan dengan bilangan
acak yang tidak dapat diprediksi jumlah kemunculannya. Selanjutnya dioperasikan dengan Modulo agar index tidak keluar dari janagkauan n list.
Universitas Sumatera Utara
4.2.2 Kunci Affine Cipher Kunci Affine Cipher terdiri dari dua parameter bilangan yaitu bilangan prima dan
bilangan pergeseran. Kedua bilangan dihasilkan dari bilangan yang diacak oleh RandomNumber
Python. Untuk mendapatkan bilangan prima dilakukan pengecekan prima dengan Algoritma Lehmann terhadap bilangan acak yang dikeluarkan. Untuk
mendapatkan pergeseran hanya dengan mengacak RandomNumber Python. Tampilan pada sistem dapat ditunjukkan pada Gambar 4.7.
Gambar 4.7 Tampilan Plainteks Awal dan Acak Kunci Affine Cipher
Gambar 4.7 menunjukkan hasil dari pengacakan RandomNumber Python 3.1.3. Pada pengacakan ini tidak ada karakter yang berhubungan dengan plainteks awal. Nilai
acak yang diberikan RandomNumber dapat dilihat pada Tabel 4.2.
Tabel 4.2 Jenis Acak Kunci Affine Cipher
Plainteks Kunci
Bilangan Prima
BilAcak Pergeseran
BilAcak
kriptografi. 790969
826383674 870367
177885499 387437
517307094 704897
271400647 514453
683802805 Tabel 4.2 ini menunjukkan hasil dari pengacakan bilangan prima dan pergeseran dari
RandomNumber Python 3.1.3. Bilangan Acak yang dihasilkan untuk bilangan prima
telah melewati Algoritma Lehmann terlebih dahulu untuk memastikan bilangan itu prima dengan keyakinan diatas 50.
Universitas Sumatera Utara
4.2.3 Enkripsi Beaufort Cipher Enkripsi pada tahap ini akan dihasilkan cipherteks yang pertama. Cipherteks ini
terdiri dari kata sandi yang panjang karakternya sama dengan panjang plainteksnya. Pada enkripsi ini diperlukan kunci di mana panjang karakternya juga sama dengan
plainteksny a. Misalkan, kata plainteks = ‘kriptografi.’ dan kunci = ‘0bBMoJwedU’.
Tampilan pada sistem dapat ditunjukkan pada Gambar 4.8.
Gambar 4.8 Tampilan Hasil Cipherteks I
Gambar 4.8 menunjukkan hasil cipherteks yang pertama. Cipherteks ini didapat melalui operasi pengurangan dari kunci Beaufort Cipher terhadap plainteks awal.
Operasi pengurangan dapat dilihat pada Tabel 4.3.
Tabel 4.3 Proses Enkripsi Beaufort Cipher
Plainteks Index pada
List Kunci
Index pada List
C
K – P
Mod n C1
k 46
26 73
{ r
53 b
37 77
+ i
44 B
1 50
o p
51 M
12 54
s t
55 o
50 88
` o
50 J
9 52
q g
42 w
58 16
Q r
53 70
17 R
a 36
e 40
4 E
f 41
d 39
91 i
44 80
36 a
. 62
U 20
51 p
Universitas Sumatera Utara
Pada Tabel 4.3 dihasilkan cipherteks pertama yang ditunjukkan pada kolom C1. Cipherteks ini dihasilkan dari kunci yang telah diacak dan dikurangi dengan index
pada plainteks. Hasil pengurangan bilangan itu dimodulo dengan n list.
4.2.4 Enkripsi Affine Cipher
Enkripsi pada tahap ini akan menghasilkan cipherteks yang kedua. Cipherteks ini terdiri dari kata sandi yang panjang karakternya sama dengan panjang cipherteks
pertama. Pada enkripsi ini diperlukan kunci dengan parameter bilangan prima dan pergeseran. Diketahui
plainteks = ‘kriptografi.’ dan kunci Bilangan Prima = 598711 dan Pergeseran = 54726078. Tampilan sistem dapat dilihat pada Gambar 4.9.
Gambar 4.9 Tampilan Hasil Cipherteks II
Gambar 4.9 menunjukkan hasil cipherteks yang kedua. Cipherteks ini dihasilkan dari perkalian plainteks berupa cipherteks pertama terhadap bilangan prima yang diacak.
Selanjutnya dilakukan penjumlahan sebaganyak bilangan pergeseran yang telah diacak oleh sistem. Ilustrasi perhitungan dapat ditunjukkan pada Tabel 4.4.
Universitas Sumatera Utara
Tabel 4.4 Proses Enkripsi Affine Cipher
Plainteks Index
List Kunci
C
m.P + b Mod n