Pengujian Pengujian dilakukan terhadap algoritma kombinasi Beaufort Cipher dan Affine Cipher

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