BAB III
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Analisis sistem adalah penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan.
3.1.1 Analisis Masalah
Masalah yang akan diselesaikan menggunakan sistem ini adalah pengamanan file dalam bentuk .txt, .rtf, .pdf, yang akan dikirim melalui suatu jaringan yang berupa internet agar tidak terjadi hal-hal yang tidak diinginkan seperti yang kita ketahui. Analisis masalah ini secara spesifik diilustrasikan pada gambar 3.1 yang dirancang dalam bentuk diagram Ishikawa.
Gambar 3.1 Diagram Ishikawa
3.1.2 Analisis Persyaratan
Analisis persyaratan dilakukan untuk menjelaskan fungsi-fungsi yang ditawarkan dan mampu dikerjakan oleh sistem. Analisis persyaratan terbagi atas 2 bagian, yaitu persyaratan fungsional dan persyaratan nonfungsional.
1. Persyaratan Fungsional
Untuk menerapkan hybrid cryptosystem algoritma Enigma dan Rabin-Williams, persyaratan yang harus dipenuhi adalah:
1. Membaca masukan file teks dan menyimpan kembali sebagai Plaintext, kunci Rabin-Williams, Cipherkey dan Ciphertext.
2. Membangkitkan bilangan prima dan untuk pengecekan bilangan prima menggunakan Algoritma Lehmann
3. Melakukan enkripsi/dekripsi Plaintext dengan algoritma Enigma
4. Melakukan enkripsi/dekripsi kunci Enigma dengan algoritma Rabin-Williams.
2. Persyaratan Nonfungsional
Persyaratan nonfungsional yang harus dipenuhi adalah: 1. Performa
Sistem dapat mengenkripsi file teks dengan hanya memerlukan waktu yang singkat dan mendekripsi Ciphertext kembali sesuai dengan aslinya.
2. Mudah digunakan
Sistem yang di bangun harus sederhana dan user friendly agar mudah digunakan.
3. Model penyimpanan data
Data file kunci publik Rabin-Williams dan kunci privat Rabin-Williams
disimpan pada file teks dalam bentuk ekstensi *.kprw dan *.kprrw. Sedangkan data pesan teks yang di hasilkan baik berupa Ciphertext,
Cipherkey dan Plaintext di simpan di alamat file khusus dalam bentuk *.Enigma, *.cipEnigma.
4. Dokumentasi
5. Kontrol
Sistem yang akan dibangun memiliki pesan error jika pengguna menginputkan huruf kecil dan angka dikarenakan sistem hanya mengenal huruf kapital.
6. Ekonomi
Aplikasi yang akan dibangun tidak membutuhkan biaya dan perangkat tambahan.
3.1.3 Analisis Pemodelan Sistem
Pemodelan sistem bertujuan untuk menggambarkan semua kondisi, kebutuhan dan bagian-bagian yang berperan dalam sistem yang di rancang. Pemodelan sistem dirancang dengan membuat use case, activity diagram dan sequence diagram.
1. Use-Case Diagram
Use-case diagram adalah diagram use-case yang digunakan untuk menggambarkan secara ringkas siapa yang menggunakan sistem dan apa saja yang bisa dilakukannya. Diagram use-case tidak menjelaskan secara detail tentang penggunaan use-case, namun hanya memberi gambaran singkat hubungan antara
use-case, aktor, dan sistem. Sebuah relasi dari sebuah base use-case ke sebuah
inclusion use-case dihubungkan dengan garis putus-putus dengan keterangan include sedangkan relasi dari sebuah extension use-case ke sebuah base use-case
Gambar 3.2 Diagram Use-Case
Berikut ini merupakan tabel dokumen naratif use case yang dapat dilihat pada tabel 3.1, tabel 3.2, tabel 3.3, tabel 3.4, tabel 3.5, tabel 3.6, table 3.7 dan tabel 3.8.
Tabel 3.1 Dokumentasi Naratif Use Case Enkripsi Enigma
Nama Use Case Enkripsi Pesan Enigma
Actor Pengirim
Description Use case ini menampilkan Enkripsi pesan dengan menggunakan algoritma Enigma
Pre-Condition Aplikasi siap menerima inputan.
Typical course
of Event
Kegiatan Pengguna Respon Sistem 1. Menekan tombol
import untuk mengambil file
2. Menampilkan File teks yang akan di enkripsi
Alternatecourse Aksi Actor Respon sistem
Tabel 3.2 Dokumentasi Naratif Use Case Menerima Kunci Publik
Nama Use Case Menerima kunci public Rabin-Williams
Actor Pengirim
Description Use case ini menampilkan kunci public algoritma Rabin-Williams
Pre-Condition Aplikasi siap menerima inputan.
Typical course
of Event
Kegiatan Pengguna Respon Sistem 3. Menekan tombol
bangkit kunci
4. Menampilkan kunci publik
Alternatecourse Aksi Actor Respon sistem
Post Condition Sistem telah melakukan proses bangkit kunci
Tabel 3.3 Dokumentasi Naratif Use Case Enkripsi Kunci Enigma
Nama Use Case Enkripsi Kunci Enigma dengan Rabin-Williams
Actor Pengirim
Description Use case ini menampilkan Plainkey Pre-Condition Aplikasi siap menerima inputan.
Typical course
of Event
Kegiatan Pengguna Respon Sistem 5. Menekan tombol
enkripsi kunci
6. Menampilkan Cipherkey Alternatecourse Aksi Actor Respon sistem
Post Condition Sistem telah melakukan proses Enkripsi Kunci
Tabel 3.4 Dokumentasi Naratif Use Case Simpan Dalam File Teks
Nama Use Case Simpan Pesan dalam File Teks
Actor Pengirim
Description Use case ini meyimpan Cipherkey dan Plainkey Pre-Condition Aplikasi siap memproses perinta save
Typical course
of Event
Kegiatan Pengguna Respon Sistem
Alternatecourse Aksi Actor Respon sistem
Post Condition Sistem telah melakukan proses simpan pesan
Tabel 3.5 Dokumentasi Naratif Use Case Bankitkan kunci Rabin-William
Nama Use Case Bangkitan kunci Rabin-Williams
Actor Penerima
Description Use case ini menampilkan kunci privat algoritma Rabin-Williams
Pre-Condition Aplikasi siap menerima inputan.
Typical course
of Event
Kegiatan Pengguna Respon Sistem 9. Menekan tombol
bangkit kunci
10.Menampilkan kunci privat
Alternatecourse Aksi Actor Respon sistem
Post Condition Sistem telah melakukan proses bangkit kunci kunci privat
Tabel 3.6 Dokumentasi Naratif Use Case dekripsi dengan Enigma
Nama Use Case Dekripsi Pesan Enigma
Actor Penerima
Description Use case ini menampilkan Dekripsi pesan dengan menggunakan algoritma Enigma
Pre-Condition Aplikasi siap menerima inputan.
Typical course
of Event
Kegiatan Pengguna Respon Sistem 11.Menekan tombol
import untuk mengambil file
12.Menampilkan File teks yang akan di dekripsi
Alternatecourse Aksi Actor Respon sistem
Tabel 3.7 Dokumentasi Naratif Use Case dekripsi Kunci
Nama Use Case Dekripsi Kunci Pesan Enigma dengan Rabin-Williams
Actor Penerima
Description Use case ini menampilkan Cipherkey Pre-Condition Aplikasi siap menerima inputan.
Typical course
of Event
Kegiatan Pengguna Respon Sistem 13.Menekan tombol
dekripsi kunci
14.Menampilkan Plainkey Alternatecourse Aksi Actor Respon sistem
Post Condition Sistem telah melakukan proses Dekripsi Kunci
Tabel 3.8 Dokumentasi Naratif Use Case Import File
Nama Use Case Import file teks
Actor Penerima
Description Use case ini menampilkan file teks Pre-Condition Aplikasi siap menerima inputan.
Typical course
of Event
Kegiatan Pengguna Respon Sistem 15.Menekan tombol
import
16.Menampilkan file teks Alternatecourse Aksi Actor Respon sistem
Post Condition Sistem telah melakukan proses import file teks
Gambar 3.2 menunjukan use-case diagram dari sistem yang akan dibangun, dimana terdapat dua actor yaitu pengirim dan penerima. Penerima membangkitkan kunci publik dan kunci private Rabin-Williams kemudian mempublikasikan kunci publik kepada siapa aja yang mau mengirim pesan kepadanya dan merahasiakan kunci private. Pengirim melakukan enkripsi pesan terlebih dahulu dengan algoritma Enigma
kemudian mengenkripsi kunci Enigma dengan algoritma Rabin-Williams, pada saat enkripsi kunci Enigma dibutuhkan kunci publik yang telah diterima pengirim sebelumnya. Kemudian penerima ingin mendekripsikan pesan yang ingin dibaca dan membutuhkan kunci Enigma, untuk itu penerima terlebih dahulu mendekripsikan
Cipherkey menjadi kunci Enigma dan mendekripsikan Ciphertext dengan kunci
2. Activity Diagram
Activity diagram menggambarkan proses kerja dalam sebuah sistem yang sedang berjalan. Dalam diagram aktivitas ini maka akan dijelaskan proses kerja dari sistem yaitu pembangkitan kunci, enkripsi dan dekripsi yang dilakukan olah user
Berikut ini merupakan gambar activity diagram untuk pembangkitan kunci:
Gambar 3.3 Activity Diagram pembangkitan kunci
Gambar 3.3 menunjukan aktivitas yang akan di lakukan untuk membangkitkan kunci algoritma Rabin-Williams, penerima menekan tombol bangkitkan, kemudian sistem akan melakukan generate kunci publik dan privat. Dan
Berikut ini merupakan activity diagram untuk enkripsi:
Berikut ini merupakan activity diagram untuk dekripsi:
Gambar 3.5 Activity Diagram Dekripsi
3. Sequence Diagram
Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar objek yang mengindikasikan komunikasi diantara objek-objek tersebut. Diagram ini menunjukan serangkaian pesan yang di pertukarkan oleh objek-objek yang melakukan suatu tugas atau aksi tertentu.
Berikut merupakan sequence diagram untuk enkripsi ditunjukan pada gambar 3.6:
Berikut merupakan diagram untuk dekripsi di tunjukan pada gambar 3.7:
Gambar 3.7 Sequence Diagram Dekripsi
Berikut merupakan sequence diagram untuk bangkitkan kunci ditunjukan pada gambar 3.8:
Gambar 3.8 Sequence Diagram Bangkitkan kunci 3.1.4 Flowchart
penggambaran mengenai langkah-langkah penyelesaian suatu permasalahan. Selain itu, flowchart juga memiliki fungsi memudahkan proses pengecekan terhadap sistem yang akan dibuat.
Berikut merupakan flowchart hybrid cryptosystem yang dibangun:
A.Flowchart enkripsi file dan kunci Enigma B.Flowchart dekripsi Ciphertext dan CipherkeyEnigma
Gambar 3.9 Flowchart Hybrid Cryptosystem 1. Flowchart Enkripsi Plaintext dengan Enigma
Enkripsi Plaintext atau file dilakukan dengan algoritma Enigma, file akan dibaca secara bit stream dan dimulailah perputaran yang mengakibatkan perubahan huruf . Berikut merupakan flowchart enkripsi Plaintext pada gambar 3.10
MULAI
Dekripsi Ciphertext file dengan Enigma
Output:
Plaintext
Gambar 3.10 Flowchart Enkripsi file MULAI
Plaintext
Rotor 1 berputar dari kanan ke kiri
Rotor 2 berputar dari kiri ke kanan
Ciphertext
SELESAI
Plaintext dari rotor 1 masukan
2. Flowchart Dekripsi Ciphertext dengan Enigma
Dekripsi Ciphertext dilakukan dengan algoritma Enigma dan akan menghasilkan
Plainkey. Berikut merupakan flowchart dekripsi Ciphertext pada gambar 3.11:
Gambar 3.11 Flowchart Dekripsi Ciphertext
3.1.5 Pseudocode
Pseudocode merupakan kode semu urutan dari baris algoritma yang hampir menyerupai bahasa pemrograman atau kode program namun lebih mudah untuk di pahami oleh manusia. Pada penelitian ini terdapat pseudocode yang mewakili fungsi yang terdapat didalam sistem yang akan dirancang.
MULAI
SELESAI
Ciphertext
Rotor 1 berputar dari kanan ke kiri
Rotor 2 berputar dari kiri ke kanan
Cipher dari rotor2 masukan dari tiap data cipher ke tiap
plainteks
3.1.5.1Pseudocode Algoritma Lehmann
Pada sistem yang akan dibangun, pengecekan bilangan acak agar sesuai dengan bilangan prima dilakukan dengan menggunakan algoritma Lehmann. Untuk
pseudocode algoritma Lehmann dapat dilihat pada Gambar 3.12.
Gambar 3.12 Pseudocode Algoritma Lehmann 3.2 Perancangan Antarmuka (Interface)
Sistem ini dirancang dalam 5 form yaitu form utama atau home, bangkitkan kunci, enkripsi, dekripsi dan tentang.
3.2.1 Form Utama atau Home
Halaman menu utama adalah halaman yang muncul pertama kali saat sistem dijalankan. Halaman ini memiliki empat buah menu, yaitu pembangkit kunci, enkripsi, dekripsi dan tentang. Tampilan rancangan Form utama dapat dilihat pada gambar 3.13:
Gambar 3.13 Rancangan Form Utama atau Home
Keterangan:
1. Menu strip Pembangkit kunci 2. Menu strip Enkripsi
3. Menu strip dekripsi 4. Menu strip Tentang
5. Picturebox yang berisi judul skripsi, nama, nim, jurusan, usu, tahun
3.2.2. Form bangkitkan kunci
Form pembangkit kunci berfungsi untuk memudahkan dalam proses penentuan kunci. Penerima dapat membangkitkan kunci dengan memilih panjang digit prima kemudian akan ditampilkan kunci publik dan privat yang dapat disimpan ke dalam file teks. Tampilan halaman pembangkit kunci dapat dilihat pada gambar 3.14.
Gambar 3.14 Rancangan Form Bangkitkan Kunci Keterangan:
1. Textbox untuk menampilkan judul form
2. Textbox untuk menampilkan nilai bilangan prima 3. Button untuk menyimpan kunci
4. Button untuk membangkitkan kunci 1
2
3.2.3 Form Enkripsi
Gambar 3.15 Rancangan Form Enkripsi
Keterangan :
1. Button untuk mengimpor kunci yang telah di bangkitkan 2. Textbox untuk tempat penulisan Plaintext
3. Textbox untuk tempat penulisan kunci Enigma
4. Textbox untuk tempat penulisan kunci publik Rabin-Williams
5. Button untuk menenkripsi PlaintextEnigma
6. Button untuk mengenkripsi kunci publik Rabin-Williams
7. Textbox tempat menampilkan hasil enkripsi berupa Ciphertext
8. Textbox tempat menampilkan hasil enkripsi kunci berupa Cipherkey 9. Button untuk menyimpan Ciphertext
10.Button untuk menyimpan Cipherkey
1
2
3 4
5 6
7
8 9
3.2.3 Form Dekripsi
Gambar 3.16 Rancangan Form Dekripsi
Form dekripsi berfungsi untuk mendekripsi Cipherkey dan Ciphertext. Tampilan halaman dekripsi dapat dilihat pada gambar 3.16.
Keterangan :
1. Textbox untuk menampilkan Ciphertext kunci 2. Button untuk mengimpor kunci yang telah disimpan 3. Textbox untuk menampilkan kunci privat d
4. Textbox untuk menampilkan kunci privat n 5. Button untuk mengimpor kunci privat 6. Button untuk mendekripsi kunci
7. Textbox untuk menampilkan kunci Enigma yang telah didekripsikan 8. Button untuk mengimpor Ciphertext yang akan di dekripsikan 9. Textbox untuk menampilkan Ciphertext yang telah diimpor
1
3
5 6
4 2
7 8
10.Textbox untuk menampilkan hasil dari dekripsi Ciphertext menjadi Plaintext
3.2.4 Form Tentang
Form tentang berisi tentang foto profil penulis dan identitas penulis. Tampilan halaman tentang dapat dilihat pada gambar 3.16.
Gambar 3.17 Rancangan Form Tentang
Keterangan :
BAB IV
IMPLEMENTASI DAN PENGUJIAN
Pada tahap ini dilakukan pembuatan sistem sesuai dengan analisis dan perancangan dan kemudian melakukan pengujian sistem.
4.1 Implementasi Sistem
Sistem dibangun dengan bahasa pemrograman C# dengan .NET sebagai library untuk menyajikan Graphical User Interface terhadap user. Program ini terdiri 5 tampilan yaitu tampilan utama, tampilan Enkripsi, tampilan dekrip, tampilan bangkit kunci, dan tampilan tentang.
4.1.1. Tampilan Utama
Tampilan utama atau home merupakan tampilan yang pertama kali muncul apabila sistem dibuka. Pada tampilan ini, terdapat 4 button yang memiliki fungsi masing-masing pada sistem. Tampilan utama dapat dilihat pada Gambar 4.1.
4.1.2. Tampilan Bangkit kunci
Tampilan bangkit kunci ini berfungsi sebagai pembangkit kunci, disini kunci di bangkitkan dengan memakai algoritma lehmann prime generator (pembangkit bilangan prima lehmann). Pada tampilan berikut ada 2 button yang berfungsi sebagai pembangkit dan menyimpan kunci yang telah di bangkitkan. Tampilan bangkit kunci dapat dilihat pada Gambar 4.2.
Gambar 4.2 Tampilan bangkit kunci
4.1.3. Tampilan Enkripsi Pesan
Gambar 4.3 Tampilan Enkripsi pesan
4.1.4. Tampilan Dekripsi pesan
Tampilan dekrip pesan digunakan untuk mendekripsikan pesan rahasia menggunakan kunci yang sudah disepakati oleh pengirim dan pengguna dalam mengembalikan
Ciphertext ke Plaintext. Tampilan dekrip pesan dapat dilihat pada Gambar 4.4.
4.1.5. Tampilan Tentang
Tampilan tentang merupakan tampilan yang berisi info singkat dari penulis. Tampilan tentang dapat dilihat pada Gambar 4.5.
Gambar 4.5 Tampilan tentang
4.2 Pengujian Sistem
Pengujian dilakukan terhadap sistem untuk membuktikan bahwa sistem yang telah dibangun berjalan dengan baik serta sesuai dengan analisis dan perancangan sistem yang telah dibuat sebelumnya.
Untuk melakukan pengujian terhadap sistem, pada penelitian ini dirancang suatu skenario dalam mengamankan suatu pesan teks. Adapun skenario yang dibuat adalah pengguna sistem ingin mengamankan pesan teks dengan cara melakukan enkripsi yang dilanjutkan dengan mengenkripsi kunci dari pesan tersebut. Pada skenario selanjutnya, penerima pesan menerima Cipherkey dan Ciphertext dari pengirim dan dilanjutkan dengan proses dekripsi untuk memperoleh pesan dari pengirim. Untuk mengetahui bahwa proses yang dilakukan sistem berjalan dengan baik dan hasil proses sistem adalah benar, maka pada tiap-tiap skenario dilakukan perhitungan secara manual yang kemudian dibandingkan dengan hasil dari sistem.
4.2.1. Pengujian Proses Pembangkitan Kunci
“Bangkitkan!”. Berikut adalah hasil proses pembangkitan kunci yang dapat dilihat pada gambar Tabel 4.6.
Gambar 4.6. Pengujian Pembangkitan Kunci Rabin-Williams
Perhitungan manual dari proses pembangkitan kunci Rabin-Williams sesuai dengan Gambar 4.6. Kunci Rabin-Williams di hasilkan dua buah bilangan yang diacak oleh random number. Dimana bilangan yang telah diacak dipastikan harus memenuhi syarat seperti pada pembahasan sebelumnya. Ilustrasi perhitungan kunci
Rabin-Williams dapat di tunjukan seperti tabel 4.7. Tampilan sistem di tunjukan pada gambar 4.6.
Tabel 4.3 Perhitungan Nilai d 4.2.2. Pengujian Proses Enkripsi File Teks
Untuk melakukan enkripsi file, user mengetikan teks yang akan dienkripsi pada kolom teks box yang telah disediakan dan kemudian user memasukan kunci Enigma. Hasil proses enkripsi dapat dilihat pada gambar 4.7
Perhitungan manual dari proses enkripsi sesuai dengan gambar 4.7 adalah sebagai berikut.
Plaintext (p) :ILKOM
Kunci Enigma :AEV (Kunci Enigma terletak pada rotor rotornya) Dari proses enkripsi dihasilkan Ciphertext :
Ciphertext :CXCXI
Berikut adalah perhitungan manual dari proses enkripsi diatas:
Sebelum melakukan enkripsi Plaintext dengan algoritma Enigma, kita harus mengetahui tabel rotor dan tabel reflektor yang ada pada mesin Enigma. Berikut adalah tabel konfigurasi rotor 1, rotor 2, rotor 3 dan reflektor pada mesin Enigma. Dan pada penelitian ini rotor yang digunakan adalah rotor I, II dan III.
Tabel 4.4. Tabel konfigurasi Rotor pada Mesin Enigma (Ariyus, 2014)
Tabel 4.5. Tabel konfigurasi Reflektor (Ariyus, 2014)
Pada gambar 4.5 adalah tabel konfigurasi untuk pengaturan reflektor pada mesin
Enigma. Untuk pengaturan reflektor penulis memakai settingan reflektor “B”, Setelah
Tabel 4.6. Tabel Inisialisasi Angka Rotor dan Reflektor
Setelah tahap inisialisasi huruf menjadi angka selesai, maka proses enkripsi dapat dimulai dengan operasi enkripsi berupa: C = (Ci + Ki)mod 26 (C2i – Ki)mod26 Keterangan rumus:
1. C = Ciphertext.
2. Ci = Karakter ke – i
3. Ki = Kunci rotor (3 2 1 R(0) 1 2 3 ) 4. = Tranformasi tabel rotor
5. - = Transformasi tabel rotor (terbalik) Karakter = ILKOM
Enkripsi karakter “I” dengan kunci menjadi BFW = Rotor 3
8 = ( 8 + 22) mod 26 = 4 (9 – 22) mod 26 = 13 Rotor 2
13 = ( 13 + 5) mod 26 = 18 (25 – 5) mod 26 = 20 Rotor 1
20 = ( 20 + 1) mod 26 = 21 (8 – 1 ) mod 26 = 7 Reflektor
Rotor 1 Angka “2” pada tabel inisialisasi pada rotor III adalah “C”
Enkripsi karakter “L” dengan kunci menjadi BFX Rotor 3 Angka “23” pada tabel inisialisasi pada rotor III adalah “X”
Refflektor
Angka “2” pada tabel inisialisasi pada rotor III adalah “C”
Enkripsi karatker “O” dengan kunci menjadi BFZ Rotor 3 Angka “23” pada tabel inisialisasi pada rotor III adalah “X”
Enkripsi karatker “M” dengan kunci menjadi BFA Rotor 3
12 = ( 12 + 0) mod 26 = 12 ( 25 – 0) mod 26 = 25 Rotor 2
Rotor 1
13 = ( 13+ 1) mod 26 = 14 ( 24 – 1) mod 26 = 23 Refflektor
23 = ( 23 + 0) mod 26 = 23 ( 9 – 0) mod 26 = 9 Rotor 1
9 = ( 9 + 1) mod 26 = 10 - ( 1 – 1) mod 26 = 0 Rotor 2
0 = ( 0 + 5) mod 26 = 5 - ( 22 – 5) mod 26 = 17 Rotor 3
17 = ( 17 + 0) mod 26 = 17 - ( 8 – 0) mod 26 = 8 Angka “8” pada tabel inisialisasi pada rotor III adalah “I”
Dari proses perhitungan secara manual diperoleh Ciphertext ”CXCXI”. Hasil tersebut
sama dengan output hasil enkripsi dengan sistem, sehingga membuktikan bahwa sistem bekerja dengan baik dan benar.
4.2.3. Pengujian proses enkripsi kunci pesan
Setelah user mendapat hasil enkripsi teks selanjutnya user akan mengenkripsi kunci
Enigma dari pesan tersebut dengan menggunakan kunci publik dari algoritma Rabin-Williams, Gambar 4.8 adalah tampilan dari sistem enkripsi kunci pesan.
Tabel 4.7. Proses Enkripsi Kunci Pesan
Plainkey Index pada List Kunci C= P3 Mod kunci
A 71 3337 991
E 69 3337 1483
V 86 3337 2026
Pada tabel 4.7 dihasilkan Cipherkey yang ditunjukan pada kolom C. Kolom C merupakan kolom yang menunjukan Cipherkey dalam bentuk angka. Berdasarkan
Plainkeykunci “AEV” menghasilkan Cipherkeysebagai berikut.”991, 1483, 2026”.
4.2.4. Pengujian Dekripsi Kunci Pesan
Pada proses dekripsi kunci pesan hanya dapat dilakukan dengan memiliki kunci privat, pada sistem ini kita mengetahui bahwa kunci privat yang digunakan user adalah d = 3337 dan n = 2147. Dekripsi pada tahap ini akan menghasilkan Plaintext
yang kembali seperti semula. Pada proses dekripsi data memerlukan ni d yang digunakan agar Plaintext kembali seperti semula. Tampilan sistem di tunjukan pada gambar 4.9.
Gambar 4.9. Tampilan Hasil Dekripsi Kunci Pesan
Gambar 4.9 menunjukan hasil dekripsi data yang dilakukan dengan menggunakan algoritma Rabin-Williams yang kembali seperti semula ini di tunjukan
Tabel 4.8. Proses Dekripsi Kunci Pesan
Cipherkey D Kunci D= cd Mod
kunci
Plainkey
991 2147 3337 71 A
1483 2147 3337 69 E
2026 2147 3337 86 V
Tabel 4.8 menunjukan hasil dari dekripsi data yang menggunakan Algoritma
Rabin-Williams. Plaintext yang dihasilkan dari proses dekripsi data menghasilkan
Plaintext yang sama seperti semula. Tahapan dari mulai proses enkripsi data sampai proses dekripsi data menunjukan bahwa hasil Plaintext akhir pada algoritma Rabin-Williams sama dengan Plaintext awal masukan. Hasil ini dapat disimpulkan bahwa proses dekripsi Rabin-Williams mampu mengembalikan Plainkey seperti semula.
4.2.5. Pengujian Proses Dekripsi Pesan
Setelah user memiliki kunci Enigma yang telah didekripsikan sebelumnya maka selanjutnya user akan mendekripsikan pesan dengan kunci Enigma, Gambar 4.10 adalah menunjukan proses dekripsi pesan dengan sistem.
Pada gambar 4.10 terlihat Ciphertext diimport user adalah “CXCXI”, perhitungan
dekripsi pesan adalah : C = (Ci + Ki)mod 26 (C2i – Ki)mod26. Berikut prosesnya:
Karakter = CXCXI
Enkripsi karakter “C” dengan kunci menjadi BFW = Rotor 3 Angka “8” pada tabel inisialisasi pada rotor III adalah “I”
3 = ( 3 + 1) mod 26 = 4 - ( 0 – 1) mod 26 = 25 Rotor 2
25 = ( 25 + 5) mod 26 = 4 - ( 25 – 5) mod 26 = 20 Rotor 3
20 = ( 20 + 23) mod 26 = 17 - ( 8 – 23) mod 26 = 1 Angka “11” pada tabel inisialisasi pada rotor III adalah “L”
Enkripsi karakter “C” dengan kunci menjadi BFY Rotor 3 Angka “10” pada tabel inisialisasi pada rotor III adalah “K”
0 = ( 0 + 0) mod 26 = 0 ( 24 – 0) mod 26 = 24 Angka “14” pada tabel inisialisasi pada rotor III adalah “O”
Enkripsi karakter “I” dengan kunci menjadi BFA Rotor 3 Angka “12” pada tabel inisialisasi pada rotor III adalah “M”
Dari proses perhitungan secara manual diperoleh Plaintext ”ILKOM”. Hasil tersebut
sama dengan output hasil dekripsi dengan sistem, sehingga membuktikan bahwa sistem bekerja dengan baik dan benar.
4.3. Hasil Pengujian Sistem
a. Pengujian Enkripsi Pesan
Pengujian ini dilakukan untuk mengetahui pengaruh panjang Plaintext terhadap lama proses enkripsi pesan dengan menggunakan panjang kunci yang tetap dalam proses enkripsi algoritma Enigma.
Tabel 4.9 Pengujian enkripsi dengan variasi panjang Plaintext no Panjang Plaintext Waktu (milliseconds)
1 100 6ms
2 200 8ms
3 300 9ms
4 600 13ms
5 1200 24ms
Berdasarkan tabel 4.9 dapat dilihat dari grafik gambar 4.11 yaitu lama waktu dalam melakukan proses enkripsi pesan dengan 5 contoh panjang Plaintext yang berbeda.
Gambar 4.11 Grafik pengujian Enkripsi pesan
b. Pengujian Dekripsi Pesan
Pengujian ini dilakukan untuk mengetahui pengaruh panjang Ciphertext terhadap lama proses dekripsi pesan dengan menggunakan panjang kunci yang tetap dalam proses dekripsi algoritma Enigma.
no Panjang Ciphertext Waktu (milliseconds)
1 100 7ms
2 200 9ms
3 300 15ms
4 600 20ms
5 1200 31ms
Tabel 4.10 Pengujian Dekripsi dengan variasi panjang Ciphertext
Berdasarkan Tabel 4.10 dapat dilihat grafik yang terdapat pada Gambar 4.12 yaitu lama waktu dalam melakukan proses dekripsi pesan dengan lima contoh panjang
Ciphertext yang berbeda.
Gambar 4.12 Grafik pengujian Dekripsi pesan
Tabel 4.11 Perbandingan waktu enkripsi dan dekripsi pesan
Gambar 4.13 Grafik perbandingan enkripsi dan dekripsi pesan
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan pembahasan dan hasil dari penelitian, maka diperoleh beberapa kesimpulan sebagai berikut:
1. Algoritma Enigma berfungsi untuk mengamankan informasi pesan yang akan dienkripsi sementara algoritma Rabin-Williams berfungsi untuk mengamankan kunci dari pesan yang telah dienkripsi..
2. Jumlah karakter dari pesan setelah dienkripsi berjumlah sama dengan pesan awal sebelum dienkripsi.
3. Semakin panjang jumlah karakter pesan maka semakin lama waktu yang dibutuhkan untuk mengenkripsi pesan.
4. Waktu enkripsi lebih cepat daripada waktu ketika dekripsi file teks
5. Pada penelitian ini diciptakan sebuah perhitungan manual Enkripsi dan Dekripsi yang dapat membantu orang lain yang ingin melanjutkan penelitan tentang Algoritma Enigma
5.2 Saran
Adapun saran-saran yang dapat dipertimbangkan untuk mengembangkan penelitian ini lebih lanjut adalah sebagai berikut:
1. Karena dalam penelitian ini penulis memakai versi Enigma yang asli maka karakter yang bisa di enkripsi hanya karakter dengan huruf kapital jadi kedepannya harus bisa dibuat versi program Enigma yang bisa membaca karakter huruf kecil dan angka.
2. Untuk panjang kunci hanya bisa memakai 3 karakter karena penulis hanya memakai 3 rotor virtual sehingga untuk pengembangan selanjutnya dapat memakai lebih dari 3 rotor virtual.