Implementasi Kriptografi Hybrid Crypto Sistem Algoritma RSA – Naïve Dan Algoritma Zig-Zag Dalam Pengamanan File Chapter III V

66

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.
Permasalahan pada penelitian ini secara umum dapat ditunjukan pada diagram
Ishikawa.Gambar3.1

25
Universitas Sumatera Utara

66

mesin

manusia
Data yang dikirim
tidak aman
Pengirim
dan penerima


Proses komputasi yang
relatif lama

Memiliki rasa curiga
dan ingin tahu
Pihak ketiga

Jalur pengiriman yang tidak aman

Menggabungkan algoritma asimetris dan
Simetris unuk mengamankan data teks
Lemahnya pengamanan kunci
Kunci dapat diketahui pihak ketiga

material

Algorimata kriptografi
asimetris lebih aman
namun menghasilkan
data yang lebih besar


Algoritma pembangkit kunci bilangan prima
(lehmann) membutuhkan banyak percobaan
yang tidak hanya satu

metode

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
Dalam analisis kebutuhan ini terdapat dua kebutuhan yaitu kebutuhan fungsional dan
kebutuhan non fungsional. Kebutuhan fungsional yaitu fungsi yang wajib ada pada
sistem karena merupakan kebutuhan mendasarkan dari sebuah sistem dan ada juga
kebutuhan non fungsional yaitu fungsi yang tidak wajib ada pada sistem namun
keberadaannya membuat sitem tersbut menjadi lebih baik.

49
Universitas Sumatera Utara

27

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.
3.1.3. Arsitektur umum sistem

Universitas Sumatera Utara

28

Arsitektur umum sistem dapat digunakan untuk menjelaskan sistem secara keseluruhan.
Arsitektur umum sistem dapat dilihat pada gambar 3.2

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
Pemodelan sistem bertujuan untuk menggambarkan semua kondisi, kebutuhan dan
bagian-bagian yang berperan dalam rancangan sistem. Pemodelan sistem dirancang
dengan menggunakan diagram UML (Unified Modelling Language). Diagram UML
yang digunakan adalah Use Case Diagram, Activity diagram, dan sequence diagram.

Universitas Sumatera Utara

29

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
Actor
Descripsitions

Bangkitkan kunci
Penerima
Usecase ini menjelaskan bagaimana penerima membangkitkan
kunci publik dan kunci privat dengan kunci RSA – Naïve dan

Universitas Sumatera Utara


30

membangkitkan

bilangan

prima

secara

acak

dengan

menggunakan algoritma Lehmann
preconditions

Aplikasi ini berhasil dijalankan dan from bangkitkan kunci RSA
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
Actor
Descripsitions

Enkripsi file
Pengirim
Usecase enkripsi menunjukkan proses enkripsi pesam dan kunci
yang dimiliki pengirim

preconditions
Event

Memilih menu Encrypt File and zig zag
1. Usecase dimulai ketika pengirim mengklik tombol
“mulai”
2. Sistem menampilakan from Enkripsi file dan Kunci zig
zag

Universitas Sumatera Utara

31

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
Tabel 3.3 Narrative Use Case Proses Dekripsi file

Universitas Sumatera Utara

32

Usecase
Actor
Descripsitions

Dekripsi file
Penerima
Usecase dekripsi menunjukkan proses untuk melakukan
dekripsi ciphertext dan cipherkey yang bertujuan agar file yang
dikirim oleh penerima bisa dibaca oleh sipenerima

preconditions
event

Penerima memperoleh ciphertext dan cipherkey dari pengirim
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.

Universitas Sumatera Utara

33

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.

Selanjutnya Activity Diagram proses enkripsi file dan kunci sebagai berikut :

Universitas Sumatera Utara

34

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 RSANaïve. maka proses berikutnya adalah melakukan dekripsi cipherkey dengan kunci
privat RSA-Naïve untuk mendapatkan kunci zig zag dan melakukan dekripsi ciphertext
dengan menggunakna kunci zig zag, seperti yang terlihat pada gambar 3.6

Universitas Sumatera Utara

35

Gambar 3.6 Activity Diagram Dekripsi Ciphertext dan Cipherkey

c. Sequence Diagram
Sequence Diagram adalah suatu diagram yang memperlihatkan atau menampilkan
interaksi-interaksi antar objek didalam sistem yang disusun pada sebuah urutan atau
rangkaian waktu. Sequence Diagram digunakan untuk menggambarkan skenario atau
rangkaian langkah-langkah yang dilakukan sebagai sebuah respon dari suatu
kejadian/even untuk menghasilkan output tertentu. Diagram Sequence dalam proses
pemabangkitan kunci dapat dilihat pada gambar 3.7

Universitas Sumatera Utara

36

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
Berikut merupakan diagram sequence untuk dekripsi ditunjukkan pada gamabar

Universitas Sumatera Utara

37

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
Berikut ini adalah flowchart enkripsi sistem yang akan dibngun, dimana proses
enkripsi dilakukan oleh pengirim pesan, seperti pada gambar 3.10

Universitas Sumatera Utara

38

Mulai

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
Berikut ini adalah flowchart yang digunakan untuk predefined bangkit kunci,
seperti pada gambar 3.11

Universitas Sumatera Utara

39

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

Kunci zig zag

Dokumen
doc,txt,rtf

Pi = M(1,i), M(2,i+1) …
M(m,n)

selesai

Gambar 3.12 Flowchart predefined enkripsi dokumen dan algoritma zig zag
d. Flowchart predefined enkripsi kunci zig zag dan algoritma RSA-Naïve
Berikut ini adalah flowchart yang digunakan untuk predefined enkripsi kunci
zig zag dan algoritma RSA-Naïve, seperti pada gambar 3.13

Universitas Sumatera Utara

40

Mulai

Kunci zig zag

Kunci RSANaïve (e,n)

e

Cipherkey = kunci zig zag mod N

cipherkey

selesai
Gambar 3.13 Flowchart predefined enkripsi kunci zig zag dan algoritma RSANaïve

e. Flowchart dekripsi sistem
Berikut ini adalah flowchart dekripsi sistem yang akan dibangun, dimana proses
dekripsi dilakukan oleh penerima pesan, seperti yang terlihat pada gamabar 3.14

Universitas Sumatera Utara

41

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

f. Flowchart predefined dekripsi kunci cipherkey dengan algoritma RSA-Naïve
Berikut ini adalah flowchart yang digunakan untuk predefined dekripsi kunci
cipherkey dengan algoritma RSA-Naïve, seperti pada gambar 3.15

Universitas Sumatera Utara

42

Mulai

cipherkey

Kunci RSANaïve (d,n)

d

Cipherkey = kunci zig zag mod 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
Berikut ini adalah flowchart yang digunakan untuk predefined dekripsi
ciphertext dengan algoritma zig zag, seperti pada gambar 3.16

Universitas Sumatera Utara

43

mulai

Input ciphertext dan
kunci

For i = 0; i