Pengamanan File Teks Dengan Skema Hybrid Menggunakan Algoritma Enigma Dan Algoritma Rabin-Williams Chapter III V
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
Pada gambar 3.1, dapat dilihat bahwa permasalahannya adalah mengamankan
data teks dan merahasiakan kunci simetris, sedangkan penyebabnya ada 4 hal yaitu
metode yang digunakan pertama adalah Hybrid Cryptosystem dalam hal ini adalah
gabungan kriptografi asimetris (Rabin-Williams) dan kriptografi simetris (Enigma),
kedua adalah manusia yaitu user/pengirim dan penerima pesan yang ingin data yang
dikirim tersebut aman, pihak ketiga yang dapat mencuri data atau informasi dari
pengirim atau penerima, ketiga material dan yang keempat adalah mesin.
27
Universitas Sumatera Utara
28
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 RabinWilliams.
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
Sistem yang akan di bangun memiliki panduan penggunaan aplikasi
Universitas Sumatera Utara
29
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
di hubungkan dengan garis putus-putus dengan keterangan extend. Pada penelitian
ini use-case dapat ditujukan melalui gambar 3.2.
Universitas Sumatera Utara
30
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
Typical course
Aplikasi siap menerima inputan.
Kegiatan Pengguna
Respon Sistem
Alternatecourse
1. Menekan
tombol 2. Menampilkan File teks yang
import
untuk
akan di enkripsi
mengambil file
Aksi Actor
Respon sistem
Post Condition
Sistem telah melakukan proses enkripsi
of Event
Universitas Sumatera Utara
31
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 RabinWilliams
Pre-Condition
Typical course
Aplikasi siap menerima inputan.
Kegiatan Pengguna
Respon Sistem
Alternatecourse
3. Menekan
bangkit kunci
Aksi Actor
Post Condition
Sistem telah melakukan proses bangkit kunci
of Event
tombol 4. Menampilkan kunci publik
Respon sistem
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
Kegiatan Pengguna
Respon Sistem
Alternatecourse
5. Menekan
tombol 6. Menampilkan Cipherkey
enkripsi kunci
Aksi Actor
Respon sistem
Post Condition
Sistem telah melakukan proses Enkripsi Kunci
of Event
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
7. Menekan tombol save
8. Menyimpan File Teks
Universitas Sumatera Utara
32
Alternatecourse
Aksi Actor
Post Condition
Sistem telah melakukan proses simpan pesan
Respon sistem
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 RabinWilliams
Pre-Condition
Typical course
Aplikasi siap menerima inputan.
Kegiatan Pengguna
Respon Sistem
Alternatecourse
9. Menekan
bangkit kunci
Aksi Actor
Post Condition
Sistem telah melakukan proses bangkit kunci kunci privat
of Event
tombol 10. Menampilkan kunci privat
Respon sistem
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
Typical course
Aplikasi siap menerima inputan.
Kegiatan Pengguna
Respon Sistem
Alternatecourse
11. Menekan
tombol 12. Menampilkan File teks yang
import
untuk
akan di dekripsi
mengambil file
Aksi Actor
Respon sistem
Post Condition
Sistem telah melakukan proses dekripsi
of Event
Universitas Sumatera Utara
33
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
Kegiatan Pengguna
Respon Sistem
Alternatecourse
13. Menekan
tombol 14. Menampilkan Plainkey
dekripsi kunci
Aksi Actor
Respon sistem
Post Condition
Sistem telah melakukan proses Dekripsi Kunci
of Event
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
Kegiatan Pengguna
Respon Sistem
Alternatecourse
15. Menekan
import
Aksi Actor
Post Condition
Sistem telah melakukan proses import file teks
of Event
tombol 16. Menampilkan file teks
Respon sistem
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
Enigma.
Universitas Sumatera Utara
34
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
Akan menampilkan kunci publik (p, d, y) serta kunci privat (a) yang dapat disimpan
kedalam file khusus.
Universitas Sumatera Utara
35
Berikut ini merupakan activity diagram untuk enkripsi:
Gambar 3.4 Activity Diagram Enkripsi
Universitas Sumatera Utara
36
Berikut ini merupakan activity diagram untuk dekripsi:
Gambar 3.5 Activity Diagram Dekripsi
Gambar 3.5 Activity Diagram Dekripsi
Universitas Sumatera Utara
37
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:
Gambar 3.6 Sequence Diagram Enkripsi
Universitas Sumatera Utara
38
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
Flowchart merupakan diagram alir dari bagan-bagan tertentu yang memiliki arus
Universitas Sumatera Utara
39
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:
MULAI
MULAI
Input:file
(Plaintext),kunci
Enigma
Enkripsi Plaintext
dengan algoritma
Enigma
Output:Cipherte
xt file
Input:file
(Plaintext),kunci
Enigma
Enkripsi kunci Enigma
dengan Rabin-Williams
Ouput:
Cipherkey
SELESAI
A.Flowchart enkripsi file dan kunci Enigma
Generate kunci publik
& privat RabinWilliams
Input:file
(Plaintext),kunci
Enigma
Dekripsi Cipherkey
Enigma dengan RabinWilliams
Ouput :kunci
Enigma (k)
Input Ciphertext
file,kunci Enigma
Dekripsi Ciphertext file
dengan Enigma
Output:
Plaintext
SELESAI
B.Flowchart dekripsi Ciphertext dan Cipherkey Enigma
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
Universitas Sumatera Utara
40
MULAI
Plaintext
Rotor 1 berputar dari kanan ke
kiri
Rotor 2 berputar dari kiri ke
kanan
Plaintext dari rotor 1 masukan
tiap data Plaintext ke tiap
cipher
Ciphertext
SELESAI
Gambar 3.10 Flowchart Enkripsi file
Universitas Sumatera Utara
41
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:
MULAI
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
Plaintext
SELESAI
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.
Universitas Sumatera Utara
42
3.1.5.1 Pseudocode 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.
def lehmannPrime (prima)
trial len (str (prima) )
for i in range (0, trial);
a random . randint (2, prima – 1)
L pow (a , ((prima -1 ) // 2 ), prima)
if L ! = 1 and L – prima
!
= -
1;
returnFalse
returnTrue
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:
Pembangkit kunci 1
enkripsi
2
dekripsi
3
tentang
4
JUDUL SKRIPSI
NAMA
NIM
JURUSAN-USU-TAHUN
Gambar 3.13 Rancangan Form Utama atau Home
Universitas Sumatera Utara
43
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.
1
2
4
3
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
Universitas Sumatera Utara
44
3.2.3 Form Enkripsi
1
2
7
3
8
9
4
10
5
6
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 Plaintext Enigma
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
Universitas Sumatera Utara
45
3.2.3 Form Dekripsi
1
2
3
5
4
6
7
8
9
10
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
Universitas Sumatera Utara
46
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.
1
Gambar 3.17 Rancangan Form Tentang
Keterangan :
1. Picturebox untuk menampilkan foto profil dan identitas penulis.
Universitas Sumatera Utara
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 masingmasing pada sistem. Tampilan utama dapat dilihat pada Gambar 4.1.
Gambar 4.1 Tampilan utama
43
Universitas Sumatera Utara
44
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
Tampilan enkrip pesan digunakan untuk mengenkripsikan file teks yang akan di rubah
menjadi Ciphertext untuk merahasiakan pesan asli (Plaintext), ditampilan enkripsi
pesan ini juga ada fitur yang berguna untuk mengenkripsikan kunci pesan. Tampilan
enkrip pesan dapat dilihat pada Gambar 4.3.
Universitas Sumatera Utara
45
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.
Gambar 4.4 Tampilan Dekripsi Pesan
Universitas Sumatera Utara
46
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
Untuk membangkitkan kunci Rabin-Williams user harus menekan tombol
Universitas Sumatera Utara
47
“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.
Gambar 4.6 menunjukan hasil pengacakan kunci yang kemudian diperiksa
untuk memenuhi persyaratan kunci Rabin-Williams. Pengecekan bilangan dilakukan
untuk memeriksa bilangan acak merupakan bilangan prima. Untuk mendapatkan
bilangan prima dilakukan dengan menggunakan algoritma Lehmann terhadap bilangan
acak yang dikeluarkan
Universitas Sumatera Utara
48
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
Gambar 4.7. Pengujian Proses Enkripsi
Universitas Sumatera Utara
49
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)
Universitas Sumatera Utara
50
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
ditentukan settingan rotor yang dipakai, untuk memulai proses enkripsi pertama kita
harus menginisialisasi huruf huruf pada rotor Enigma kedalam bentuk angka. Dapat
dilihat pada gambar 4.10.
Universitas Sumatera Utara
51
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
7
= ( 7 + 0 ) mod 26 = 7 (7 – 0 ) mod 26 = 3
Universitas Sumatera Utara
52
Rotor 1
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 + 22 ) mod 26 = 16 - ( 24 – 22)mod 26 = 2
Angka “2” pada tabel inisialisasi pada rotor III adalah “C”
Enkripsi karakter “L” dengan kunci menjadi BFX
Rotor 3
11
= ( 11 + 23) mod 26 = 8 (17 – 23) mod 26 = 20
Rotor 2
20
= ( 20 + 5) mod 26 = 25 ( 4 – 5) mod 26 = 25
Rotor 1
25
= ( 25 + 1) mod 26 = 0 ( 4 – 1) mod 26 = 3
Refflektor
3
= ( 3 + 0) mod 26 = 3 - ( 7 – 0) mod 26 = 7
Rotor 1
7
= ( 7 + 1) mod 26 = 8 - ( 21 – 1) mod 26 = 20
Rotor 2
20
= ( 20 + 5) mod 26 = 25 - ( 18 – 5) mod 26 = 13
Rotor 3
13
= ( 13 + 23) mod 26 = 10 - ( 20 – 23) mod 26 = 23
Angka “23” pada tabel inisialisasi pada rotor III adalah “X”
Enkripsi karakter “K” dengan kunci menjadi BFY
Rotor 3
10
= ( 10 + 24) mod 26 = 8 ( 17 – 24) mod 26 = 19
Rotor 2
19
= ( 19 + 5) mod 26 = 24 ( 14 – 5) mod 26 = 9
Rotor 3
9
= ( 9 + 1) mod 26 = 10 ( 13 – 1) mod 26 = 12
Universitas Sumatera Utara
53
Refflektor
12
= ( 12 + 0) mod 26 = 12 ( 14 – 0) mod 26 = 14
Rotor 1
14
= ( 14 + 1) mod 26 = 15 - ( 19 – 1) mod 26 = 18
Rotor 2
18
= ( 18 + 5) mod 26 = 23 - ( 8 – 5) mod 26 = 3
Rotor 3
3
= ( 3 + 24) mod 26 = 1 - ( 0 – 24) mod 26 = 2
Angka “2” pada tabel inisialisasi pada rotor III adalah “C”
Enkripsi karatker “O” dengan kunci menjadi BFZ
Rotor 3
14
= ( 14 + 25) mod 26 = 13 ( 13 – 25) mod 26 = 14
Rotor 2
14
= ( 14 + 5) mod 26 = 19 ( 13 – 5) mod 26 = 8
Rotor 3
8
= ( 8 + 1) mod 26 = 9 ( 25 – 1) mod 26 = 24
Refflektor
24
= ( 24 + 0) mod 26 = 24 ( 0 – 0) mod 26 = 0
Rotor 1
0
= ( 0 + 1) mod 26 = 1 - ( 22 – 1) mod 26 = 21
Rotor 2
21
= ( 21 + 5) mod 26 = 0 - ( 0 – 5) mod 26 = 21
Rotor 3
21
= ( 21 + 25) mod 26 = 20 - ( 22 – 25) mod 26 = 23
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
25
= ( 25 + 5) mod 26 = 4 ( 18 – 5) mod 26 = 13
Universitas Sumatera Utara
54
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 RabinWilliams, Gambar 4.8 adalah tampilan dari sistem enkripsi kunci pesan.
Gambat 4.8. Pengujian Proses Enkripsi Kunci Pesan
Universitas Sumatera Utara
55
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
Plainkey kunci “AEV” menghasilkan Cipherkey sebagai 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
pada tabel 4.6
Universitas Sumatera Utara
56
Tabel 4.8. Proses Dekripsi Kunci Pesan
Cipherkey
D
Kunci
D= cd Mod
Plainkey
kunci
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 RabinWilliams 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.
Tabel 4.10. Tampilan Hasil Dekripsi Pesan
Universitas Sumatera Utara
57
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
2
= ( 2 + 22) mod 26 =2 4 (16 – 22) mod 26 = 20
Rotor 2
20
= ( 20 + 5) mod 26 = 25 (4 – 5) mod 26 = 25
Rotor 1
25
= ( 25 + 1) mod 26 = 26 (4 – 1 ) mod 26 = 3
Reflektor
3
= ( 3 + 0 ) mod 26 = 3 (7 – 0 ) mod 26 = 7
Rotor 1
7
= ( 7 + 1) mod 26 = 8 - ( 21 – 1) mod 26 = 20
Rotor 2
20
= ( 20 + 5 ) mod 26 = 25 - ( 18 – 5) mod 26 = 13
Rotor 3
13
= ( 13 + 22 ) mod 26 = 9 - ( 4 – 22)mod 26 = 8
Angka “8” pada tabel inisialisasi pada rotor III adalah “I”
Enkripsi karakter “X” dengan kunci menjadi BFX
Rotor 3
23
= ( 23 + 23) mod 26 = 20 (10 – 23) 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
Refflektor
7
= ( 7 + 0) mod 26 = 7 - ( 3 – 0) mod 26 = 3
Rotor 1
Universitas Sumatera Utara
58
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
2
= ( 2 + 24) mod 26 = 0 ( 1 – 24) mod 26 = 3
Rotor 2
3
= ( 3 + 5) mod 26 = 8 ( 23 – 5) mod 26 = 18
Rotor 3
18
= ( 18 + 1) mod 26 = 19 ( 15 – 1) mod 26 = 14
Refflektor
14
= ( 14 + 0) mod 26 = 14 ( 12 – 0) mod 26 = 12
Rotor 1
12
= ( 12 + 1) mod 26 = 13 - ( 10 – 1) mod 26 = 9
Rotor 2
9
= ( 9 + 5) mod 26 = 14 - ( 24 – 5) mod 26 = 19
Rotor 3
19
= ( 19 + 24) mod 26 = 17 - ( 8 – 24) mod 26 = 10
Angka “10” pada tabel inisialisasi pada rotor III adalah “K”
Enkripsi karatker “X” dengan kunci menjadi BFZ
Rotor 3
23
= ( 23 + 25) mod 26 = 22 ( 20 – 25) mod 26 = 21
Rotor 2
21
= ( 21 + 5) mod 26 = 0 ( 0 – 5) mod 26 = 21
Rotor 3
21
= ( 21 + 1) mod 26 = 22 ( 1 – 1) mod 26 = 0
Refflektor
Universitas Sumatera Utara
59
0
= ( 0 + 0) mod 26 = 0 ( 24 – 0) mod 26 = 24
Rotor 1
24
= ( 24 + 1) mod 26 = 25 - ( 9 – 1) mod 26 = 8
Rotor 2
8
= ( 8 + 5) mod 26 = 13 - ( 19 – 5) mod 26 = 14
Rotor 3
14
= ( 14 + 25) mod 26 = 19 - ( 13 – 25) mod 26 = 14
Angka “14” pada tabel inisialisasi pada rotor III adalah “O”
Enkripsi karakter “I” dengan kunci menjadi BFA
Rotor 3
8
= ( 8 + 0) mod 26 = 8 ( 17 – 0) mod 26 = 17
Rotor 2
17
= ( 17 + 5) mod 26 =22 ( 5 – 5) mod 26 = 0
Rotor 1
0
= ( 0+ 1) mod 26 = 1 ( 10 – 1) mod 26 = 9
Refflektor
9
= ( 9 + 0) mod 26 = 9 ( 23 – 0) mod 26 = 23
Rotor 1
23
= ( 23 + 1) mod 26 = 24 - ( 14 – 1) mod 26 = 13
Rotor 2
13
= ( 13 + 5) mod 26 = 18 - ( 4 – 5) mod 26 =25
Rotor 3
25
= ( 25 + 0) mod 26 = 25 - ( 12 – 0) mod 26 = 12
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.
.
Universitas Sumatera Utara
60
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.
Waktu (millisecond)
Waktu Enkripsi
36
31
26
21
16
11
6
1
0
500
1000
Panjang Plaintext (karakter)
Gambar 4.11 Grafik pengujian Enkripsi pesan
Universitas Sumatera Utara
61
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.
Waktu (millisecond)
Waktu dekripsi
36
31
26
21
16
11
6
1
0
500
1000
Panjang Plaintext (karakter)
Gambar 4.12 Grafik pengujian Dekripsi pesan
Universitas Sumatera Utara
62
Tabel 4.11 Perbandingan waktu enkripsi dan dekripsi pesan
No.
Panjang pesan
Waktu enkripsi
Waktu dekripsi
(karakter)
(milliseconds)
(milliseconds)
1
100
6ms
7ms
2
200
8ms
9ms
3
300
9ms
15ms
4
600
13ms
20ms
5
1200
24ms
30ms
46
Waktu (millisecond)
41
36
31
26
Waktu Dekripsi
21
Waktu Enkripsi
16
11
6
1
100
600
1100
Panjang Ciphertext (karakter)
Gambar 4.13 Grafik perbandingan enkripsi dan dekripsi pesan
Berdasarkan tabel 4.11 dan grafik pada gambar 4.13, dapat diinformasikan bahwa
jumlah proses waktu enkripsi dan dekripsi berbeda. Sistem memerlukan waktu yang
lebih lama untuk melakukan proses dekripsi pesan daripada melakukan proses
enkripsi pesan tersebut.
Universitas Sumatera Utara
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.
3. Diharapkan
pada
penelitian
selanjutnya
Algoritma
Enigma
lebih
dikembangkan dalam hal pemanfaatan rotor rotornya agar lebih aman dalam
menyamarkan sandi.
63
Universitas Sumatera Utara
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
Pada gambar 3.1, dapat dilihat bahwa permasalahannya adalah mengamankan
data teks dan merahasiakan kunci simetris, sedangkan penyebabnya ada 4 hal yaitu
metode yang digunakan pertama adalah Hybrid Cryptosystem dalam hal ini adalah
gabungan kriptografi asimetris (Rabin-Williams) dan kriptografi simetris (Enigma),
kedua adalah manusia yaitu user/pengirim dan penerima pesan yang ingin data yang
dikirim tersebut aman, pihak ketiga yang dapat mencuri data atau informasi dari
pengirim atau penerima, ketiga material dan yang keempat adalah mesin.
27
Universitas Sumatera Utara
28
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 RabinWilliams.
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
Sistem yang akan di bangun memiliki panduan penggunaan aplikasi
Universitas Sumatera Utara
29
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
di hubungkan dengan garis putus-putus dengan keterangan extend. Pada penelitian
ini use-case dapat ditujukan melalui gambar 3.2.
Universitas Sumatera Utara
30
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
Typical course
Aplikasi siap menerima inputan.
Kegiatan Pengguna
Respon Sistem
Alternatecourse
1. Menekan
tombol 2. Menampilkan File teks yang
import
untuk
akan di enkripsi
mengambil file
Aksi Actor
Respon sistem
Post Condition
Sistem telah melakukan proses enkripsi
of Event
Universitas Sumatera Utara
31
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 RabinWilliams
Pre-Condition
Typical course
Aplikasi siap menerima inputan.
Kegiatan Pengguna
Respon Sistem
Alternatecourse
3. Menekan
bangkit kunci
Aksi Actor
Post Condition
Sistem telah melakukan proses bangkit kunci
of Event
tombol 4. Menampilkan kunci publik
Respon sistem
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
Kegiatan Pengguna
Respon Sistem
Alternatecourse
5. Menekan
tombol 6. Menampilkan Cipherkey
enkripsi kunci
Aksi Actor
Respon sistem
Post Condition
Sistem telah melakukan proses Enkripsi Kunci
of Event
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
7. Menekan tombol save
8. Menyimpan File Teks
Universitas Sumatera Utara
32
Alternatecourse
Aksi Actor
Post Condition
Sistem telah melakukan proses simpan pesan
Respon sistem
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 RabinWilliams
Pre-Condition
Typical course
Aplikasi siap menerima inputan.
Kegiatan Pengguna
Respon Sistem
Alternatecourse
9. Menekan
bangkit kunci
Aksi Actor
Post Condition
Sistem telah melakukan proses bangkit kunci kunci privat
of Event
tombol 10. Menampilkan kunci privat
Respon sistem
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
Typical course
Aplikasi siap menerima inputan.
Kegiatan Pengguna
Respon Sistem
Alternatecourse
11. Menekan
tombol 12. Menampilkan File teks yang
import
untuk
akan di dekripsi
mengambil file
Aksi Actor
Respon sistem
Post Condition
Sistem telah melakukan proses dekripsi
of Event
Universitas Sumatera Utara
33
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
Kegiatan Pengguna
Respon Sistem
Alternatecourse
13. Menekan
tombol 14. Menampilkan Plainkey
dekripsi kunci
Aksi Actor
Respon sistem
Post Condition
Sistem telah melakukan proses Dekripsi Kunci
of Event
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
Kegiatan Pengguna
Respon Sistem
Alternatecourse
15. Menekan
import
Aksi Actor
Post Condition
Sistem telah melakukan proses import file teks
of Event
tombol 16. Menampilkan file teks
Respon sistem
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
Enigma.
Universitas Sumatera Utara
34
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
Akan menampilkan kunci publik (p, d, y) serta kunci privat (a) yang dapat disimpan
kedalam file khusus.
Universitas Sumatera Utara
35
Berikut ini merupakan activity diagram untuk enkripsi:
Gambar 3.4 Activity Diagram Enkripsi
Universitas Sumatera Utara
36
Berikut ini merupakan activity diagram untuk dekripsi:
Gambar 3.5 Activity Diagram Dekripsi
Gambar 3.5 Activity Diagram Dekripsi
Universitas Sumatera Utara
37
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:
Gambar 3.6 Sequence Diagram Enkripsi
Universitas Sumatera Utara
38
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
Flowchart merupakan diagram alir dari bagan-bagan tertentu yang memiliki arus
Universitas Sumatera Utara
39
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:
MULAI
MULAI
Input:file
(Plaintext),kunci
Enigma
Enkripsi Plaintext
dengan algoritma
Enigma
Output:Cipherte
xt file
Input:file
(Plaintext),kunci
Enigma
Enkripsi kunci Enigma
dengan Rabin-Williams
Ouput:
Cipherkey
SELESAI
A.Flowchart enkripsi file dan kunci Enigma
Generate kunci publik
& privat RabinWilliams
Input:file
(Plaintext),kunci
Enigma
Dekripsi Cipherkey
Enigma dengan RabinWilliams
Ouput :kunci
Enigma (k)
Input Ciphertext
file,kunci Enigma
Dekripsi Ciphertext file
dengan Enigma
Output:
Plaintext
SELESAI
B.Flowchart dekripsi Ciphertext dan Cipherkey Enigma
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
Universitas Sumatera Utara
40
MULAI
Plaintext
Rotor 1 berputar dari kanan ke
kiri
Rotor 2 berputar dari kiri ke
kanan
Plaintext dari rotor 1 masukan
tiap data Plaintext ke tiap
cipher
Ciphertext
SELESAI
Gambar 3.10 Flowchart Enkripsi file
Universitas Sumatera Utara
41
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:
MULAI
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
Plaintext
SELESAI
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.
Universitas Sumatera Utara
42
3.1.5.1 Pseudocode 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.
def lehmannPrime (prima)
trial len (str (prima) )
for i in range (0, trial);
a random . randint (2, prima – 1)
L pow (a , ((prima -1 ) // 2 ), prima)
if L ! = 1 and L – prima
!
= -
1;
returnFalse
returnTrue
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:
Pembangkit kunci 1
enkripsi
2
dekripsi
3
tentang
4
JUDUL SKRIPSI
NAMA
NIM
JURUSAN-USU-TAHUN
Gambar 3.13 Rancangan Form Utama atau Home
Universitas Sumatera Utara
43
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.
1
2
4
3
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
Universitas Sumatera Utara
44
3.2.3 Form Enkripsi
1
2
7
3
8
9
4
10
5
6
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 Plaintext Enigma
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
Universitas Sumatera Utara
45
3.2.3 Form Dekripsi
1
2
3
5
4
6
7
8
9
10
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
Universitas Sumatera Utara
46
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.
1
Gambar 3.17 Rancangan Form Tentang
Keterangan :
1. Picturebox untuk menampilkan foto profil dan identitas penulis.
Universitas Sumatera Utara
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 masingmasing pada sistem. Tampilan utama dapat dilihat pada Gambar 4.1.
Gambar 4.1 Tampilan utama
43
Universitas Sumatera Utara
44
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
Tampilan enkrip pesan digunakan untuk mengenkripsikan file teks yang akan di rubah
menjadi Ciphertext untuk merahasiakan pesan asli (Plaintext), ditampilan enkripsi
pesan ini juga ada fitur yang berguna untuk mengenkripsikan kunci pesan. Tampilan
enkrip pesan dapat dilihat pada Gambar 4.3.
Universitas Sumatera Utara
45
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.
Gambar 4.4 Tampilan Dekripsi Pesan
Universitas Sumatera Utara
46
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
Untuk membangkitkan kunci Rabin-Williams user harus menekan tombol
Universitas Sumatera Utara
47
“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.
Gambar 4.6 menunjukan hasil pengacakan kunci yang kemudian diperiksa
untuk memenuhi persyaratan kunci Rabin-Williams. Pengecekan bilangan dilakukan
untuk memeriksa bilangan acak merupakan bilangan prima. Untuk mendapatkan
bilangan prima dilakukan dengan menggunakan algoritma Lehmann terhadap bilangan
acak yang dikeluarkan
Universitas Sumatera Utara
48
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
Gambar 4.7. Pengujian Proses Enkripsi
Universitas Sumatera Utara
49
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)
Universitas Sumatera Utara
50
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
ditentukan settingan rotor yang dipakai, untuk memulai proses enkripsi pertama kita
harus menginisialisasi huruf huruf pada rotor Enigma kedalam bentuk angka. Dapat
dilihat pada gambar 4.10.
Universitas Sumatera Utara
51
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
7
= ( 7 + 0 ) mod 26 = 7 (7 – 0 ) mod 26 = 3
Universitas Sumatera Utara
52
Rotor 1
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 + 22 ) mod 26 = 16 - ( 24 – 22)mod 26 = 2
Angka “2” pada tabel inisialisasi pada rotor III adalah “C”
Enkripsi karakter “L” dengan kunci menjadi BFX
Rotor 3
11
= ( 11 + 23) mod 26 = 8 (17 – 23) mod 26 = 20
Rotor 2
20
= ( 20 + 5) mod 26 = 25 ( 4 – 5) mod 26 = 25
Rotor 1
25
= ( 25 + 1) mod 26 = 0 ( 4 – 1) mod 26 = 3
Refflektor
3
= ( 3 + 0) mod 26 = 3 - ( 7 – 0) mod 26 = 7
Rotor 1
7
= ( 7 + 1) mod 26 = 8 - ( 21 – 1) mod 26 = 20
Rotor 2
20
= ( 20 + 5) mod 26 = 25 - ( 18 – 5) mod 26 = 13
Rotor 3
13
= ( 13 + 23) mod 26 = 10 - ( 20 – 23) mod 26 = 23
Angka “23” pada tabel inisialisasi pada rotor III adalah “X”
Enkripsi karakter “K” dengan kunci menjadi BFY
Rotor 3
10
= ( 10 + 24) mod 26 = 8 ( 17 – 24) mod 26 = 19
Rotor 2
19
= ( 19 + 5) mod 26 = 24 ( 14 – 5) mod 26 = 9
Rotor 3
9
= ( 9 + 1) mod 26 = 10 ( 13 – 1) mod 26 = 12
Universitas Sumatera Utara
53
Refflektor
12
= ( 12 + 0) mod 26 = 12 ( 14 – 0) mod 26 = 14
Rotor 1
14
= ( 14 + 1) mod 26 = 15 - ( 19 – 1) mod 26 = 18
Rotor 2
18
= ( 18 + 5) mod 26 = 23 - ( 8 – 5) mod 26 = 3
Rotor 3
3
= ( 3 + 24) mod 26 = 1 - ( 0 – 24) mod 26 = 2
Angka “2” pada tabel inisialisasi pada rotor III adalah “C”
Enkripsi karatker “O” dengan kunci menjadi BFZ
Rotor 3
14
= ( 14 + 25) mod 26 = 13 ( 13 – 25) mod 26 = 14
Rotor 2
14
= ( 14 + 5) mod 26 = 19 ( 13 – 5) mod 26 = 8
Rotor 3
8
= ( 8 + 1) mod 26 = 9 ( 25 – 1) mod 26 = 24
Refflektor
24
= ( 24 + 0) mod 26 = 24 ( 0 – 0) mod 26 = 0
Rotor 1
0
= ( 0 + 1) mod 26 = 1 - ( 22 – 1) mod 26 = 21
Rotor 2
21
= ( 21 + 5) mod 26 = 0 - ( 0 – 5) mod 26 = 21
Rotor 3
21
= ( 21 + 25) mod 26 = 20 - ( 22 – 25) mod 26 = 23
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
25
= ( 25 + 5) mod 26 = 4 ( 18 – 5) mod 26 = 13
Universitas Sumatera Utara
54
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 RabinWilliams, Gambar 4.8 adalah tampilan dari sistem enkripsi kunci pesan.
Gambat 4.8. Pengujian Proses Enkripsi Kunci Pesan
Universitas Sumatera Utara
55
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
Plainkey kunci “AEV” menghasilkan Cipherkey sebagai 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
pada tabel 4.6
Universitas Sumatera Utara
56
Tabel 4.8. Proses Dekripsi Kunci Pesan
Cipherkey
D
Kunci
D= cd Mod
Plainkey
kunci
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 RabinWilliams 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.
Tabel 4.10. Tampilan Hasil Dekripsi Pesan
Universitas Sumatera Utara
57
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
2
= ( 2 + 22) mod 26 =2 4 (16 – 22) mod 26 = 20
Rotor 2
20
= ( 20 + 5) mod 26 = 25 (4 – 5) mod 26 = 25
Rotor 1
25
= ( 25 + 1) mod 26 = 26 (4 – 1 ) mod 26 = 3
Reflektor
3
= ( 3 + 0 ) mod 26 = 3 (7 – 0 ) mod 26 = 7
Rotor 1
7
= ( 7 + 1) mod 26 = 8 - ( 21 – 1) mod 26 = 20
Rotor 2
20
= ( 20 + 5 ) mod 26 = 25 - ( 18 – 5) mod 26 = 13
Rotor 3
13
= ( 13 + 22 ) mod 26 = 9 - ( 4 – 22)mod 26 = 8
Angka “8” pada tabel inisialisasi pada rotor III adalah “I”
Enkripsi karakter “X” dengan kunci menjadi BFX
Rotor 3
23
= ( 23 + 23) mod 26 = 20 (10 – 23) 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
Refflektor
7
= ( 7 + 0) mod 26 = 7 - ( 3 – 0) mod 26 = 3
Rotor 1
Universitas Sumatera Utara
58
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
2
= ( 2 + 24) mod 26 = 0 ( 1 – 24) mod 26 = 3
Rotor 2
3
= ( 3 + 5) mod 26 = 8 ( 23 – 5) mod 26 = 18
Rotor 3
18
= ( 18 + 1) mod 26 = 19 ( 15 – 1) mod 26 = 14
Refflektor
14
= ( 14 + 0) mod 26 = 14 ( 12 – 0) mod 26 = 12
Rotor 1
12
= ( 12 + 1) mod 26 = 13 - ( 10 – 1) mod 26 = 9
Rotor 2
9
= ( 9 + 5) mod 26 = 14 - ( 24 – 5) mod 26 = 19
Rotor 3
19
= ( 19 + 24) mod 26 = 17 - ( 8 – 24) mod 26 = 10
Angka “10” pada tabel inisialisasi pada rotor III adalah “K”
Enkripsi karatker “X” dengan kunci menjadi BFZ
Rotor 3
23
= ( 23 + 25) mod 26 = 22 ( 20 – 25) mod 26 = 21
Rotor 2
21
= ( 21 + 5) mod 26 = 0 ( 0 – 5) mod 26 = 21
Rotor 3
21
= ( 21 + 1) mod 26 = 22 ( 1 – 1) mod 26 = 0
Refflektor
Universitas Sumatera Utara
59
0
= ( 0 + 0) mod 26 = 0 ( 24 – 0) mod 26 = 24
Rotor 1
24
= ( 24 + 1) mod 26 = 25 - ( 9 – 1) mod 26 = 8
Rotor 2
8
= ( 8 + 5) mod 26 = 13 - ( 19 – 5) mod 26 = 14
Rotor 3
14
= ( 14 + 25) mod 26 = 19 - ( 13 – 25) mod 26 = 14
Angka “14” pada tabel inisialisasi pada rotor III adalah “O”
Enkripsi karakter “I” dengan kunci menjadi BFA
Rotor 3
8
= ( 8 + 0) mod 26 = 8 ( 17 – 0) mod 26 = 17
Rotor 2
17
= ( 17 + 5) mod 26 =22 ( 5 – 5) mod 26 = 0
Rotor 1
0
= ( 0+ 1) mod 26 = 1 ( 10 – 1) mod 26 = 9
Refflektor
9
= ( 9 + 0) mod 26 = 9 ( 23 – 0) mod 26 = 23
Rotor 1
23
= ( 23 + 1) mod 26 = 24 - ( 14 – 1) mod 26 = 13
Rotor 2
13
= ( 13 + 5) mod 26 = 18 - ( 4 – 5) mod 26 =25
Rotor 3
25
= ( 25 + 0) mod 26 = 25 - ( 12 – 0) mod 26 = 12
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.
.
Universitas Sumatera Utara
60
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.
Waktu (millisecond)
Waktu Enkripsi
36
31
26
21
16
11
6
1
0
500
1000
Panjang Plaintext (karakter)
Gambar 4.11 Grafik pengujian Enkripsi pesan
Universitas Sumatera Utara
61
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.
Waktu (millisecond)
Waktu dekripsi
36
31
26
21
16
11
6
1
0
500
1000
Panjang Plaintext (karakter)
Gambar 4.12 Grafik pengujian Dekripsi pesan
Universitas Sumatera Utara
62
Tabel 4.11 Perbandingan waktu enkripsi dan dekripsi pesan
No.
Panjang pesan
Waktu enkripsi
Waktu dekripsi
(karakter)
(milliseconds)
(milliseconds)
1
100
6ms
7ms
2
200
8ms
9ms
3
300
9ms
15ms
4
600
13ms
20ms
5
1200
24ms
30ms
46
Waktu (millisecond)
41
36
31
26
Waktu Dekripsi
21
Waktu Enkripsi
16
11
6
1
100
600
1100
Panjang Ciphertext (karakter)
Gambar 4.13 Grafik perbandingan enkripsi dan dekripsi pesan
Berdasarkan tabel 4.11 dan grafik pada gambar 4.13, dapat diinformasikan bahwa
jumlah proses waktu enkripsi dan dekripsi berbeda. Sistem memerlukan waktu yang
lebih lama untuk melakukan proses dekripsi pesan daripada melakukan proses
enkripsi pesan tersebut.
Universitas Sumatera Utara
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.
3. Diharapkan
pada
penelitian
selanjutnya
Algoritma
Enigma
lebih
dikembangkan dalam hal pemanfaatan rotor rotornya agar lebih aman dalam
menyamarkan sandi.
63
Universitas Sumatera Utara