BAB III
ANALISIS DAN PERANCANGAN
3.1.Analisis Sistem
analisis sistem adalah teknik pemecahan masalah dengan cara mengurai dan mempelajari sistem dan proses kerja agar dapat mengidentifikasi kekuatan, kelemahan dan peluang untuk dilakukan perbaikan dengan cara mendefinisikan masalah, mengidentifikasikan masalah, mengidentifikasikan penyebabnya, menentukan solusi, dan mengidentifikasikan kebutuhan informasi yang diperlukan sistem.
3.1.1. Analisis Masalah
Saat ini keamanan dalam pengiriman pesan rahasia sangatlah rentan oleh pihak ketiga yang ingin mengetahui isi pesan tersebut. Masalah utama didalam penelitian ini adalah bagaimana pengamanan file dalam bentuk doc, txt, dan rtf bisa aman dan tidak ada pihak ketiga yang mengetahui isi pesan tersebut. Dalam sistem ini, file akan diamankan dengan metode Hybrid cryptosystem, dimana file akan diamankan oleh algoritma kunci simetris algoritma zig zag dan kunci simetris tersebut akan diamankan lagi dengan algoritma kunci asimetris RSA Naïve.
Masalah-masalah pada penelitian ini diidentifikasikan dengan menggunakan diagram Ishikawa. Diagram Ishikawa atau sering dikenal dengan cause-and-effect matrix adalah suatu alat visual untuk mengidentifikasi, mengksplorasi, dan secara grafik
menggambarkan secara detail semua penyebab yang berhubungan dengan suatu permasalahan.
Menggabungkan algoritma asimetris dan Simetris unuk mengamankan data teks
material metode
Jalur pengiriman yang tidak aman
dan penerima
Kunci dapat diketahui pihak ketiga
Lemahnya pengamanan kunci Algorimata kriptografi asimetris lebih aman namun menghasilkan data yang lebih besar
Algoritma pembangkit kunci bilangan prima (lehmann) membutuhkan banyak percobaan yang tidak hanya satu
Gambar 3.1 Diagram Ishikawa
Pada gambar 3.1, dapat disimpulkan bahwa permasalahnya adalah muncul rasa curiga atau ingin tahu dari pihak ketiga terhadap kerahasiaan sebuah pesan yang disebabkan faktor perubahan ciphertext dan pengguna menggunakan satu kunci yang tidak aman dalam mengirimkan pesan kepada orang lain.
Solusi yang dapat ditawarkan adalah dengan mengunci ciphertext dengan kunci kriptografi simetri serta mengunci cipherkey dengan kriptografi asimeris dalam pengiriman pesan. Dengan cara melakukan teknik hybridcryptosystem. Sehingga menghasilkan sistem dengan tingkat keamanan yang tinggi serta algoritma asimetris, namun ukuran cipherkey yang dihasilkan sama dengan algoritma simetris. Penelitian ini menggunakan kombinasi dengan algoritma simetris zig zag untuk mengamankan file dan algoritma asimetris RSA – Naïve untuk mengamankan kunci yang digunakan untuk mengamankan file.
3.1.2. Analisis Kebutuhan
a. Kebutuhan Fungsional
kebutuhan fungsional adalah menjelaskan proses-proses aktifasi yang dapat dilakukan oleh sistem dalam melakukan pelayanan yang dilakukan sistem. Kebutuhan fungsional yang harus dipenuhi dari sistem yang Implementasi Kriptografi Hybrid Crypto Sistem Algoritma RSA – Naïve dan Algoritma Zig Zag dalam pengamanan file. Adalah sebagai berikut :
1. Sistem memasukkan file teks dan menyimpan kembali sebagai Plaintext, kunci zig zag, Ciphertext dan Cipherkey.
2. Sistem membangkitkan kunci secara acak untuk memudahkan proses enkripsi dan dekripsi.
3. Sistem melakukan enkripsi dan dekripsi file dengan algoritma zig zag
4. Sistem melakukan enkripsi dan dekripsi kunci zig zag dengan algoitma RSA – Naïve
b. Kebutuhan non-Fungsional
Kebutuhan non-fungsional adalah mendekripsikan sekumpulan batasan, karakteristik dan properti pada sistem, baik dalam lingkungan pengembangan maupun operasional, atau atribut kualitas yang harus dipenuhi oleh sistem.kebutuhan non-fungsional dari sistem meliputi karakteristik sebagai berikut :
1. Mudah digunakan dan dimengerti
Sistem yang akan dibangun menggunakan desain yang sederhana dan user friendly agar mudah digunakan dan dipelajari oleh pengguna.
2. Kemampuan
Sistem yang akan dibangun dapat melakukan fungsi kriptografi (enkripsi dan dekripsi).
3. Model penyimpanan data
Data pesan teks yang dihasilkan baik berupa ciphertext dan plaintext disimpan pada file khusus dalam bentuk *.txt,*.doc,*.rtf.
4. Dokumentasi
Sistem yang akan dibangun memiliki panduan pengguna sistem. 5. Kontrol
Sistem untuk setiap inputan yang tidak sesuai, sistem yang dibangun akan menampilkan pesan error.
Gambar 3.2 Arsitektur Umum Sistem
Gamabar 3.2 menjelaskan bahwa ciphertext adalah ciphertext yang dihasilkan dari proses enkripsi oleh pengirim pesan dengan menggunakan algoritma zig zag. Selanjutnya pesan akan terenkripsi dan menghasilkan kunci. Kunci dienkripsi dengan menggunakan kunci public algoritma RSA-Naïve. Kemudian menghasilkan cipherkey. Proses selanjutnya adalah proses dekripsi dimana ciphertext dan cipherkey dikirim kepenerima. Penerima mengenkripsi cipherkey dengan kunci privat RSA-Naïve. Kemudian didapat kunci zig zag. selanjutnya didekripsi ciphertext dengan kunci algoritma zig zag yang menghasilkan plaintext yang dikirim oleh sipengirim pesan
3.1.4. Pemodelan sistem
a. Diagram Use Case
Use Case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use Case mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan. Use Case Diagram menampilkan aktor mana yang menggunakan Use Case, Use Case
mana yang memasukkan Use Case lain dan hubungan antara aktor dan use case. Pada penelitian ini diagram Use Case dapat ditunjukan pada gambar 3.3
Gambar 3.3 Use Case Diagram
Pada gambar 3.3 menjelaskan bahwa use case diatas, terdiri atas 2 aktor yaitu penngirim dan peneriman pesan. Pembangkit kunci dilakukan oleh penerima pesan, sementara enkripsi dilakukan oleh pengirim pesan, dan dekripsi dilakukan oleh penerima pesan, lalu yang terakhir menyimpan file text dan import file text. Berikut Narrative Use Case sebagai berikut :
Tabel 3.1. Narrative Use Case Proses Pembangkit Kunci
Usecase Bangkitkan kunci Actor Penerima
Descripsitions Usecase ini menjelaskan bagaimana penerima membangkitkan
Naïve muncul
Event 1. Usecase dimulai ketika penerima mengklik tombol
“mulai”
2. Sistem menampilkan form pilihan aktor
3. Penerima Mengklik “bangkitkan kunci” untuk
mendapatkan bilangan prima secara acak P dan Q, kunci publik E, kunci privat D, dan nilai N
4. Sistem menampilkan bilangan prima acak P dan Q, kunci publik E, kunci privat D, dan nilai N.
5. Penerima menyimpan kunci publik, kunci privat dan nilai N
6. Sistem menyimpan kunci 7. Usecase berakhir dengan baik
Post Condition Kunci publik dan kunci privat telah didapatkan dan disimpan. Kunci tersebut akan digunakan oleh algoritma RSA – Naïve Setelah kunci pubik dan kunci privat telah didapatkan, maka proses enkripsi file dan kunci siap dilakukan, seperti pada tabel 3.2
Tabel 3.2. Narrative Use Case Proses Enkripsi file
Usecase Enkripsi file Actor Pengirim
Descripsitions Usecase enkripsi menunjukkan proses enkripsi pesam dan kunci
yang dimiliki pengirim
preconditions Memilih menu Encrypt File and zig zag
Event 1. Usecase dimulai ketika pengirim mengklik tombol
“mulai”
3. Pengirim mememasukkan pembangkit kunci dengan mengklik button “bangkit kunci” dan simpan kunci 4. Pengirim mememasukkan file yang ingin dienkripsi
dengan mengklik button “browser” dan mengklik button
“Mulai enkripsi”
5. Sistem menampilkan ukuran file beserta ukurannya 6. Pengirim memasukkan kunci zig zag untuk melakukan
proses enkripsi file dengan mengklik button “Mulai enkripsi”
7. sistem menampilkan ciphertext, ukuran ciphertext, dan menampilkan kunzi zig zag dikolom enkripsi kunci zig zag
8. pengirim menyimpan hasil ciphertext dari enkripsi dengan mengklik button simpan
9. sistem menyimpan hasil ciphertext
10.sistem menampilkan kunci publik RSA – Naïve dikolom kunci N dan kunci E
11.pengirim melakukam enkripsi kunci zig zag dengan
mengklik button “mulai enkripsi”
12.sistem melalukan enkripsi terhadap kunci zig zag dan menampilkan hasil cipherkey, ukuran cipherkey.
13.Pengirim menyimpan cipherkey dengan mengklik button simpan
14.Use case berakhir dengan baik
Post Condition File telah dienkripsi menjadi ciphertext dan kunci yang digunakan untuk dienkripsi file juga akan menjadi cipherkey, sehingga dapat dikirim kepenerima melalui saluran yang tidak aman
Setelah ciphertext dan cipherkey sampai kepenerima, maka penerima selanjutnya melakukan proses dekripsi agar dapat mengetahui isi pesan yang disampaikan oleh pengirim, seperti terlihat pada tabel 3.3
dekripsi ciphertext dan cipherkey yang bertujuan agar file yang dikirim oleh penerima bisa dibaca oleh sipenerima
preconditions Penerima memperoleh ciphertext dan cipherkey dari pengirim event 1. Usecase dimulai ketika penerima mengklik tombol “go
to dekripsi”
2. Penerima memilih menu dekripsi file dan kunci zig zag 3. Sistem menapilkan from yang dipilih actor
4. Penerima mencari file cipherkey yang sudah tersimpan
dengan mengklik button “browse kunci”
5. Sistem menampilkan cipherkey yang diterima sipenerima pada kolom dekripsi kunci
6. Penerima mencari kunci privat RSA – Naïve dengan
megklik button “browse kunci”
7. Sistem menampikan kunci privat di kolom dekripsi kunci
8. Penerima mengklik button “ browser kunci” untuk mendapatkan kunci zig zag
9. Sistem memulai proses dekripsi cipherkey dengan kunci RSA – Naïve dan menampilkan kunci zig zag dikolom dekripsi file
10.Penerima memilih ciphertext yang diterima dari
pengirim dengan mengklik botton “browse”
11.Sistem menampilkan ciphertext yang diterima dari pengirim dikolom dekripsi file
12.Sistem memulai proses dekripsi ciphertext dengan menggunakan kunci zig zag dan menampilkan plaintext hasil dekripsi pesan
Post Condition File yang diterima dari sipengirim telah didekripsikan. Sehingga isi penrima dpat membaca isi file tersebut.
b. Activity Diagram
Activity diagram adalah bentuk visual dari alir kerja yang berisi aktivitas dan tindakan,yang juga dapat berisi pilihan, pengulangan, dan concurrency. Activity diagram pada proses pembangkit kunci dapat dilihat pada gamabar 3.3
Gambar 3.4 Activity Diagram pembangkitan kunci
Gambar 3.4 menujukkan aktivasi yang akan dilakukan untuk membangkitkan kunci algoritma RSA-Naïve, penerima mengklik button bangkitkan kunci, kemudian sistem akan melakukan generate bilangan prima, kunci publik dan kunci privat. menampilkan bilangan prima (p,q), kunci publik (e) dan kunci privat (d) dan akan tersimpan kedalam file tertentu.
Gambar 3.5 Activity Diagram proses enkripsi file dan kunci zig zag
Gambar 3.5 proses enkripsi file dan kunci kunci zig zag dimana setelah mendapatkan ciphertext dengan hasil enkripsi plaintext dengan algoritma zig zag dan cipherkey diperolaeh dengan dienkripsi dengan kunci zig zag dan kunci publik
Gambar 3.6 Activity Diagram Dekripsi Ciphertext dan Cipherkey
c. Sequence Diagram
Sequence Diagram adalah suatu diagram yang memperlihatkan atau menampilkan
Gambar 3.7 Sequence Diagram pembangkit ku
Berikut merupakan diagram sequence untuk enkripsi ditunjukkan pada gamabar 3.8
Gambar 3.8 Sequence Diagram proses enkripsi
3.9
Gambar 3.9 Sequence Diagram proses dekripsi 3.1.5. Flowchart
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang
menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program. Terdapat beberapa flowchart pada pembangunan sistem ini, yaitu : flowchart enkripsi sistem, flowchart dekripsi sistem, flowchart predifined bangkit kunci, flowchart predifined enkripsi dokumen dan
algoritma zig zag, flowchart predifined enkripsi kunci zig zag dan algoritma RSA-Naïve, flowchart predifined dekripsi cipherkey dengan algoritma RSA-Naïve, flowchart predifined dekripsi ciphertext dengan algoritma zig zag
a. Flowchart enkripsi sistem
Bangkitkan kunci zig zag Dan RSA Naive
Masukkan Kunci zig zag, kunci
RSA Naive
Dokumen txt,rtf,doc
Enkripsi file dokumen dengan Algoritma zig zag
Hasilnya Ciphertext
Enkripsi kunci zig za dengan algoritma RSA-Naive
Hasilnya cipherkey
selesai
Gambar 3.10 Flowchart enkripsi sistem
b. Flowchart predefined bangkitkan kunci
Mulai
Kunci zig zag = matriks len(kunci) * len(kunci) P = bilangan prima acak rentang 1-99
Q = bilangan prima zacak rentang 1-99 N = p*q
D = mod inverse (e, ɸ (n))
E = GCD (e, ɸ n)
Kunci zig zag, p,q,n,d,e
Selesai
Gambar 3.11 Flowchart bangkitkan kunci zig zag dan RSA – Naïve c. Flowchart predefined enkripsi dokumen dan algoritma zig zag
Berikut ini adalah flowchart yang digunakan untuk predefined enkripsi dokumen dan algoritma zig zag, seperti pada gambar 3.12
Mulai
Gambar 3.12 Flowchart predefined enkripsi dokumen dan algoritma zig zag d. Flowchart predefined enkripsi kunci zig zag dan algoritma RSA-Naïve
Kunci zig zag
Kunci RSA- Naïve (e,n)
Cipherkey = kunci zig zagemod N
cipherkey
selesai
Gambar 3.13 Flowchart predefined enkripsi kunci zig zag dan algoritma RSA-Naïve
e. Flowchart dekripsi sistem
Mulai
Cipherkey, ciphertext
Dekripsi cipherkey dan algoritma RSA-naive
Kunci zig zag
Dekripsi ciphertext dengan algortma ziz zag
plaintext
selesai
Gambar 3.14 Flowchart dekripsi sistem
cipherkey
Kunci RSA- Naïve (d,n)
Cipherkey = kunci zig zag dmod N
Kunci zig zag
selesai
Gambar 3.15 Flowchart predefined dekripsi kunci cipherkey dengan algoritma RSA-Naïve
g. Flowchart predefined dekripsi ciphertext dengan algoritma zig zag
mulai
Pesan hasil [0,j] = matriks [a,j] N
For j = 0; j<pesan.lenght/8 j++
Pesan enkrip = pesan hasil [I,j]
Pesan
Pada sistem ini terdiri dari 4 rancangan interface, yaitu Home, pembanglit kunci from enkripsi file, from dekripsi file
a. Halaman Awal
pada halaman awal ini kita dapat melihat judul utama pada sistem, logo universitas, identitas pembuat sistem, dan tombol untuk masuk dan mulai sistem. Halaman awal ditunjukkan pada gambar 3.17
Mulai
1
2
3
4
Gambar 3.17 perancangan interface halaman awal Keterangan gambar :
1. Label (judul) : digunakan untuk juduk sistem
2. Picturebox : digunakan untuk logo Universitas sumatera utara 3. Label (identitas) : digunakan untuk identitas nama dan nim
4. Button : digunakan untuk masuk dan memulai sistem
b. Halaman bangkit kunci dan enkripsi file
memasukkan kunci zig zag dan mulai enkripsi, file pun terenkripsi. Lalu kunci zig zag tersebut dienkripsi dengan menggunakan kunci publik RSA-Naïve, seperti yang dapat dilihat pada gambar 3.18
Pembangkit kunci
Gambar 3.18 perancangan interface pemabngkit kunci dan enkripsi file Keterangan gambar :
1. GroupBoux : berfungsi untuk membangkitakan kunci yang akan dienkripsi 2. Label : digunakan untuk tulisan ciphertext
3. Textbox : digunakan untuk menampilkan kunci zig zag yang akan digunakan untuk dienkripsi
4. Label : digunakan untuk tulisan p
5. Textbox : digunakan untuk menampilkan hasil bilangan prima 6. Label : digunakan untuk tulisan q
7. Textbox : digunakan untuk menampilkan hasil bilangan prima 8. Label : digunakan untuk tulisan n
9. Textbox : digunakan untuk menampung nilai n 10.Label : digunakan untuk tulisan d
11.Textbox : digunakan untuk menampung nilai d 12.Label : digunakan untuk tulisan e
16.Label : digunakan utuk tulisan enkripsi from
17.Rich Text Box : digunakan untuk memasukkan file yang akan dienkripsi 18.Button : digunakan untuk mengambil file yanga kan dienkripsi 19.Rich Text Box : digunakan untuk hasil dari plaintext menjadi ciphertext 20.Label : digunakan untuk tulisan cipherkey
21.Textbox : digunakan untuk menampung hasil cipherkey yang sudah kita enkripsi
22.Label : digunakan untuk menampilkan nama file 23.Label : digunakan untuk menampilkan alamat file
24.Simpan : digunakan untuk menyimpan hasil ciphertext dan cipherkey
25.Button : digunakan untuk ke sistem dekripsi 26.Label : digunakan untuk tulisan RSA-Naïve
c. Halaman dekripsi file
Pembangkit kunci
gamabar 3.19 perancangan interface dekripsi file Keterangan gambar :
1. GroupBoux : berfungsi untuk membangkitakan kunci yang akan didekripsi 2. Label : digunakan untuk tulisan ciphekey
3. Textbox : digunakan untuk menampilkan hasil ciphekey yang telah dienkripsi
4. Label : digunakan untuk tulisan p
5. Textbox : digunakan untuk menampilkan hasil bilangan prima 6. Label : digunakan untuk tulisan q
7. Textbox : digunakan untuk menampilkan hasil bilangan prima 8. Label : digunakan untuk tulisan n
9. Textbox : digunakan untuk menampung nilai n 10.Label : digunakan untuk tulisan d
11.Textbox : digunakan untuk menampung nilai d 12.Label : digunakan untuk tulisan e
13.Textbox : digunakan untuk menampung nilai e
14.Button :digunakan untuk membangkitkan hasil ciphekey dan kunci privat RSA-Naïve
15.Label : digunakan utuk tulisan dekripsifrom
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1.Implementasi
Dalam penelitian ini , sistem dibangun dengan menggunakan bahasa C#. Terdapat 3 halaman utama dalam sistem yang dibaangun, yaitu halaman awal untuk menampilkan judul dan identitas singkat pembuat sistem kepada user, halaman enkripsi sebagai halaman untuk melakukan proses enkripsi pesan, halaman dekripsi sebagai halaman untuk melakukan proses dekripsi pesan.
4.1.1. Halaman awal
Gambar 4.1 Tampilan Halaman Awal Sistem
lehmann). Pembangkit kunci mempunyai 2 button yang berfungsi sebagai pembangkit kunci dan menyimpan kunci yang telah dibangkitkan. Setelah menyimpan kunci lalu mengkripsikan file teks yang akan dirubah menjadi ciphertext untuk merahasiakan pesan asli (plaintext), maka selanjunya enkripsi kunci zig zag setelah proses selesai maka dari hasil enkripsi akan ditampilkan textbox cipherkey. Tampilan pembangkit kunci dan enkripsi pesan dapat dilihat pada gambar 4.2.
Gambar 4.2 tampilan halaman utama (pembangkit kunci dan enkripsi)
4.1.3. Tampilan dekripsi pesan
Gambar 4.3 Tampilan dekripsi pesan
4.2. Pengujian sistem
Pengujian dilakukan terhadap sistem untuk membuktikan bahwa sistem bahwa yang telah dibangun berjalan dengan baik serta sesuai dengan analisis dan perancangan sistem yang telat dibuat sebelumnya.
Untuk melakukan pengujian terhadap sistem, pada penelitian ini dirancang suatu skenario dalam mengamankan suatu pesan teks. Adapun sekenario yang dibuat adalah pengguna sistem ingin mengamankan pesan teks dengan cara melakukan enkripsi yang dilanjutkan dengan mengenkripsi kunci dari pesan tersebut. Pada sekenario selanjutnya, penerima pesan menerima cipherkey dan ciphertext dari pengirim dan dilanjutkan dengan proses dekripsi untuk memperoleh pesan dari pengirim. Untuk mengetahui proses yag dilakukan sistem berjalan dengan baik dan hasil proses sistem adalah benar, maka tiap-tiap sekenario melakukan secara manual dan kemudian dibandingkan dengan hasil sistem.
4.2.1. Pengujian proses pembangkitan kunci
a. Pengujian pembangkit kunci dengan sistem
Untuk membangkitkan kunci RSA-Naïve user harus menekan tombol “Bangkitkan
kunci” dan muncul hasil pembangkit kunci bilangan prima(p,q), publik (kunci e) dan
Gambar 4.4 pengujian bangkit kunci zig zag key dan RSA-Naïve
Setelah dibangkitkan kunci simpan kunci, kemudian sitem akan menampilkan pop up window simpan kunci, seperti pada gambar 4.7.
Gambar 4.5. Pop-Up Window Simpan Kunci publik
b. Pengujian pembangkit kunci secara Manual
Perhitungan manual dari proses pembangkit kunci zig zag dan RSA-Naïve sesuai dengan gambar 4.6. kunci zig zag mempunyai 8 kunci, kunci dirandom secara acak, kunci RSA-Naïve harus diperiksa pengecekan bilangan acak merupakan bilangan prima. Untuk mendapatkan bilangan prima dilakukan dengan menggunakan algoritma lehmann terhadapt bilangan acak yang dikeluarkan, setelah mendapatkan bilangan prima hitung nilai N tersebut setelah selesai menghitung nilai N, cari lah nilai e dengan rumus ambil bilangan e dimana 1 <
e < ɸ(n) adalah bilangan bulat lalu hitung nilai GCD (e, ɸ) =1 atau relatif prima
terhadap , kemudian hitung nilai d secara iterasi sampai pada keadaan dimana
d.e=1(mod ɸ(n)). Proses contoh pembangkitan kunci Menentukan bilangan acak
a. Pengujian Hasil Enkripsi Dengan Sistem
Untuk melakukan enkripsi file, User dimulai ketika pengirim mengklik tombol
“mulai”
Sistem menampilakan from Enkripsi file dan Kunci zig zag, Pengirim mememasukkan pembangkit kunci dengan mengklik button “bangkit kunci” dan simpan kunci. Pengirim mememasukkan file yang ingin dienkripsi dengan mengklik button
“browser” dan mengklik button “Mulai enkripsi”, Sistem menampilkan ukuran file
beserta ukurannya. Setelah itu pengirim memasukkan kunci zig zag untuk melakukan
proses enkripsi file dengan mengklik button “Mulai enkripsi”. Sistem menampilkan
ciphertext, ukuran ciphertext, dan menampilkan kunzi zig zag dikolom enkripsi kunci
zig zag pengirim menyimpan hasil ciphertext dari enkripsi dengan mengklik button simpan sistem menyimpan hasil ciphertext
sistem menampilkan kunci publik RSA – Naïve dikolom kunci N dan kunci E
pengirim melakukam enkripsi kunci zig zag dengan mengklik button “mulai enkripsi”
sistem melalukan enkripsi terhadap kunci zig zag dan menampilkan hasil cipherkey, ukuran cipherkey. Pengirim menyimpan cipherkey dengan mengklik button simpan hasil proses enkripsi dapat dilihat pada gambar 4.7
Gambar 4.6 pengujian proses enkripsi b. Pengujian Hasil Enkripsi Dengan Perhitungan Manual
Proses enkripsi dilakukan dengan algoritma zig zag. setelah plaintext diinputkan maka langkah selanjutnya adalah melakukan enkripsi kunci zig zag. kunci zig zag yang digunakan pada contoh ini adalah 2.8.4.7.1.6.3.5. berikut ini contoh dari perhitungan manual proses enkripsi :
Kunci digit pertama = 2
Karena metode yang digunakan adalah metode transposisi kolom, maka posisi matriks karakter menjadi (2, 1), (3, 2), (2,3) (3,4)
Matriks plaintext matriks ciphertext
Kunci digit kedua = 8
Kunci digit keempat = 7
Posisi matriks karakter dengan digit keempat = 7 menjadi (7,1), (8, 2), (7,3), (8,4)
Matriks plaintext Matriks Ciphertext
Kunci digit kelima = 1
Posisi matriks karakter dengan digit kelima = 1 menjadi (1, 2), (2, 2), (1,3), (2,4)
Plaintext matrirks , Ciphertext matriks
Kunci digit keenam = 6
Posisi matriks karakter dengan digit keenam = 6 menjadi (6, 1), (7, 2), (6,3), (7,4).
Matriks plaintext Matriks Ciphertext
Kunci digit ketujuh = 3
Kunci digit kedelapan = 5
Posisi matriks karakter dengan digit kedelapan = 5 menjadi (5, 1), (6, 2), (5,3), (6,4).
Matriks plaintext Matriks Ciphertext
Melalui proses perhitungan manual, maka
ciphertext yang didapat pada proses enkripsi dengan menggunakan algoritma zig zag
adalah “IADS A MEGRER RAHAL J LOHANAPA” dimana hasil ciphertext sudah
Gambat 4.7. Pengujian Proses Enkripsi Kunci Pesan
pada gambar 4.8 dihasilkan cipherkey yang ditunjukan pada kolom cipherkey. Kolom cipherkey merupakan kolom yang menunjukan cipherkey dalam bentuk angka. Berdasarkan plainkey dari kunci zig zag menghasilkan cipherkey sebagai berikut “2454 2928 1111 1098 1946 2227 1 6052”
4.2.3. Pengujian dekripsi kunci pesan
Pada proses dekripsi kunci pesan hanya dapat memiliki kunci privat RSA-Naïve. Dekripsi pada tahap ini akan menghasilkan plaintext yang kembali seperti semula. Pada proses dekripsi data memerlukan nilai p,q,n,d,e yang digunakan agar plaintext kemabali seperti semula. Tampilan sistem yang ditunjukan pada gambar 4.9
algoritma zig zag sama dengan plaintext awal masukkan. Hasil ini dapat disimpulkan bahwa proses dekripsi algoritma kunci zig zag mampu mengembalikan planintext seperti semula.
4.2.4. Pengujian proses dekripsi pesan
Untuk melakukan enkripsi file, Penerima memilih menu dekripsi file dan kunci zig zag Penerima mencari file cipherkey yang sudah tersimpan dengan mengklik button
“browse kunci”. Sistem menampilkan cipherkey yang diterima sipenerima pada kolom, dekripsi kunci penerima mencari kunci privat RSA – Naïve dengan megklik button
“browse kunci”, Sistem menampikan kunci privat di kolom dekripsi kunci Penerima mengklik button “ browser kunci”. Untuk mendapatkan kunci zig zag Sistem memulai proses dekripsi cipherkey dengan kunci RSA – Naïve dan
menampilkan kunci zig zag dikolom dekripsi file, Penerima memilih ciphertext yang
diterima dari pengirim dengan mengklik botton “browse”. Sistem menampilkan
ciphertext yang diterima dari pengirim dikolom dekripsi file.Sistem memulai proses dekripsi ciphertext dengan menggunakan kunci zig zag dan menampilkan plaintext hasil dekripsi pesan. proses enkripsi dapat dilihat pada
gambar 4.10
Gambar 4.9 Proses Dekripsi zig zag
RAHAL J LOHANAPA” berikut proses dekripsi pesan agoritma zig zag
Matriks Ciphertext
Matriks plaintext
Melalui proses perhitungan manual, maka plaintext akhir yang didapat pada proses dekripsi menggunakan algoritma zig zag adalah “MO LUREIU MTKP”, dimana nilai plaintext akhir tersebut sama dengan plaintext awal pada proses perhitungan dengan program. Sehingga dengan demikian dapat disimpulkan bahwa untuk proses dekripsi pada program sudah berhasil diterapkan dan berjalan dengan baik.
4.3. Hasil pengujian sistem
algoritma zig zag
Tabel 4.1 Pengujian enkripsi dengan variasi panjang Plaintext No Panjang palintext Waktu (milliseconds)
1 100 5,6036
2 300 6,3522
3 400 3,3333
4 700 6,8869
5 1500 5,4462
Gambar 4.10 Grafik Pengujian Enkripsi
b. Pengujian Dekripsi Pesan
Pengujian ini dilakukan untuk mengetahui panjang Ciphertext terhadap lama proses dekripsi pesan dengan menggunakan panjang kunci yang tetap dalam proses dekripsi algoritma zig zag.
no Panjang Ciphertext Waktu (millisecond) 0
2 4 6 8
100 300 400 700 1500
1 100 3,4322
2 300 4,5362
3 400 5,4565
4 700 5,6723
5 1500 6,9955
Tabel 4.2 Pengujian Dekripsi dengan variasi panjang Ciphertext
Gambar 4.11 Grafik Pengujian Dekripsi
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.
Tabel 4.3 Perbandingan waktu enkripsi dan dekripsi pesan No. Panjang pesan
100 300 400 700 1500
Gambar 4.12 Grafik Pengujian Enkripsi dan Dekripsi
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 enkripsi pesan daripada melakukan proses dekripsi pesan tersebut.
100 200 300 700 1500
BAB 5
KESIMPULAN DAN SARAN
5.1.Kesimpulan
Bedasarkan penelitian diatas, diperoleh beberapa kesimpulan, diantaranya :
1. Metode transposisi algoritma Zig-zag Cipher yang digunakan pada saat enkripsi harus sama dengan metode transposisi yang digunakan pada saat dekripsi untuk mendapatkan hasil plaintext yang sama.
2. Semakin besar ukuran file, maka semakin besar ukuran ciphertext yang dihasilkan. 3. Berdasarkan grafik panjang plaintext terhadap waktu proses didapatkan hasil panjang plaintext berbanding lurus dengan waktu membentuk grafik yang linear. dapat diinformasikan bahwa jumlah proses waktu enkripsi dan dekripsi berbeda. Sistem memerlukan waktu yang lebih lama untuk melakukan proses enkripsi pesan daripada melakukan proses dekripsi pesan tersebut.
4. Hybrid crypto adalah metode untuk mengunci plainteks dengan algoritma simetris dan menggunakan algoritma asimetris untuk mengunci algoritma simetris. Dengan menggunakan hybrid crypto, maka proses enkripsi plainteks menggunakan algoritma zig zag sementara algoritma RSA-Naïve digunakan untuk enkripsi kunci algoritma zig zag.
5. Semakin panjang jumlah karakter pesan semakin lama waktu yang dibutuhan untuk mengenkripsi pesan.
5.2. Saran
Adapun saran-saran yang dapat dipertimbangkan untuk mengembangkan penelitian ini lebih lanjut adalah sebagai berikut:
3. Pada penelitian ini, implementasi algoritma menggunkan bahasa C#. Maka diharapkan kepada pengembang sistem untuk mengimplementasikan algoritma menggunakan bahasa pemrograman yang lain seperti java, pithon, visual basic, PHP dan sebagainya.