• Tidak ada hasil yang ditemukan

Pengamanan File Teks Dengan Skema Hybrid Menggunakan Algoritma Enigma Dan Algoritma Rabin-Williams Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengamanan File Teks Dengan Skema Hybrid Menggunakan Algoritma Enigma Dan Algoritma Rabin-Williams Chapter III V"

Copied!
41
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

Berikut ini merupakan activity diagram untuk enkripsi:

(10)

Berikut ini merupakan activity diagram untuk dekripsi:

Gambar 3.5 Activity Diagram Dekripsi

(11)

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:

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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 :

(21)

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.

(22)

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

(23)

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.

(24)

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

(25)

“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.

(26)

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

(27)

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)

(28)

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

(29)

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

(30)

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”

(31)

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

(32)

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.

(33)

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

(34)

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.

(35)

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”

(36)

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”

(37)

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.

(38)

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

(39)

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

(40)

Tabel 4.11 Perbandingan waktu enkripsi dan dekripsi pesan

Gambar 4.13 Grafik perbandingan enkripsi dan dekripsi pesan

(41)

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.

Gambar

Gambar 3.5 Activity Diagram Dekripsi
Gambar 3.6 Sequence Diagram Enkripsi
Gambar 3.7 Sequence Diagram Dekripsi
Gambar 3.9 Flowchart Hybrid Cryptosystem
+7

Referensi

Dokumen terkait

Setelah Alice mendapatkan hasil enkripsi pesan selanjutnya Alice akan mengenkripsi kunci dari pesan tersebut dengan menggunakan kunci publik dari algoritma Rabin. Gambar

Penggunaan kunci ditunjukkan sebagai berikut, dalam contoh ini kunci yang digunakan adalah “SITEPU” maka matriks yang dihasilkan dari kunci tersebut dapat dilihat pada gambar

Algoritma Affine Cipher digunakan untuk mengamankan file citra dan Algoritma RSA-CRT digunakan untuk mengamankan kunci dari citra yang telah dienkripsi..

Gambar 4.6 Tampilan Penyimpanan Kunci Privat RSA-CRT 49 Gambar 4.7 Tampilan Penyimpanan Kunci Publik RSA-CRT 49 Gambar 4.8 Tampilan akhir penyimpanan kunci pada halaman

Pada Gambar 4.3 menunjukkan form untuk proses enkripsi dimana terdapat proses untuk menginputkan file kemudian buka file untuk membaca isi dari file yang telah diinputkan

Uji coba ini dilakukan pada gambar dengan resolusi 550 x 550 piksel, dengan menginputkan kata kunci “kalu & gich” pada kedua kunci double Playfair cipher untuk

dihancurkan. Panjang kunci One Time Pad – panjang teks asli sehingga tidak ada kebutuhan untuk menggulang penggunaan kunci selama proses enkripsi.. Aturan enkripsi

Gambar 4.11 menunjukkan grafik dari rata-rata waktu proses enkripsi file pada algoritma Spritz yang memiliki panjang kunci 23 digit dengan panjang karakter yang