Anda di halaman 1dari 91

PROPOSAL SKRIPSI

IMPLEMENTASI KOMBINASI ALGORITMA BEAUFORT


CIPHER DAN ALGORITMA RSA DALAM SKEMA
SUPER ENKRIPSI UNTUK PENGAMANAN
FILE TEKS

MAHYUDI
0701162010

PROGRAM STUDI ILMU KOMPUTER


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SUMATERA UTARA
MEDAN
2022
LEMBAR PENGESAHAN NASKAH PROPOSAL
KATA PENGANTAR

Bismillahirrahmanirrahim. Alhamdulillahirabbil ‘alamin, sebelumnya


tidak lupa penulis ucapkan puji dan syukur atas kehadirat Allah Subhanahu Wa
Ta’ala yang telah memberikan rahmat dan karunia-Nya kepada penulis sehingga
penulis diberikan kesempatan untuk dapat menyelesaikan proposal skripsi dengan
judul “Implementasi Kombinasi Algoritma Beaufort Cipher dan Algoritma RSA
dalam Skema Super Enkripsi untuk Pengamanan File Teks”. Adapun proposal
skripsi ini disusun sebagai salah satu syarat untuk mengerjakan skripsi pada
program Srata-1 di Jurusan Ilmu Komputer, Fakultas Sains dan Teknologi,
Universitas Islam Negeri Sumatera Utara, Medan.
Penulis menyadari dalam penyelesain proposal skripsi ini tidak terlepas
dari bantuan dan dukungan banyak pihak, sehingga dengan penuh rasa hormat
penulis ingin mengucapkan terima kasih yang sebesar-besarnya bagi semua pihak
yang telah membantu di mana terdapat bantuan moril serta materil yang sangat
berguna dalam proses penyelesaian proposal skripis ini, terutama kepada :
1. Bapak Prof. Dr. Syahrin Harahap, MA, selaku Rektor Universitas Islam
Negeri Sumatera Utara Medan.
2. Bapak Dr. Mhd. Syahnan, MA, selaku Dekan Fakultas Sains dan Teknologi
Universitas Islam Negeri Sumatera Utara Medan.
3. Bapak Ilka Zufria, M.Kom., selaku Ketua Program studi Ilmu Komputer
Universitas Islam Negeri Sumatera Utara Medan.
4. Bapak Rakhmat Kurniawan R, S.T., M.Kom, selaku Sekretaris Program Studi
Ilmu Komputer Universitas Islam Negeri Sumatera Utara Medan.
5. Bapak Yusuf Ramadhan Nasution, M.Kom, selaku Dosen Pembimbing I
6. Bapak Abdul Halim Hasugian, M.Kom, selaku Dosen Pembimbing II
7. Bapak Dr. Mhd. Furqan, S.Si., M.Comp.Sc, selaku Dosen Pembimbing
Akademik.
8. Bapak/ibu dosen dan staff di lingkungan Fakultas Sains dan Teknologi
Universitas Islam Negeri Sumatera Utara Medan, khususnya pada Program
Studi Ilmu Komputer.
9. Seluruh teman-teman yang selalu memberikan dukungan kepada penulis.
10. Dan terakhir yang paling teristimewa yaitu kepada kedua orang tua penulis
yang senantiasa selalu memberikan dukungan disertai doa dan juga bantuan-
bantuan lainnya yang tidak dapat disebutkan satu persatu yang membuat
penulis semakin semangat dalam penyelesaian proposal skripsi ini.

Dalam penulisan proposal skripsi ini, penulis menyadari bahwa


sepenuhnya masih jauh dari kata sempurna dikarenakan terbatasnya pengalaman
dan pengetahuan yang dimiliki penulis. Untuk itu, penulis berharap kepada
pembaca untuk dapat memberikan sumbangsih pikiran berupa kritik dan saran
yang membangun.
Akhir kata penulis mengucapkan terima kasih kepada semua pihak yang
telah ikut membantu dalam penyelesaian proposal skripsi ini, dan penulis
berharap proposal skripis ini nantinya dapat bermanfaat bagi semua pihak di masa
mendatang.

Medan, Juli 2022


Penulis,

Mahyudi
DAFTAR ISI

LEMBAR PENGESAHAN NASKAH PROPOSAL...........................................i


KATA PENGANTAR............................................................................................ii
DAFTAR ISI..........................................................................................................iv
DAFTAR GAMBAR............................................................................................vii
DAFTAR TABEL.................................................................................................ix
BAB I PENDAHULUAN.......................................................................................1
1.1 Latar Belakang...............................................................................................1
1.2 Rumusan Masalah..........................................................................................4
1.3 Batasan Masalah.............................................................................................4
1.4 Tujuan Penelitian............................................................................................5
1.5 Manfaat Penelitian..........................................................................................5
BAB II TINJAUAN PUSTAKA............................................................................6
2.1 Kriptografi......................................................................................................6
2.2 Sistem Kriptografi (Cryptosystem)................................................................8
2.2.1 Symmetric Cryptosystem.........................................................................9
2.2.2 Asymmetric Cryptosystem......................................................................9
2.3 Algoritma Beaufort Cipher...........................................................................10
2.4 Algoritma RSA.............................................................................................14
2.4.1 Pembangkit Kunci Algoritma RSA.......................................................15
2.4.2 Proses Enkripsi Algoritma RSA............................................................18
2.4.3 Proses Dekripsi Algoritma RSA............................................................19
2.5 File Teks.......................................................................................................19
2.6 Flowchart......................................................................................................21
BAB III METODE PENELITIAN.....................................................................22
3.1 Tempat dan Waktu Penelitian......................................................................22
3.1.1 Tempat Penelitian..................................................................................22
3.1.2 Waktu & Jadwal Pelaksanaan Penelitian...............................................22
3.2 Bahan dan Alat Penelitian............................................................................23
3.2.1 Perangkat Keras.....................................................................................23
3.2.2 Perangkat Lunak....................................................................................23
3.3 Cara Kerja.....................................................................................................24
3.3.1 Perencanaan...........................................................................................24
3.3.2 Teknik Pengumpulan Data....................................................................28
3.3.3 Analisis Kebutuhan................................................................................29
3.3.3.1 Analisis Kebutuhan Fugsional........................................................29
3.3.3.2 Analisis Kebutuhan Non Fugsional................................................30
3.3.4 Perancangan...........................................................................................31
3.3.4.1 Flowchart Sistem.............................................................................31
3.3.4.2 Rancangan Interface Sistem............................................................36
3.3.5 Pengujian...............................................................................................37
BAB IV HASIL DAN PEMBAHASAN.............................................................39
4.1 Analisis Penerapan Metode..........................................................................39
4.1.1 Analisis Proses Enkripsi........................................................................39
4.1.2 Analisis Proses Dekripsi........................................................................47
4.2 Perancangan Sistem......................................................................................52
4.2.1 Perancangan Halaman Utama................................................................52
4.2.2 Perancangan Halaman Bangkitkan Kunci.............................................53
4.2.3 Perancangan Halaman Enkripsi.............................................................54
4.2.4 Perancangan Halaman Dekripsi.............................................................55
4.2.5 Perancangan Halaman Help...................................................................56
4.2.6 Perancangan Halaman About................................................................57
4.3 Implementasi Program.................................................................................58
4.3.1 Implementasi Halaman Utama..............................................................58
4.3.2 Implementasi Halaman Bangkitkan Kunci............................................59
4.3.3 Implementasi Halaman Enkripsi............................................................59
4.3.4 Implementasi Halaman Dekripsi...........................................................60
4.3.5 Implementasi Halaman Help.................................................................61
4.3.6 Implementasi Halaman About...............................................................62
4.4 Hasil Pengujian.............................................................................................62
4.4.1 Hasil Pengujian Bangkitkan Kunci........................................................62
4.4.2 Hasil Pengujian Enkripsi.......................................................................64
4.4.3 Hasil Pengujian Dekripsi.......................................................................66
4.4.4 Hasil Pengujian Blackbox Testing.........................................................68
BAB V KESIMPULAN DAN SARAN...............................................................73
5.1 Kesimpulan...................................................................................................73
5.2 Saran.............................................................................................................73
DAFTAR PUSTAKA...........................................................................................74
DAFTAR GAMBAR

Gambar 2.1 Gambaran Umum Proses Enkripsi dan Dekripsi................................7

Gambar 2.2 Skema Symmetric Cryptosystem........................................................9

Gambar 2.3 Skema Asymmetric Cryptosystem...................................................10

Gambar 2.4 Enkripsi Beaufort Cipher Teknik Tabula Recta...............................12

Gambar 3.1 Tahapan Penelitian 25

Gambar 3.2 Arsitektur Umum Sistem..................................................................27

Gambar 3.3 Flowchart Sistem Halaman Utama...................................................32

Gambar 3.4 Flowchart Sistem Halaman Bangkitkan Kunci................................33

Gambar 3.5 Flowchart Sistem Halaman Enkripsi................................................34

Gambar 3.6 Flowchart Sistem Halaman Dekripsi................................................35

Gambar 4.1 Skema Proses Enkripsi.....................................................................40

Gambar 4.2 Potongan Sampel Data......................................................................40

Gambar 4.3 Potongan Sampel Data (a) Karakter (b) Nilai Desimal....................41

Gambar 4.4 Skema Proses Dekripsi.....................................................................47

Gambar 4.5 Rancangan Interface Halaman Utama..............................................53

Gambar 4.6 Rancangan Interface Halaman Bangkitkan Kunci............................54

Gambar 4.7 Rancangan Interface Halaman Enkripsi...........................................55

Gambar 4.8 Rancangan Interface Halaman Dekripsi...........................................56

Gambar 4.9 Rancangan Interface Halaman Help.................................................57

Gambar 4.10 Rancangan Interface Halaman About.............................................57

Gambar 4.11 Tampilan Halaman Utama..............................................................58


Gambar 4.12 Tampilan Halaman Bangkitkan Kunci...........................................59

Gambar 4.13 Tampilan Halaman Enkripsi...........................................................60

Gambar 4.14 Tampilan Halaman Dekripsi...........................................................61

Gambar 4.15 Tampilan Halaman Help.................................................................61

Gambar 4.16 Tampilan Halaman About..............................................................62

Gambar 4.17 Hasil Pengujian Bangkitkan Kunci.................................................63

Gambar 4.18 Hasil Kunci Algoritma RSA (a) Kunci Publik (b) Kunci Privat....64

Gambar 4.19 Hasil Pengujian Enkripsi Beaufort Cipher.....................................65

Gambar 4.20 Hasil Pengujian Enkripsi RSA.......................................................66

Gambar 4.21 Hasil Pengujian Dekripsi RSA.......................................................67

Gambar 4.22 Hasil Pengujian Dekripsi Beaufort Cipher.....................................68


DAFTAR TABEL

Tabel 2.1 Proses Enkripsi Beaufort Cipher Teknik Tabula Recta........................12

Tabel 2.2 Tabel Substitusi Angka Algoritma Beaufort Cipher.............................13

Tabel 2.3 Proses Substitusi Angka Beaufort Cipher.............................................13

Tabel 2.4 Simbol-simbol Flowchart......................................................................21

Tabel 3.1 Jadwal Pelaksanaan Penelitian 22

Tabel 4.1 Proses Mengubah Plaintext Menjadi Desimal......................................42

Tabel 4.2 Perbandingan Hasil Enkripsi.................................................................47

Tabel 4.3 Konversi Desimal Kedalam Tabel ASCII.............................................49

Tabel 4.4 Proses Mengubah Ciphertext1 Menjadi Desimal..................................50

Tabel 4.5 Blackbox Testing Bangkitkan Kunci....................................................69

Tabel 4.6 Blackbox Testing Enkripsi....................................................................70

Tabel 4.7 Blackbox Testing Dekripsi....................................................................71


BAB I
PENDAHULUAN

1.1 Latar Belakang


Kemajuan dalam bidang teknologi informasi memberikan banyak
keuntungan bagi kehidupan manusia, tetapi keuntungan yang ditawarkan juga
menimbulkan kejahatan seperti pencurian data. Sehingga perkembangan ilmu
untuk mengamankan data semakin ditingkatkan agar pengguna teknologi selalu
merasa aman. Aktivitas penyimpanan data dan pertukaran informasi secata digital
mempunyai resiko dan tentunya harus disertai dengan keamanan informasi. Hal
ini jelas terlihat apabila dalam aktivitas tersebut terdapat informasi penting yang
sifatnya privasi dapat diakses oleh orang lain yang tidak berkepentingan. Maka
diperlukan pengamanan untuk melakukan pencegahan atas sampainya informasi
ke tangan yang tidak berhak. Agama Islam telah mengatur dengan jelas tentang
pentingnya menjaga privasi. Berikut salah satu firman Allah Subhanahu Wa
Ta’ala tentang ayat Al-Qur’an yang berkaitan dengan pentingnya menjaga
privasi:

‫ين َآمنُوا اَل تَ ْد ُخلُوا بُيُوتًا َغْيَر بُيُوتِ ُك ْم َحىَّت تَ ْستَْأنِ ُسوا َوتُ َسلِّ ُموا َعلَى‬ ِ َّ
َ ‫يَا َأيُّ َها الذ‬
‫َْأهلِ َها َذلِ ُك ْم َخْيٌر لَّ ُك ْم لَ َعلَّ ُك ْم تَ َذ َّك ُرو َن‬
Artinya : “Wahai orang-orang yang beriman! Janganlah kamu memasuki rumah
yang bukan rumahmu sebelum meminta izin dan memberi salam kepada
penghuninya. Yang demikian itu lebih baik bagimu, agar kamu selalu ingat.”
(QS. An-Nur : 27)
Privasi adalah hal-hal yang berkaitan dengan hak milik pribadi yang
memiliki bentuk berupa dokumen, foto, video, pesan, lokasi, ataupun data-data
penting lain yang dimiliki seseorang (Soediro, 2018). Demi menjaga privasi, lebih
baik untuk selalu minta izin untuk melihat, membuka, atau menggunakan seluruh
2

hal yang berkaitan dengan privasi. yang sebagaimana dalam hadist Abu Daud
nomor 1485 :

‫ أن رسول اهلل صلى اهلل عليه و‬: ‫عن حممد بن كعب القرظي حدثين عبد اهلل‬

‫سلم قال ” ال تسرتوا اجلدر من نظر يف كتاب أخيه بغري إذنه فإمنا ينظر يف‬

‫النار سلوا اهلل ] عزوجل [ ببطون أكفكم وال تسألوه بظهورها فإذا فرغتم‬

‫” فامسحوا هبا وجوهكم‬


Artinya : “Dari Muhammad bin Ka’ab al Qurazhi, Abdullah bercerita kepadaku
bahwa Rasulullah shallallahu ‘alaihi wa sallam bersabda, “Janganlah kalian
menutupi tembok. Siapa saja yang melihat buku kawannya tanpa seizinnya maka
sebenarnya dia hanyalah memandang api neraka. Berdoalah meminta kepada
Allah dengan menggunakan bagian dalam telapak tangan kalian dan janganlah
kalian menggunakan bagian luar telapak tangan. Jika kalian selesai berdoa maka
usapkanlah tangan kalian ke wajah” (HR Abu Daud no 1485).
Berbagai cara dilakukan untuk menjaga keamanan data seperti
menyembunyikan data dengan teknik steganografi atau dengan cara menyandikan
data menjadi suatu kode-kode yang tidak dimengerti, sehingga apabila dicuri atau
disadap oleh orang lain akan kesulitan untuk mengetahui dan memahami
informasi yang sebenarnya. Proses penyandian yang dilakukan adalah dengan
menggunakan kriptografi. Kriptografi melingkupi proses transformasi informasi
menjadi suatu bentuk yang tidak dapat dipahami, sehingga orang-orang yang tidak
berhak tidak mungkin mengerti. Proses transformasi tersebut terdiri dari enkripsi
dan dekripsi. Enkripsi adalah sebuah proses penyandian yang mengubah sebuah
kode pesan yang mudah dimengerti (plaintext) menjadi sebuah kode pesan yang
tidak bisa dimengerti (ciphertext). Dekripsi adalah kebalikan dari enkripsi yaitu
proses penyandian yang mengubah sebuah kode pesan yang tidak bisa dimengerti
(ciphertext) menjadi kode pesan yang mudah dimengerti (plaintext).
3

Meningkatkan keamanan kriptosistem merupakan tantangan yang menarik


banyak pihak peneliti untuk mengusulkan dan mengembangkan kriptosistem baru
untuk mencapai tujuan kriptografi. Selain menerapkan algoritma kriptografi yang
baru, maka cara yang dapat dilakukan adalah dengan memodifikasi suatu
algoritma kriptografi, namun hal ini bukanlah suatu pekerjaan yang mudah. Oleh
karena itu mengkombinasikan dua algoritma kedalam satu proses merupakan cara
lain untuk meningkatkan algoritma kriptografi yang sudah ada. Proses penyandian
yang dilakukan secara ganda bertujuan untuk menghasilkan teks yang benar-benar
acak serta tidak memperlihatkan pola-pola keterhubungannya dengan teks asli,
sehingga dapat meningkatkan kerahasiaan hasil enkripsi serta mempersulit pihak-
pihak yang tidak berwenang yang berusaha untuk memecahkan dan mengetahui
makna asli dari teks yang bersifat rahasia.
Terdapat banyak algoritma kriptografi yang sudah ada dengan kelebihan
dan kekurangannya. Pada penelitan ini akan mengimplementasikan kombinasi
algoritma Beaufort Cipher dan algoritma RSA (Rivest Shamir Adleman) untuk
pengamanan file teks. Alasan menggunakan algoritma RSA berdasarkan
penelitian terdahulu yang dilakukan oleh (Kurniawan, 2017) menjelaskan bahwa
sampai saat ini algoritma RSA sangat sulit untuk dipecahkan dan akan
membutuhkan waktu yang sangat lama. Sedangkan alasan menggunakan
algoritma Beaufort Cipher berdasarkan penelitian terdahulu yang dilakukan oleh
(Fadlan et al., 2019) menjelaskan bahwa kelebihan dari algoritma Beaufort Cipher
adalah jumlah kunci yang digunakan memiliki panjang yang sama dengan jumlah
karakter pesan asli (plaintext). Hal inilah yang dapat membuat pesan hasil enkripsi
menjadi sulit untuk diketahui oleh pihak lain, karena tiap-tiap karakter plaintext
akan memiliki pasangan kunci yang berbeda dengan karakter plaintext lainnya.
Berdasarkan permasalahan yang telah telah diuraikan serta penjelasan dari
hasil penelitian terdahulu, maka pembaruan yang dilakukan dalam penelitian ini
adalah terletak pada konsep dan algoritma yang digunakan. Jika pada penelitian
yang dilakukan oleh (Kurniawan, 2017) hanya menggunakan satu algoritma
kriptografi yaitu RSA, maka pada penelitian ini akan menggabungkan dua
algoritma. Jika pada penelitian yang dilakukan oleh (Irawan et al., 2020) dengan
4

menggabungkan dua algoritma kriptografi, namun hanya menggunakan algoritma


kriptografi kunci simetris yaitu Beaufort Cipher dan Transposisi Kolom, maka
pada penelitian ini akan menggabungkan algoritma kriptografi kunci simetris dan
kunci asimetris.
Berdasarkan uraian yang dikemukakan diatas, maka penulis mencoba
mengangkat topik tugas akhir dengan judul penelitian “Implementasi Kombinasi
Algoritma Beaufort Cipher dan Algoritma RSA dalam Skema Super Enkripsi
untuk Pengamanan File Teks”.

1.2 Rumusan Masalah


Berdasarkan latar belakang diatas, maka secara umum permasalahan yang
akan dibahas dalam penelitian ini adalah sebagai berikut:
1. Bagaimana proses enkripsi dan dekripsi pesan teks menggunakan skema super
enkripsi.
2. Bagaimana mengkombinasikan algoritma Beaufort Cipher dan algoritma RSA
dalam skema super enkripsi untuk pengamanan file teks.
3. Bagaimana merancang aplikasi dalam mengamankan file teks dengan
mengkombinasikan algoritma Beaufort Cipher dan algoritma RSA.

1.3 Batasan Masalah


Dalam melaksanakan penelitian ini, peneliti membatasi ruang masalah
yang akan diteliti. Batasan-batasan masalah yang dipergunakan yaitu:
1. Penelitian ini hanya fokus untuk melakukan pengamanan isi file teks dalam
format *.txt dengan maksimal size (ukuran) 140 KB (kilo bytes) serta hanya
mengenkripsi berupa string dan tidak mengenkripsi komponen lain yang
terdapat pada file teks seperti tabel, grafik maupun gambar.
2. Algoritma kriptografi yang dikombinasikan dalam skema super enkripsi yaitu
algoritma Beaufort Cipher dan algoritma RSA, dengan menggabungkan dua
jenis kunci yang berbeda yaitu kunci simetris dan kunci asimetris.
3. Bilangan prima p dan q untuk membangkitkan kunci publik dan kunci privat
algoritma RSA hanya menggunakan maksimal tiga digit angka. Hal ini
5

dilakukan untuk mempermudah dalam proses perhitungan enkripsi/dekripsi


serta mempermudah dalam pengimplementasiannya.
4. Proses enkripsi/dekripsi algoritma Beaufort Cipher menggunakan penyandian
karakter A-Z dan karakter a-z yang terdapat dalam tabel ASCII dengan
modulo 26. Sedangkan panjang kunci maksimal hanya 16 huruf dan hanya
menggunakan kunci dengan karakter alphabet.
5. Implementasi dari penelitian ini berbasis web dengan menggunakan bahasa
pemrograman php.

1.4 Tujuan Penelitian


Berdasarkan rumusan masalah, maka tujuan dari penelitian ini adalah
sebagai berikut:
1. Untuk mengetahui proses enkripsi dan dekripsi pesan teks menggunakan
skema super enkripsi.
2. Untuk menerapkan kombinasi algoritma Beaufort Cipher dan algoritma RSA
dalam skema super enkripsi untuk pengamanan file teks.
3. Untuk merancang sebuah aplikasi dalam mengamankan file teks dengan
mengkombinasikan algoritma Beaufort Cipher dan algoritma RSA.

1.5 Manfaat Penelitian


Hasil dari penelitian ini diharapkan dapat memberikan manfaat bagi
peneliti dan pembaca. Adapun manfaat yang diharapkan dari hasil penelitian ini
adalah sebagai berikut:
1. Penelitian ini menghasilkan sebuah aplikasi berbasis web yang dapat
memudahkan untuk menjaga kerahasiaan isi file teks dengan menerapkan
skema super enkripsi menggunakan kombinasi algoritma simetris Beaufort
Cipher dan algoritma asimetris RSA.
2. Menambah wawasan dan pengetahuan tentang proses pengamanan file teks
dalam skema super enkripsi menggunakan kombinasi algoritma simetris
Beaufort Cipher dan algoritma asimetris RSA.
6

3. Hasil penelitian ini juga diharapkan dapat menambah bahan referensi yang
bermanfaat bagi Universitas Islam Negeri Sumatera Utara (UINSU), khusunya
pada Program Studi Ilmu Komputer Fakultas Sains dan Teknologi (FST).
BAB II
TINJAUAN PUSTAKA

2.1 Kriptografi
Kriptografi merupakan studi terhadap teknik matematis yang terkait
dengan aspek keamanan suatu sistem informasi seperti kerahasiaan, integritas
data, autentikasi dan ketiadaan penyangkalan (Diana & Zebua, 2018). Kriptografi
(cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto
dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan.
Sehingga kriptografi dapat diartikan sebagai ilmu yang mempelajari tentang
penyembunyian huruf atau tulisan sehingga membuat tulisan tersebut tidak dapat
dibaca oleh orang yang tidak berkepentingan (Ginting & Ginting, 2017).
Pengamanan data berdasarkan algoritma teknik kriptografi dilakukan
dengan merubah pesan yang akan dirahasiakan (plaintext) menjadi sandi
(ciphertext). Proses untuk mengkonversi plaintext menjadi ciphertext disebut
dengan proses enkripsi sedangkan proses yang dilakukan untuk mengembalikan
ciphertext menjadi plaintext disebut dekripsi. Proses enkripsi dan dekripsi
memerlukan sebuah kode dalam pelaksanaannya yang disebut dengan kunci.
Kunci harus bersifat rahasia dan tidak boleh diberitahukan kepada orang lain yang
tidak berhak untuk menerima pesan.
Dalam kriptografi, setiap orang dimungkinkan untuk bebas memilih
metode untuk merahasiakan pesan. Metode tersebut berbeda-beda untuk setiap
pelaku kriptografi sehingga penulisan pesan rahasia mempunyai estetika
tersendiri. Estetika penulisan pesan rahasia ini menjadikan kriptografi sebagai
sebuah seni. Pada perkembangan selanjutnya, kriptografi dikenal sebagai disiplin
ilmu yang menggunakan teknik matematika untuk keamanan informasi, seperti
privasi dan autentikasi.
Hal yang harus dicapai dalam penerapan algoritma kriptografi adalah
confusion (konfusi/pembingungan) yaitu harus mampu mempersulit pihak lain
8

dalam merekonstruksi ulang cipher yang dihasilkan serta diffusion (peleburan)


yaitu harus mampu menyembunyikan pola dari pesan asli (Diana & Zebua, 2018).
Kriptografi merupakan ilmu yang digunakan untuk mengamankan data
dengan cara menyandian data dengan algoritma tertentu. Secara umum terdapat
dua proses utama dalam kriptografi, yaitu enkripsi dan dekripsi. Kedua proses
tersebut tentunya membutuhkan minimal sebuah kunci. Gambaran umum kedua
proses enkripsi dan dekripsi (Setiadi et al., 2018b) dapat dilihat pada gambar 2.1.

Gambar 2.1 Gambaran Umum Proses Enkripsi dan Dekripsi (Setiadi et al.,
2018b)

Algoritma kriptografi merupakan langkah-langkah logis bagaimana


menyembunyikan pesan dari orang - orang yang tidak berhak atas pesan tersebut.
Algoritma kriptografi terdiri dari tiga fungsi dasar (Ginting & Ginting, 2017),
yaitu sebagai berikut:
1. Enkripsi
Enkripsi merupakan hal yang sangat penting dalam kriptografi. Enkripsi
adalah pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan
asli disebut plaintext, yang diubah menjadi kode-kode yang tidak dimengerti.
Sama halnya dengan kita tidak mengerti akan sebuah kata maka kita akan
melihatnya di dalam kamus atau daftar istilah. Beda halnya dengan enkripsi.
untuk mengubah teks asli ke bentuk teks kode kita menggunakan algoritma
yang dapat mengkodekan data yang kita inginkan.
2. Dekripsi
Dekripsi merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi
dikembalikan ke bentuk asalnya (teks asli), disebut dengan dekripsi pesan.
9

Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma


yang digunakan untuk enkripsi.
3. Kunci
Kunci yang dimaksud di sini adalah kunci yang dipakai untuk melakukan
enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci privat (private
key) dan kunci umum (public key)
Kriptografi merupakan salah satu teknik yang dapat digunakan dalam
mengamankan data (misanya file teks) yang bersifat rahasia atau pribadi. Proses
transformasi informasi yang berlangsung dua arah yang terdiri dari proses enkripsi
dan dekripsi adalah ruang lingkup dari kriptografi. Teknik kriptografi sangat
penting diimplementasikan untuk melindungi data yang ditransmisikan melalui
suatu jaringan komunikasi.
Pada penelitan ini akan mengimplementasikan kombinasi algoritma
Beaufort Cipher dan algoritma RSA (Rivest Shamir Adleman) untuk pengamanan
file teks. Metode pengkombinasian antara kedua algoritma yang bertujuan untuk
mendapatkan ciphertext yang lebih kuat sehingga sulit untuk dipecahkan, karena
dengan menggunakan perpaduan dua algoritma ini, maka ciphertext menjadi lebih
sulit untuk dipecahkan. Hal ini terjadi karena terdapat dua tahapan proses enkripsi,
dengan menggunakan dua jenis kunci yang berbeda untuk tiap-tiap tahapan.
Kombinasi antara kedua algoritma juga akan mengatasi penggunaan ciphertext
tunggal yang secara komparatif lemah. Metode penggabungan dua algoritma
enkripsi ini disebut dengan super enkripsi.

2.2 Sistem Kriptografi (Cryptosystem)


Sistem kriptografi (cryptosystem) sering disebut juga dengan sistem cipher
(cipher system) adalah sistem yang terdiri dari algoritma enkripsi, algoritma
dekripsi dan tiga komponen teks (plaintext, ciphertext dan kunci) (Muchlis et al.,
2017). Secara umum ada dua jenis sistem kriptografi berbasis kunci, yaitu sistem
kriptografi simetris (Symmetric Cryptosystem) dan sistem kriptografi asimetris
(Asymmetric Cryptosystem).
10

2.2.1 Symmetric Cryptosystem


Sistem kriptografi simetris (Symmetric Cryptosystem), sering disebut
algoritma konvensional, adalah algoritma dimana kunci enkripsi dapat dihitung
dari kunci dekripsi dan sebaliknya, artinya kunci enkripsi sama dengan kunci
dekripsi. Keamanan algoritma simetris terletak pada kunci, kebocoran kunci
berarti siapapun bisa mengenkripsi dan mendekripsi pesan (Muchlis et al., 2017).
Contoh sistem kriptografi simetris ini adalah algoritma Beaufort Cipher. Adapun
skema dari symmetric cryptosystem dapat dijelaskan pada gambar 2.2.

Gambar 2.2 Skema Symmetric Cryptosystem (Muchlis et al., 2017)

Berdasarkan skema pada gambar 2.2, kriptografi simetris menggunakan


kunci tunggal yang mengharuskan pengirim dan penerima menyetujui dan
mengetahui satu kunci rahasia tertentu sebelum mereka dapat berkomunikasi
dengan aman. Keamanan kriptografi simetris ini terletak pada kerahasiaan
kuncinya. Semua algoritma kriptografi klasik termasuk dalam algoritma simetris.

2.2.2 Asymmetric Cryptosystem


Sistem kriptografi kunci-publik (Public-key Cryptosystem), sering disebut
algoritma asimetris (Asymmetric Cryptosystem), adalah algoritma dimana kunci
yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk
dekripsi. Selain itu, kunci dekripsi tidak dapat (setidaknya dalam jumlah waktu
yang wajar) dihitung dari suatu kunci enkripsi. Algoritma ini disebut kunci publik
karena kunci enkripsi dapat dibuat publik yaitu pihak luar dapat menggunakan
kunci enkripsi untuk mengenkripsi pesan, tetapi hanya orang tertentu dengan
kunci dekripsi yang sesuai dapat mendekripsi pesan (Muchlis et al., 2017).
11

Ada dua masalah matematika yang sering dijadikan dasar pembangkitan


sepasang kunci pada algortima kunci-publik (Muchlis et al., 2017), yaitu:
1. Pemfaktoran
Diberikan bilangan bulat n. faktorkan n menjadi faktor primanya. Semakin
besar n, semakin sulit memfaktorkannya (butuh waktu sangat lama). Salah
satau algoritma yang menggunakan prinsip ini adalah RSA.
2. Logaritma Diskrit
Temukan x sedemikian sehingga a x ≡ b(mod n) sulit dihitung. Semakin besar
a, b dan n semakin sulit memfaktorkannya. Algoritma yang menggunakan
prinsip ini adalah Elgamal.
Adapun skema dari asymmetric cryptosystem dapat dijelaskan pada
gambar 2.3.

Gambar 2.3 Skema Asymmetric Cryptosystem (Muchlis et al., 2017)

Sistem kriptografi kunci asimetris juga disebut kriptografi modern,


memiliki dua jenis kunci, yaitu kunci enkripsi dan kunci dekripsi yang berbeda.
Kunci enkripsi dimiliki oleh pengirim dan kunci dekripsi dimiliki oleh penerima
pesan. Dalam kriptografi kunci asimetris, hampir semua algoritma kriptografinya
menggunakan konsep kunci publik, seperti algoritma RSA.

2.3 Algoritma Beaufort Cipher


Beaufort Cipher merupakan salah satu bentuk lain dari Vigenere Cipher
yang menggunakan teknik subtitusi dan merupakan algoritma kriptografi dengan
kunci simetris (Setiadi et al., 2018a). Seperti namanya Beaufort Cipher ditemukan
oleh Sir Francis Beaufort (Irawan et al., 2020). Enkripsi menggunakan algoritma
12

Beaufort Cipher merupakan teknik substitusi kriptografi yang menggunakan


operasi modulo bilangan bulat sebagai proses utama (Sugiarto et al., 2020).
Rumus yang digunakan pada Beaufort Cipher sangat identik dengan
Vigenere Cipher. Kesamaan dari kedua teknik ini adalah penggunaan fungsi
modulo atau sisa hasil bagi maupun jenis kunci yang yang digunakan. Perbedaan
dari kedua metode ini adalah peranan kunci, dalam Vigenere Cipher kunci
digunakan sebagai penambah plaintext dan pengurang ciphertext. Sedangkan
dalam formula yang digunakan Beaufort Cipher, kunci digunakan untuk
dikurangkan dengan plaintext maupun ciphertext (Setiadi et al., 2018a).
Kunci (K) pada Beaufort Cipher adalah urutan karakter-karakter K = k1 ...
kd dimana k1 didapat dari banyaknya pergeseran dari alfabet ke-i sama seperti
Viginere Cipher. Artinya bahwa jumlah kunci yang dibangkitkan harus sama
dengan jumlah karakter plaintext yang diamankan. Algoritma ini melakukan
proses enkripsi dan dekripsi secara stream (masing-masing karakter plaintext
harus memiliki pasangan kunci). Hal ini yang menyebabkan algoritma ini hampir
sama dengan algoritma Viginere Cipher (Diana & Zebua, 2018).
Adapun formulasi algoritma Beaufort Cipher dalam proses enkripsi
(Naing & Aye, 2020) dengan menggunakan persamaan (2.1).
C i=Ek ( M i )=( K i−M i ) mod 26(2.1)
Sedangkan formulasi algoritma Beaufort Cipher dalam proses dekripsi
(Naing & Aye, 2020) dengan menggunakan persamaan (2.2).
M i=D k ( C i )=( K i −Ci ) mod 26(2.2)
Keterangan:
M i = Pesan yang akan dienkripsi (plaintext)
C i = Sandi atau pesan hasil enkripsi (ciphertext)
K i = Kunci
Ek = Fungsi Enkripsi
Dk = Fungsi Dekripsi
13

Nilai mod 26 pada persamaan (2.1) dan (2.2) tergantung dari jumlah
kebutuhan karakter yang digunakan, pada awalnya Beaufort Cipher hanya
menggunakan 26 karakter, namun seiring dengan perkembangan teknologi
komputer saat ini, maka dapat menggunakan mod 256 (mengguakan seluruh tabel
ASCII) (Diana & Zebua, 2018).
Enkripsi dengan Beaufort Cipher dapat diselesaikan dengan tabel tabula
recta. Untuk menyelesaikan sebuah persoalan tentang mengenkripsi dengan
Beaufort Cipher, kita harus membuat sebuah kolom dimana header atas diisi
dengan huruf abjad, kemudian header samping diisi dengan kunci (key) dengan
penghilangan huruf yang kembar. Kunci (key) dijabarkan sepanjang huruf
plaintext (Irawan et al., 2020) seperti pada gambar 2.4.

Gambar 2.4 Enkripsi Beaufort Cipher Teknik Tabula Recta (Irawan et al., 2020)

Berdasarkan gambar 2.4, menjelaskan proses enkripsi pada algoritma


Beaufort Cipher dengan menggunakan tabel tabula recta. Plaintext dan kunci
yang digunakan pada gambar 2.1 yaitu:
Plaintext ( M i) = DIANNUSWANTORO
Kunci ( K i) = POLKE
Untuk mendapatkan ciphertext dari plaintext dan kunci pada gambar 2.4
diatas, untuk huruf plaintext pertama[D], ditarik garis vertikal dari huruf [D] dan
ditarik garis horizontal dari huruf [P], perpotongannya adalah pada kotak yang
berisi huruf [M]. Dengan cara yang sama, maka diperoleh hasil enkripsi
seluruhnya seperti disajikan pada tabel 2.1.
Tabel 2.1 Proses Enkripsi Beaufort Cipher Teknik Tabula Recta

Plaintext ( M i) D I A N N U S W A N T O R O
14

Kunci ( K i) P O L K E P O L K E P O L K

Ciphertext (C i) M G L X R V W P K R W A U W

Berdasarkan tabel 2.1, hasil enkripsi dengan teknik tabel tabula recta
(bujursangkar) diperoleh ciphertext, yaitu “MG LXRVWPKRWAUW“.
Sedangkan proses enkripsi algoritma Beaufort Cipher dengan
menggunakan persamaan (2.1) dapat dilakukan dengan menukarkan huruf dengan
angka. Karakter huruf yang digunakan pada algoritma Beaufort Cipher yaitu A, B,
C, ..., Z dan disamakan dengan angka 0, 1, 2, ..., 25 seperti disajikan pada tabel
2.2 berikut.
Tabel 2.2 Tabel Substitusi Angka Algoritma Beaufort Cipher

A B C D E F G H I J K L M
0 1 2 3 4 5 6 7 8 9 10 11 12

N 0 P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25

Dengan menggunakan plaintext yang sama pada proses enkripsi dengan


teknik tabula recta dapat diketahui panjan plaintext = 14, sedangkan panjang
kunci = 5, karena panjang kunci < panjang plaintext, maka kunci tersebut akan
diulang secara periodik hingga panjang kunci tersebut sama dengan panjang
plaintext-nya, yaitu :
Plaintext ( M i) = DIANNUSWANTORO
Kunci ( K i) = POLKE POLKE POLK
Pada contoh diatas kata kunci POLKE diulang sedemikian rupa hingga
panjang kunci sama dengan panjang plaintext-nya. Kemudian setelah panjang
kunci sama dengan panjang plaintext, proses enkripsi dilakukan dengan
mensubstitusi plaintext dengan kunci seperti terlihat pada tabel 2.3.
Tabel 2.3 Proses Substitusi Angka Beaufort Cipher

Plaintext ( M i) D I A N N U S W A N T O R O
Subtitusi 3 8 0 1 13 20 1 22 0 1 19 14 1 14
15

3 8 3 7
Kunci (Ki) P O L K E P O L K E P O L K
Subtitusi 15 14 11 1 4 15 1 11 10 4 15 14 1 10
0 4 1
Enkripsi ( Ek ) (subtitusi kunci - subtitusi plaintext) mod 26
Hasil 12 6 11 -3 -9 -5 -4 -11 10 -9 -4 0 -6 -4
Ciphertext (C i) M G L X R V W P K R W A U W

Berdasarkan tabel 2.3 dapat dijelaskan proses enkripsi dengan teknik


substitusi pada algoritma Beaufort Cipher sebagai berikut:
Plaintext huruf pertama ( M i = 0) :D
Kunci huruf pertama (Ki = 0) :P
selanjutnya lakukan proses enkripsi dengan menggunakan persamaan (2.1)
sehingga diperoeleh hasilnya sebgai berikut:
C i=( K i−M i ) mod 26
C i=( P−D ) mod 26
C i=( 15−3 ) mod 26
C i=( 12 ) mod 26=12
Angka 12 jika diterjemahkan kembali menjadi huruf sesuai urutan awal
pada tabel substitusi angka algoritma Beaufort Cipher, maka diperoleh ciphertext
menjadi huruf “M“. Ulangi langkah yang sama sampai semua plaintext berhasil
dienkripsi sehingga diperoleh ciphertext yang sama dengan teknik menggunakan
tabula recta, yaitu “MG LXRVWPKRWAUW“.

2.4 Algoritma RSA


Algoritma RSA merupakan algoritma kriptografi asimetris dimana kunci
enkripsi tidak sama dengan kunci dekripsinya. Algortima RSA dibuat oleh tiga
orang peneliti dari MIT (Massachussets Institute of Technology) pada tahun 1976.
Nama RSA merupakan singkatan dari nama tiga orang penemunya, yaitu Ron
Rivest, Adi Shamir, dan Len Adleman (Ginting & Ginting, 2017).
16

Algoritma RSA terdiri dari kunci publik dan kunci privat dimana kunci
publik dapat diketahui oleh semua orang sedangkan kunci privat hanya diketahui
oleh pemilik data. Proses enkripsi menggunakan kunci public dan proses dekripsi
menggunakan kunci privat pemilik data (Suhandinata et al., 2019). Algoritma
RSA ini mengambil dua bilangan prima secara acak yang akan dijadikan kunci
sehingga didapat dua kunci yaitu kunci publik (public key) dan kunci privat
(private key) (Muchlis et al., 2017).
Dalam sistem algoritma kriptografi RSA terdapat proses utama, yaitu
proses pembuatan kunci Privat dan kunci Publik dimana masing masing
digunakan dalam proses enkripsi dan dekripsi. Dalam algoritma RSA terdapat
besaran-besaran yang penting (Sutejo, 2021) yaitu sebagai berikut:
1. Nilai p dan q merupakan bilangan prima diambil secara acak atau lebih
baiknya langsung dipilih oleh orang yang akan menerima data. Sifat dari
kedua bilangan ini adalah rahasia, dimana hanya pengirim data dan penerima
data yang dapat mengetahuinya.
2. Nilai n merupakan bersifat publik, karena sifat n adalah tidak rahasia
3. φ ( n )=( p−1)( q−1), sifat dari bilangan ini adalah rahasia.
4. e (kunci enkripsi), sifat bilangan kunci enkripsi tidak rahasia.
5. d (kunci dekripsi), kunci dekripsi bersifat rahasia.
6. m (plaintext), merupakan informasi awal yang bersifat rahasia.
7. c (chipherteks), merupakan infomasi yang telah di enkripsi yang bersifat tidak
rahasia.

2.4.1 Pembangkit Kunci Algoritma RSA


Untuk mengenkripsi dan dekripsi pesan dengan menggunakan algoritma
RSA terlebih dahulu membangkitkan sepasang kunci, yaitu kunci public (public
key) dan kunci privat (private key). Hal pertama yang dilakukan algoritma
pembangkit kunci adalah membangkitkan 2 bilangan prima besar. Berikut ini
algoritma penyelesaiannya (Muchlis et al., 2017), yaitu sebagai berikut:
1. Pilih dua bilangan prima sembarang, p dan q
17

2. Hitung n= p∗q
Sebaiknya p ≠ q, sebab jika p=q maka n= p2 sehingga p dapat diperoleh
dengan menarik akar pangkat dua dari n .
3. Hitung φ ( n )=( p−1)( q−1)
4. Pilih kunci publik e , yang relatif prima terhadapφ (n) yaitu 1<e <φ(n) dan
gcd ( e , φ ( n ) ) =1.
5. Bangkitkan kunci privat dengan menggunakan persamaan (2.3) berikut:
d=1 ( mod φ ( n ) ) (2.3)
syarat (0 ≤ d ≤ n)
Sehingga pasangan kunci enkripsi dan dekripsi hasil dari algoritma algoritma
RSA di atas adalah sebagai berikut:
a. Kunci enkripsi (public key) adalah pasangan ( e , n )
b. Kunci dekripsi (private key) adalah pasangan ( d , n )

Contoh:
Misalkan A akan membangkitkan kunci publik dan kunci privat miliknya. A
memilih p=47 dan q=71 (keduanya bilangan prima). Selanjutnya A
menghitung:
n= p∗q
n=47∗71=3337

φ ( n )=( p−1)( q−1)


φ ( n )=( 47−1)(71−1)
φ ( n )=46∗70=3220

A memilih kunci public e=79 karena relatif prima dengan 3220. e dengan
greatest comman divisior atau gcd ( e , φ ( n ) ) =1. Karena e mempunyai ketentuan
e >1 dan e< m, maka e dimulai dari e=2
Pembuktiannya:
Untuk nilai e=2
18

Jadi, gcd ( 2 , 3220 )=2


Karena gcd ( 2 , 3220 )=2 , maka tidak memenuhi gcd (e ,φ ( n ))=1
Untuk nilai e=5
Jadi, gcd ( 5 , 3220 )=5
Karena gcd ( 5 , 3220 )=5 , maka tidak memenuhi gcd (e ,φ ( n ))=1
………………………………..
Untuk nilai e=79
Jadi, gcd ( 79 , 3220 )=1
Karena gcd ( 79 , 3220 )=1 , maka memenuhi gcd (e ,φ ( n ))=1

A mengumumkan nilai e dan n . Selanjutnya A menghitung kunci private


(dekripsi) d , sehingga dituliskan berdasarkan persamaan (2.3) yaitu:
d=1 ( mod φ ( n ) )
79∗d=1(mod 3220)
Dengan mencoba nilai-nilai d=1, 2 ,3 ,… , diperoleh nilai d memenuhi
persamaan (2.3) yaitu 1019.
Pembuktian:
untuk d=1, maka 79∗1=1 ( mod 3220 )=79
untuk d=2, maka 79∗2=1 ( mod 3220 )=158
untuk d=3, maka 79∗3=1 ( mod 3220 )=237
………………….
untuk d=1019, maka 79∗1019=1 ( mod 3220 )=1

Kunci privat digunakan untuk mendekripsi pesan dan harus dirahasiakan


A. Jadi, perhitungan kunci ini menghasilkan pasangan kunci sebagai berikut:
1. Kunci enkripsi (public key) adalah pasangan ( e , n )=(79 ,3337)
2. Kunci dekripsi (private key) adalah pasangan ( d , n )=(1019 ,3337)

Pada algoritma RSA hanya diberikan kunci publik yaitu e dan n .


Sedangkan kunci privat d dirahasiakan. Selanjutnya, karena kunci enkripsi e
19

diumumkan (tidak rahasia), maka kunci dekripsi d dapat dihitung dari persamaan
(2.1). Kemudian dilakukan dekripsi ciphertext c menjadi plaintext m dengan
menggunakan persamaan (2.2).

2.4.2 Proses Enkripsi Algoritma RSA


Pengamanan data berdasarkan algoritma teknik kriptografi dilakukan
dengan merubah pesan yang akan dirahasiakan (plaintext) menjadi sandi
(ciphertext). Proses untuk mengkonversi plaintext menjadi ciphertext disebut
dengan proses enkripsi. Adapun proses enkripsi pesan (plaintext) dengan
menggunakan algoritma RSA dapat dijelaskan tahapannya sebagai berikut:
1. Ambil kunci public ( e , n ) penerima pesan.
2. Nyatakan plaintext m menjadi blok-blok m1 ,m2 , m3 , … . ,mn
3. Setiap bok mi akan dienkripsi menjadi blok c i dengan rumus persamaan (2.4)
berikut:
e
c i=mi mod n(2.4)

Contoh: Misalkan B mengirim pesan kepada A. Pesan (plaintext) yang akan


dikirim ke A adalah sebagai berikut:
m=BUDI
B mengubah m ke dalam desimal pengkodean ASCII dan sistem akan
memecah menjadi blok-blok yang lebih kecil yaitu sebagai berikut.
m1=66
m2=85
m3=68
m 4 =73
B mengetahui kunci publik A adalah e=79 dan n=3337 . B dapat
mengenkripsi setiap blok plaintext dengan rumus persamaan (2.4) sebagai berikut:
79
c 1=66 mod 3337=795
20

79
c 2=85 mod 3337=3048
79
c 3=68 mod 3337=2753
79
c 4 =73 mod3337=725
Dalam penerapannya, untuk memudahkan sistem membagi ciphertext
menjadi blok-blok yang mewakili tiap karakter maka ditambahkan digit semu
(biasanya 0) pada blok cipher sehingga tiap blok memiliki panjang yang sama
sesuai ketetapan (dalam hal ini panjangnya 4 digit). Jadi, ciphertext yang
dihasilkan adalah c=07953048 2753 0725

2.4.3 Proses Dekripsi Algoritma RSA


Proses untuk mengkonversi ciphertext menjadi plaintext disebut dengan
proses dekripsi. Adapun proses dekripsi ciphertext dengan menggunakan
algoritma RSA dapat dijelaskan tahapannya sebagai berikut:
1. Ambil kunci public ( d , n ) penerima pesan.
2. Nyatakan ciphertext c menjadi blok-blok c 1 , c2 , c 3 , … . c n
3. Setiap bok c i akan didekripsi menjadi blok mi dengan rumus persamaan (2.5)
berikut:
mi=c di mod n(2.5)

Contoh: Dengan kunci privat d=1019 dan n=3337, chiperteks yang telah dibagi
menjadi blok-blok cipher, c=07953048 2753 0725 kembali diubah ke dalam
plaintext dengan rumus persamaan (2.5):
1019
m 1=795 mod 3337=66
m2=30481019 mod 3337=85
1019
m3=2753 mod 3337=68
1019
m4 =725 mod 3337=73
Sehingga plaintext yang dihasilkan m=BUDI

2.5 File Teks


21

Menuurut KBBI (Kamus Besar Bahasa Indonesia) teks adalah naskah


yang berupa kata-kata asli dari pengarang. Sedangkan menurut Alex Sobur teks
adalah seperangkat tanda yang ditransmisikan dari seorang pengirim kepada
seorang penerima melalui medium tertentu atau kode-kode tertentu. File teks
merupakan berkas yang mengandung informasi-informasi dalam bentuk teks yang
terdiri dari karakter, angka dan tanda baca. Data yang berasal dari dokumen
pengolah kata, angka yang digunakan dalam perhitungan, nama dan alamat dalam
basis data merupakan contoh masukan data teks yang terdiri dari karakter, angka
dan tanda baca.
Masukan dan keluaran data teks direpresentasi sebagai set karakter atau
sistem kode yang dikenal oleh sistem komputer. Ada tiga macam set karakter
yang umum digunakan untuk masukan dan keluaran pada komputer, yaitu ASCII,
Unicode, dan EBCDIC. ASCII (American Standard Code for Information
Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol
seperti Hex, dan Unicode tetapi ASCII bersifat lebih universal. ASCII digunakan
oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII
memiliki komposisi bilangan biner sebanyak 8 bit, dimulai dari 00000000 dan
11111111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0
hingga 255 dalam sistem bilangan desimal. Unicode adalah suatu standar industri
yang dirancang untuk mengizinkan teks dan simbol dari semua sistem tulisan di
dunia untuk ditampilkan dan dimanipulasi secara konsisten oleh komputer,
EBCDIC (Extended Binary Code Decimal Interchange Code) merupakan set
karakter yang diciptakan oleh komputer merk IBM (International Business
Machines). EBCDIC terdiri dari 256 karakter yang masing-masing berukuran 8
bit (Subada, 2018).
Format data teks (*.txt) merupakan format teks yang digunakan untuk
menyimpan huruf, angka, karakter kontrol (tabulasi, pindah baris, dan sebagainya)
atau simbol-simbol lain yang biasa digunakan dalam tulisan seperti titik, koma,
tanda petik, dan sebagainya. Satu huruf angka, karakter kontrol atau simbol pada
arsip teks memakan tempat satu byte. Berbeda dengan jenis teks terformat yang
satu huruf saja dapat memakan tempat beberapa byte menyimpan format dari
22

huruf tersebut seperti font, ukuran, tebal atau tidak dan sebagainya. Kelebihan dari
format data teks ini adalah ukuran datanya yang kecil karena tidak ada fitur untuk
memformat tampilan teks. Saat ini perangkat lunak yang paling banyak digunakan
untuk memanipulasi format data data teks (*.txt) adalah Notepad.

2.6 Flowchart
Flowchart merupakan penggambaran secara grafik dari langkah-langkah
dan urutan prosedur suatu program, biasanya mempengaruhi penyelesaian
masalah yang khusunya perlu dipelajari dan dievaluasi lebih lanjut (Budiman et
al., 2021). Flowchart merupakan representasi secara simbolik dari suatu algoritma
atau prosedur untuk menyelesaikan suatu masalah. Tujuan utama penggunaan
flowchart adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut.
Berikut ini adalah simbol-simbol yang digunakan dalam flowchart, seperti
yang terlihat pada table 2.4.
Tabel 2.4 Simbol-simbol Flowchart (Budiman et al., 2021)

No
Simbol Keterangan
.

1. Permulaan sub program

Perbandingan, pernyataan, penyeleksian data yang


2.
memberikan pilihan untuk langkah selanjutnya

Penghubung bagianbagian flowchart yang berada pada


3.
satu halaman.)

Penghubung bagianbagian flowchart yang berada pada


4.
halaman berbeda

5. Permulaan/akhir program

6. Arah aliran program


23

7. Proses inisialisasi/pemberian harga awal

8. Proses penghitung/ proses pengolahan data

9. Proses input/output
BAB III
METODE PENELITIAN

3.1 Tempat dan Waktu Penelitian


Tempat penelitian merupakan objek dimana peneliti melakukan penelitian
guna untuk memperoleh data-data yang diperlukan. Waktu penelitian merupakan
rincian mengenai jadwal pelaksanaan penelitian. Tempat dan waktu penelitian
dapat dijelaskan pada sub bab selanjutnya.

3.1.1 Tempat Penelitian


Tempat penelitian dan pengumpulan data tidak terikat karena didasarkan
dari pengujian karena sifat penelitian ini menggunakan rancang bangun sistem,
yaitu kegiatan menerjemahkan hasil analisis kedalam bentuk perangkat lunak
yang kemudian menciptakan atau memperbaiki sistem yang sudah ada.

3.1.2 Waktu & Jadwal Pelaksanaan Penelitian


Waktu yang digunakan untuk penelitian ini dilaksanakan sejak tanggal
dikeluarkannya izin penelitian.
Tabel 3.1 Jadwal Pelaksanaan Penelitian
Waktu Kegiatan

No Jenis
Mei Juni Juli Agustus September
. Kegiatan
2022 2022 2022 2022 2022

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Identifikasi
1. Masalah
Pengajuan
2. Judul
Penyusunan
3. Proosal
Bimbingan
4. Proposal
Seminar
5. Proposal

24
25

Revisi
Seminar
6
Proposal

Seminar
7 Hasil

3.2 Bahan dan Alat Penelitian


Bahan dan alat yang digunakan dalam penelitian ini yaitu satu unit laptop
yang meliputi perangkat lunak (software) dan perangkat keras (hardware), dengan
rincian yang dapat dijelaskan pada sub bab selanjutnya.

3.2.1 Perangkat Keras


Perangkat keras (hardware) adalah sebuah komponen atau unsur peralatan
yang digunakan untuk menunjang pembuatan sistem. Perangkat keras komputer
yang digunakan adalah perangkat keras yang dapat mendukung perangkat lunak
yang memiliki kemampuan atau tampilan grafis yang cukup baik. Adapun
spesifikasi kebutuhan perangkat keras yang digunakan pada penelitian dapat
dijelaskan sebagai berikut:
1. Prosesor yang digunakan adalah Intel Core i3
2. RAM (Random Access Memory) dengan ukuran 4 GB
3. VGA yang digunakan adalah Intel VGA and Nvidia GeForce = 2.7GB
4. Harddisk dengan ukuran 500 GB
5. Keyboard / Mouse 102 Keys / Standart Mouse
6. Monitor yang digunakan adalah Acer Aspire One happy 14 inchi

3.2.2 Perangkat Lunak


Perangkat lunak (software) adalah komponen data processing yang berupa
program-program dan teknik-teknik lainnya untuk mengontrol sistem komputer.
Aplikasi ini dibuat menggunakan perangkat lunak utama dan perangkat lunak
pendukung. Adapun spesifikasi kebutuhan perangkat lunak yang digunakan pada
penelitian dapat dijelaskan sebagai berikut:
1. Sistem operasi Microsoft Windows 8 Ultimate 64-bit.
26

2. Microsoft Office Word 2010 digunakan untuk membantu pembuatan penulisan


laporan skripsi.
3. Microsoft Office Visio 2007 digunakan untuk membantu pembuatan rancangan
sistem.
4. PHP, HTML, dan Javascript sebagai bahasa pemrograman untuk membuat
aplikasi web.
5. XAMPP sebagai tools untuk mengontrol web server apache.
6. Framework Bootstrap5 sebagai library CSS (Cascading Style Sheets) untuk
membantu dalam mendesign tampilan aplikasi web.
7. Visual Studio Code sebagai teks editor untuk menulis coding program.
8. Google Chrome sebagai web browser untuk menjalankan plikasi web.

3.3 Cara Kerja


Cara kerja merupakan tahapan yang dilakukan dalam penelitian, yang
mana tahapan ini akan dibahas mengenai perencanan dalam penelitian, teknik
pengumpulan data yang digunakan dalam penelitian, analisis kebutuhan sistem,
perancangan sistem serta pengujian sistem. Rincian dari cara kerja penelitian
dapat dijelaskan pada sub bab selanjutnya.

3.3.1 Perencanaan
Dalam mendukung jalannya penelitian terkait dengan pengamanan data
pada file teks menggunakan teknik kriptografi super enkripsi agar lebih terarah
dan sistematis, maka dibutuhkan suatu tahapan perencanaan penelitian yang
disusun dengan baik. Adanya tahapan ini juga dapat memudahkan dalam
melakukan penulisan proposal penelitian. Perencanaan merupakan tahapan yang
dilakukan dalam penelitian, yang mana tahapan ini bertujuan untuk memberikan
ketentuan bentuk masalah dan tujuan.
Dalam proses perencanaan ada beberapa hal yang akan dilakukan yaitu
identifikasi masalah, penentuan tujuan penelitian, studi pustaka, analisis sistem,
desain sistem, implementasi dan pengujian sistem dan kesimpulan penelitian.
27

Adapun tahapan-tahapan yang dilakukan pada penelitian ini dapat dilihat


pada gambar 3.1.

Gambar 3.1 Tahapan Penelitian

Berdasarkan gambar 3.1, berikut merupakan keterangan mengenai tahapan


penelitian yaitu sebagai berikut:
1. Identifikasi Masalah
Tahap identifikasi masalah merupakan tahap awal dan persiapan dari sebuah
penelitian. Pada tahap ini penulis mengidentifikasi apa-apa saja yang menjadi
permasalahan dan mengambil permasalahan tersebut menjadi topik penelitian
sehingga penulis dapat mencari solusi yang nantinya akan menjadi tujuan dari
28

penelitian ini. Permasalahan yang diangkat dalam penelitian ini terkait dalam
hal meningkatkan keamanan data pada file teks. Keamanan dan kerahasiaan
sebuah informasi pada file teks meruapakan hal yang sangat penting untuk
dilakukan, terutama informasi sensitif atau pribadi yang hanya boleh diakses
oleh pihak yang berhak saja, baik pada saat disimpan dalam media
penyimpanan (hard drive) ataupun pada saat akan dikirimkan. Salah satu cara
yang dapat dilakukan untuk mengamankan informasi tersebut adalah dengan
teknik kriptografi. Dalam penelitian ini, akan menggabungkan teknik
kriptografi dalam skema super enkripsi dengan menerapkan kombinasi
algoritma kriptografi simetris Beaufort Cipher dan algoritma asimetris RSA.
Identifikasi masalah merupakan bentuk pernyataan atau pertanyaan yang jelas
mengenai penelitian.
2. Penentuan Tujuan
Penentuan tujuan ini memperkuat tentang perlunya dilaksanakan suatu
penelitian sehingga pemecahan masalah yang diuraikan pada perumusan
masalah dapat dicapai setelah penelitian selesai dilakukan. Setelah masalah
ditentukan, maka penulis menentukan tujuan dari penelitian ini, yaitu untuk
menyelesaikan masalah yang ada dengan membuat sebuah aplikasi yang dapat
digunakan untuk mengamankan data pada file teks dengan teknik super
enkripsi menggunakan kombinasi algoritma simetris Beaufort Cipher dan
algoritma asimetris RSA.
3. Studi Pustaka
Studi pustaka merupakan hal yang mendukung sebagai landasan teori
penelitian dalam membahas penelitian yang sedang dilakukan. Studi pustaka
dilakukan untuk mendapatkan berbagai informasi yang relevan terkait dengan
penelitian yang akan dilakukan dengan cara browsing di internet, membaca
berbagai literatur seperti buku dan jurnal, hasil kajian dari penelitian
terdahulu, catatan perkuliahan, serta sumber-sumber lain yang relevan dengan
pokok permasalahan pada penelitian ini.. Informasi tersebut antara lain terkait
dengan algoritma Beaufort Cipher, algoritma RSA, dan penelitian-penelitian
29

sebelumnya terkait dengan penelitian yang dilakukan. Hasil dari kajian


pustaka yang telah dilakukan dapat dilihat pada pada bagian tinjauan pustaka.
4. Analisis Kebutuhan Sistem dan Perancangan Konsep
Sebelum merancang sebuah sistem, tahapan yang terlebih dahulu harus
dilakukan adalah dengan menganalisis sistem yang ingin dibuat. Analisis
sistem yang dibahas mencakup kebutuhan fungsional sistem dan kebutuhan
non fungsional. Setelah melakukan analisis sistem, langkah selanjutnya adalah
melakukan perancangan konsep pengamanan data pada file teks. Konsep
pengamanan akan menggunakan perpaduan antara algoritma Beaufort Cipher
dan algoritma RSA. Konsep pengamanan tersebut dapat dilihat lebih lanjut
pada gambar 3.2.

Gambar 3.2 Arsitektur Umum Sistem

Pada gambar 3.2, terlihat bahwa terdapat 9 tahapan dalam melakukan proses
enkripsi dengan memanfaatkan algoritma Beaufort dan RSA. Langkah
pertama diawali dengan menentukan plaintext atau data berupa teks yang akan
diacak melalui proses enkripsi. Pada tahap ini juga harus ditentukan kunci
yang akan digunakan dalam proses enkripsi. Langkah selanjutnya merupakan
proses enkripsi tahap pertama dengan menggunakan algoritma Beaufort
Cipher. Hasil dari proses enkripsi ini berupa ciphertext1, yang akan
mengalami proses enkripsi lagi dengan menggunakan algoritma RSA dan
akan menghasilkan berupa ciphertext2. Untuk mendekripsi maka tahap
pertama dengan menggunakan algoritma RSA sehingga menghasilkan
30

ciphertext1, yang akan mengalami proses dekripsi lagi dengan menggunakan


algoritma Beaufort Cipher sehingga diperoleh pesan asli berupa plaintext.
5. Desain Sistem
Tahapan desain sistem dilakukan untuk mendapatkan gambaran yang jelas
tentang apa yang dikerjakan pada analisis sistem dan dilanjutkan dengan
mempertimbangkan bagaimana membentuk sistem tersebut. Perancangan
sistem dilakukan dengan membuat flowchart sistem dan tampilan interface
(antarmuka) sistem yang akan di integrasikan dengan aplikasi pada tahap
implementasi sistem.
6. Impementasi dan Pengujian Sistem
Pada tahap ini akan dilakukan pengkodean (coding) yang mengacu pada
perancangan sistem yang telah dibuat sebelumnya dengan menggunakan PHP,
HTML, dan Javascript sebagai bahasa pemrograman untuk membuat aplikasi
web. Selanjutnya melakukan pengujian terhadap sistem yang telah dirancang
apakah sistem tersebut berjalan sesuai dengan yang diharapkan. Metode
pengujian yang digunakan adalah blackbox, yaitu sebuah metode yang
digunakan untuk mendemonstrasikan fungsional aplikasi saat dioperasikan,
apakah input diterima dengan benar dan output yang dihasilkan telah sesuai
dengan yang diharapkan.
7. Kesimpulan Penelitian
Langkah terakhir dari penelitian adalah melakukan penarikan kesimpulan
terhadap hasil dari penelitian yang telah dilakukan yang menjawab tujuan
akhir dari penelitian berdasarkan hasil analisis data sampai pengujian sistem
yang telah dilakukan.

3.3.2 Teknik Pengumpulan Data


Metode pengumpulan data digunakan untuk memperoleh data yang dapat
mendukung permasalahan yang akan dibahas. Sehubungan dengan hal ini maka
digunakan metode pengumpulan data yang meliputi:
31

1. Studi Pustaka
Pengumpulan data melalui metode ini diperoleh dengan browsing di internet,
membaca berbagai literatur seperti buku dan jurnal, hasil kajian dari penelitian
terdahulu, catatan perkuliahan, serta sumber-sumber lain yang relevan dengan
pokok permasalahan pada penelitian ini.
2. Observasi
Observasi dilakukan untuk tahapan pengumpulan data yang akan digunakan
sebagai masukan untuk penelitian ini adalah file teks dengan format *.txt
dengan ketentuan ukuran file atau jumlah karakter yang bervariasi. Hal ini
dilakukan agar performa skema super enkripsi dengan kombinasi algoritma
Beaufort Cipher dan algoritma RSA dapat di evaluasi. Namun tidak menutup
kemungkinan akan ada data masukan yang memiliki ukuran atau jumlah
karakter yang kecil atau sedikit.
3. Pengujian Lab
Pada tahap ini, penulis melakukan pembuatan aplikasi berbasis web, setelah
aplikasi berjalan selanjutnya melakukan tahap uji coba langsung terhadap data
yang akan di enkripsi dan dekripsi..

3.3.3 Analisis Kebutuhan


Tahap ini bertujuan untuk mengumpulkan informasi dan spesifikasi
tentang kebutuhan sistem. Dalam analisis kebutuhan ini terdapat dua bagian, yaitu
kebutuhan fungsional sistem dan kebutuhan non-fungsional sistem Kebutuhan
fungsional sistem mendeskripsikan fungsi-fungsi yang harus dilakukan oleh
sebuah sistem untuk mencapai tujuan. Sedangkan kebutuhan non-fungsional
sistem mendeskripsikan fitur lain seperti karakteristik, batasan sistem, performa,
dokumentasi dan yang lainnya agar sistem berjalan sukses.

3.3.3.1 Analisis Kebutuhan Fugsional


32

Kebutuhan fungsional merupakan jenis kebutuhan yang berkaitan dengan


proses yang akan dikerjakan oleh sistem dan juga berisi informasi tentang apa saja
yang harus ada dan dihasilkan oleh sistem. Kebutuhan fungsional dari sistem yang
mengimplementasikan kombinasi algoritma kriptografi simetris Beaufort Cipher
dan kriptografi asimetris RSA dalam skema super enkripsi adalah sebagai berikut:
1. Bangkitkan Kunci
Sistem dapat membangkitkan kunci publik (public key) dan kunci privat
(private key) algoritma RSA secara acak (random). Selanjutnya juga dapat
menyimpan kunci publik untuk selanjutnya digunakan pada proses enkripsi
dan kunci privat untuk selanjutnya digunakan pada proses dekripsi.
2. Menerima Input Pesan Teks (Plaintext)
Sistem dapat mencari dan membaca isi file teks yang berekstensi *.txt yang
tersimpan pada perangkat yang digunakan dan hanya dapat membaca berupa
teks (string) yang terdapat dalam file teks. Sistem juga dapat menerima input
plaintext langsung dari pengguna secara manual.
3. Mengenkripsi Pesan Teks (Plaintext)
Sistem dapat mengenkripsi berupa teks (string) yang terdapat dalam file teks
dengan menggunakan algoritma Beaufort Cipher kemudian menghasilkan
ciphertext pertama, lalu ciphertext yang didapat sebelumnya dienkripsi lagi
dengan menggunakan kunci publik algoritma RSA dan menghasilkan
ciphertext kedua sebagai hasil akhir enkripsi.
4. Menyimpan Hasil Enkripsi Pesan Teks (Ciphertext)
Sistem akan menyimpan pesan teks yang telah dienkripsi sebelumnya
(ciphertext). Setelah itu sistem akan membaca pesan yang disimpan tersebut
untuk melakukan proses dekripsi.
5. Mendekripsi Pesan Teks (Ciphertext)
Sistem dapat mendekripsi pesan teks (ciphertext) dengan menggunakan kunci
private algoritma RSA kemudian menghasilkan ciphertext pertama, lalu
ciphertext yang didapat sebelumnya didekripsi lagi dengan menggunakan
algoritma Beaufort Cipher dan menghasilkan plaintext asli.
33

3.3.3.2 Analisis Kebutuhan Non Fugsional


Kebutuhan non fungsional berisi tentang perilaku yang dimiliki oleh
sistem seperti operasional dan kinerja dari sistem. Adapun kebutuhan non
fungsional dari sistem yang mengimplementasikan kombinasi algoritma
kriptografi simetris Beaufort Cipher dan kriptografi asimetris RSA dalam skema
super enkripsi adalah sebagai berikut:
1. Dokumentasi, sistem yang akan dibangun memiliki panduan (help)
penggunaan aplikasi sehingga pengguna dapat menggunakan sesuai panduan.
2. Pengendalian, sistem yang akan dibangun akan menampilkan pesan error
untuk setiap masukkan yang tidak sesuai.
3. Kinerja, sistem melakukan proses enkripsi dan dekripsi pada pesan teks
dengan waktu yang relatif singkat.
4. User Friendly, sistem menggunakan tampilan yang mudah digunakan dan
dipelajari.

3.3.4 Perancangan
Perancangan sistem merupakan wujud dari implementasi sistem secara
teknis Perancangan sistem bertujuan untuk menggambarkan semua kondisi dan
bagian-bagian yang berperan dalam sistem yang dirancang. Tujuan dari
perancangan antarmuka yaitu membuat tampilan sistem yang sederhana dan
mudah digunakan (user friendly) sehingga user dapat lebih mudah dalam
menggunakan sistem. Dalam perancangan sistem ini menggunakan flowchart
sistem. Selain itu juga akan dijelaskan rancangan antarmuka sistem (interface
sistem) yang akan dibangun. Interface yang akan dirancang pada sistem ini
memiliki lima bagian utama, yaitu halaman utama (home), halaman enkripsi,
halaman dekripsi, halaman help, dan halaman about.

3.3.4.1 Flowchart Sistem


Flowchart sistem dapat dijelaskan sebagai bagan yang menunjukkan arus
pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urutan-urutan
34

dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan
apa yang dikerjakan di sistem kriptografi super enkripsi dengan memanfaatkan
algoritma simetris Beaufort Cipher dan algoritma asimetris RSA.
Flowchart sistem dimulai dengan menampilkan halaman utama yang dapat
dijelaskan pada gambar 3.3.
35

Gambar 3.3 Flowchart Sistem Halaman Utama


Flowchart sistem pada gambar 3.3 dimulai dengan menampilkan halaman
utama sitem. Pada halaman utama terdapat sejumlah menu yang dapat diakses
36

oleh User, jika memilih menu home maka sistem akan menampilkan informasi
mengenai aplikasi, jika memilih menu bangkitkan kunci maka sistem akan
menampilkan halaman bangkitkan kunci, jika memilih menu enkripsi maka sistem
akan menampilkan halaman enkripsi, jika memilih menu dekripsi maka sistem
akan menampilkan halaman dekripsi, jika memilih menu help maka sistem akan
menampilkan informasi panduan cara menggunakan aplikasi, jika memilih menu
about maka sistem akan menampilkan informasi mengenai aplikasi, jika memilih
menu exit maka akan keluar dari sistem.
Adapun flowchart sistem pada halaman bangkitkan kunci publik (public
key) dan kunci privat (private key) dari algoritma asimetris RSA dapat dijelaskan
pada gambar 3.4.

Gambar 3.4 Flowchart Sistem Halaman Bangkitkan Kunci


Flowchart sistem pada gambar 3.4 dimulai dengan menampilkan halaman
bangkitkan kunci. Pada halaman ini pilih tombol generate key untuk
37

membangkitkan kunci publik dan kunci privat algoritma RSA. Selanjutnya pilih
tombol save key untuk menyimpan kunci yang nantinya akan digunakan untuk
proses enkripsi dan dekripsi.
Adapun flowchart sistem pada halaman enkripsi dapat dijelaskan pada
gambar 3.5.

Gambar 3.5 Flowchart Sistem Halaman Enkripsi


Flowchart sistem pada gambar 3.5 dimulai dengan menampilkan halaman
enkripsi. Pada halaman ini pilih tombol input file untuk menginputkan pesan yang
38

akan di enkripsi, lalu masukkan kunci algoritma Beaufort Cipher serta dilanjutkan
dengan mengimport kunci publik dari algoritma RSA yang telah dibangkitkan
sebelumnya. Selanjutnya pilih tombol enkripsi untuk melakukan proses enkripsi
dengan menggunakan algoritma Beaufort Cipher dan algoritma RSA dan sistem
akan menampilkan hasil enkripsi (ciphertext). Setelah itu simpan kunci Beaufort
Cipher dan ciphertext untuk proses selanjutnya pada saat melakukan dekripsi.
Adapun flowchart sistem pada halaman dekripsi dapat dijelaskan pada
gambar 3.6.

Gambar 3.6 Flowchart Sistem Halaman Dekripsi


Flowchart sistem pada gambar 3.6 dimulai dengan menampilkan halaman
dekripsi. Pada halaman ini pilih tombol import file untuk menginputkan ciphertext
39

yang akan di dekripsi, lalu import file kunci algoritma Beaufort Cipher serta
dilanjutkan dengan mengimport kunci privat dari algoritma RSA yang telah
dibangkitkan sebelumnya. Selanjutnya pilih tombol dekripsi untuk melakukan
proses dekripsi dengan menggunakan algoritma Beaufort Cipher dan algoritma
RSA dan sistem akan menampilkan hasil dekripsi (plaintext).

3.3.4.2 Rancangan Interface Sistem


Proses perancangan interface sistem (antarmuka sistem) merupakan hal
yang sangat penting karena berpengaruh pada saat pengguna menggunakan sistem
atau berkomunikasi dengan sistem. Apabila suatu sistem menggunakan
perancangan antarmuka yang sulit untuk dimengerti pengguna, maka pengguna
akan melakukan kesalahan pada saat menjalankan sistem tersebut. Sehingga
diperlukan perancangan yang sederhana dan efisien agar pengguna tidak sulit
pada saat menjalankan sistem.
Sistem dibangun berbasis web dengan menggunakan PHP sebagai bahasa
pemrograman. Interface yang akan dirancang pada sistem ini memiliki enam
bagian utama, yaitu halaman home atau halaman utama, halaman bangkitkan
kunci, halaman enkripsi, halaman dekripsi, halaman help, dan halaman about.
Berikut ini dijelaskan mengenai rancangan antarmuka pada sistem yang akan
dibangun, yaitu sebagai berikut:
1. Rancangan Halaman Utama
Halaman utama (home) berfungsi sebagai tampilan awal pada saat aplikasi
dijalankan. Pada halaman utama terdapat lima buah menu yang dapat diakses
oleh user, yaitu menu home, menu bangkitkan kunci, menu enkripsi, menu
dekripsi, menu help, dan menu about.
2. Rancangan Halaman Bangkitkan Kunci
Halaman bangkitkan kunci dirancang untuk membangkitkan kunci publik
(pubic key) dan kunci privat (private key) dari algoritma RSA. Kunci publik
digunakan untuk mengenkripsi pesan (plaintext) yang terdapat dalam file teks
dengan format *.txt, sedangkan kunci privat digunakan untuk mendekripsi
pesan (ciphertext) yang terdapat dalam file teks dengan format *.txt.
40

3. Rancangan Halaman Enkripsi


Halaman enkripsi dirancang untuk melakukan proses enkripsi pesan
(plaintext) yang terdapat dalam file teks dengan format *.txt menggunakan
kombinasi algoritma kriptografi Beaufort Cipher dan algoritma RSA dalam
skema super enkripsi.
4. Rancangan Halaman Dekripsi
Halaman dekripsi dirancang untuk melakukan proses dekripsi pesan
(ciphertext) yang terdapat dalam file teks dengan format *.txt menggunakan
kombinasi algoritma kriptografi Beaufort Cipher dan algoritma RSA dalam
skema super enkripsi.
5. Rancangan Halaman Help
Halaman help dirancang untuk menampilkan informasi panduan kepada user
mengenai proses bangkitkan kunci, proses enkripsi dan proses dekripsi yang
terdapat pada aplikasi yang dibuat.
6. Rancangan Halaman About
Halaman about dirancang untuk menampilkan informasi mengenai profile
pembuat aplikasi yang berisi mengenai nama, nim, dan prodi.

3.3.5 Pengujian
Tahap pengujian dilakukan dengan tujuan untuk menjamin sistem yang
dibuat sesuai dengan hasil analisis dan perancangan serta menghasilkan satu
kesimpulan apakah sistem tersebut sesuai dengan yang diharapkan. Untuk itu
dibutuhkan sebuah metode pengujian yang menjadi ukuran atau parameter
sehingga dapat ditarik kesimpulan bahwa sistem memang telah berjalan sesuai
dengan tujuan. Pengujian sistem pada penelitian ini dilakukan dengan
menggunakan metode pengujian blackbox (blackbox testing).
Pengujian blackbox adalah salah satu metode pengujian aplikasi atau
perangkat lunak yang berfokus pada sisi fungsionalitas, khususnya pada input dan
output aplikasi (apakah sudah sesuai dengan apa yang diharapkan atau belum).
Pengujian dengan metode blackbox dilakukan dengan cara memberikan sejumlah
41

input pada program kemudian diproses sesuai dengan kebutuhan fungsionalnya


untuk melihat apakah program aplikasi dapat menghasilkan output yang sesuai
dengan yang diinginkan dan sesuai pula dengan fungsi dasar dari program
tersebut. Jika dari input yang diberikan dapat menghasilkan output yang sesuai
dengan kebutuhan fungsionalnya, maka program yang dibuat sudah benar, tetapi
apabila output yang dihasilkan tidak sesuai, maka masih terdapat kesalahan pada
program tersebut, dan selanjutnya dilakukan penelusuran perbaikan untuk
memperbaiki kesalahan yang terjadi.
Berikut dijelaskan beberapa tahapan pengujian yang akan dilakukan yaitu
mencakup pengujian interface, pengujian fungsi dasar sistem, dan pengujian
validasi.
1. Pengujian Interface
Pengujian interface ini bertujuan untuk mengetahui fungsionalitas dari
elemen-elemen interface yang terdapat pada tiap form dalam apikasi yang
dibangun. Adapun rencana kasus uji pada pengujian interface mencakup menu
bangkitkan kunci, menu enkripsi, menu dekripsi, menu help, dan menu about.
2. Pengujian Fungsi Dasar Sistem
Pengujian fungsi dasar sistem bertujuan untuk mengetahui fungsi-fungsi dasar
yang ada di dalam aplikasi. Adapun rencana kasus uji pada pengujian fungsi
dasar sistem ini mencakup menu bangkitkan kunci pada tombol generate key
dan tombol save key. Menu enkripsi pada tombol import file teks, tombol
import kunci publik RSA, tombol enkripsi file teks, dan tombol simpan
ciphertext. Menu dekripsi pada tombol import kunci privat RSA, tombol
import ciphertext, tombol dekripsi ciphertext, dan tombol simpan plaintext.
3. Pengujian Validasi
Pengujian ini bertujuan untuk mengetahui apakah validasi-validasi yang ada
didalam sistem sudah berjalan dengan baik. Adapun rencana kasus uji pada
pengujian validasi ini mencakup validasi import file teks, validasi import file
kunci, validasi enkripsi, validasi dekripsi, dan validasi simpan file.
BAB IV
HASIL DAN PEMBAHASAN

4.1 Analisis Penerapan Metode


File teks menjadi salah satu bentuk dokumen yang umum digunakan untuk
menyimpan informasi yang sifatnya pribadi atau rahasia, sehingga perlu dilakukan
tindakan untuk tetap menjaga informasi tersebut hanya dapat diakses oleh pemilik
data, baik pada saat disimpan atau pada saat ditransmisikan. Teknik kriptografi
merupakan salah satu alternatif solusi yang dapat diterapkan untuk menjaga
keamanan data, yaitu dengan cara memanipulasi pesan ke dalam bentuk yang
tidak dimengerti oleh banyak orang.
Selain menerapkan algoritma kriptografi yang baru, biasanya banyak
peneliti memodifikasi suatu algoritma kriptografi, namun hal ini bukanlah suatu
pekerjaan yang mudah. Oleh karena itu, salah satu cara yang dapat diterapkan
dalam meningkatkan keamanan pesan dengan menggunakan teknik kriptografi
dengan cara mengkombinasikan dua buah algoritma kedalam satu proses. Pada
penelitan ini akan mengimplementasikan perpaduan algoritma kriptografi simetris
Beaufort Cipher dan algoritma kriptografi asimetris RSA guna meningkatkan
keamaman pesan pada file teks. Metode pengkombinasian antara kedua algoritma
yang bertujuan untuk mendapatkan hasil enkripsi (ciphertext) yang lebih kuat
sehingga sulit untuk dipecahkan, dan juga untuk mengatasi penggunaan ciphertext
tunggal yang secara komparatif lemah karena hanya menggunakan satu algoritma
kriptografi. Sistem yang dibangun pada penelitian ini adalah berupa aplikasi
berbasis web untuk menyelesaikan permasalahan keamanan pesan pada file teks.

4.1.1 Analisis Proses Enkripsi


Proses enkripsi merupakan tahap untuk mentransformasi data ke dalam
bentuk yang tidak dimengerti oleh banyak orang. Dalam penelitian ini data yang
akan di enkripsi adalah berupa pesan yang terdapat dalam file teks dengan

42
43

menerapkan perpaduan algoritma kriptografi simetris Beaufort Cipher dan


algoritma asimetris RSA dalam skema super enkripsi. Gambar 4.1 berikut
menjelaskan secara umum mengenai proses enkripsi yang diterapkan dalam
penelitian ini.

Gambar 4.1 Skema Proses Enkripsi

Sesuai gambar 4.1 terdapat dua proses utama yang dilakukan dalam
mengamankan data berupa file teks dalam skema super enkripsi, proses pertama
yaitu melakukan enkripsi menggunakan kunci algoritma Beaufort Cipher
sehingga menghasilkan ciphertext1, lalu hasil dari proses tersebut akan di enkripsi
lagi dengan menggunakan kunci publik algoritma RSA sehingga menghasilkan
ciphertext2 sebagai hasil akhir dari proses enkripsi. Pesan yang terdapat dalam file
teks yang akan di enkripsi hanya menggunakan penyandian karakter A-Z dan
karakter a-z yang terdapat dalam tabel ASCII dengan modulo 26 untuk algoritma
Beaufort Cipher dengan panjang kunci maksimal hanya 16 huruf dan hanya
menggunakan kunci dengan karakter alphabet. Sedangkan hasil enkripsi
algoritma RSA akan akan dikonversi kedalam nilai desimal. Berikut ditampilkan
contoh sampel data dengan format file teks.
44

Gambar 4.2 Potongan Sampel Data


Sesuai gambar 4.2, sampel data mempunyai size sebesar 32 KB (kilo
bytes) dengan jumlah karakter sebanyak 27.474 karakter. Oleh karena itu, untuk
mempermudah perhitungan dalam proses enkripsi maka hanya mengambil 11
huruf pertama sebagai inputan dalam melakukan proses perhitungan enkripsi
secara manual.
Sebelum melakukan proses enkripsi menggunakan algoritma Beaufort
Cipher, maka terlebih dahulu pesan yang terdapat dalam file teks dikonversi
kedalam bentuk desimal dalam tabel ASCII. Proses konversi teks kedalam bentuk
desimal pada penelitian ini dengan memanfaatkan tools yang dapat diakses secara
online melalui alamat https://onlinetexttools.com/. Adapun hasil konversinya
dapat disajikan pada gambar 4.3.

Gambar 4.3 Potongan Sampel Data (a) Karakter (b) Nilai Desimal
45

Gambar 4.1 menampilkan nilai desimal dari sampel data yang diperoleh
dengan menggunakan alat bantu (tools) dari https://onlinetexttools.com/. Setelah
nilai desimal dari pesan yang terdapat dalam file teks didapatkan, maka proses
enkripsi dengan algoritma Beaufort Cipher dapat dilakukan. Dengan mengambil
11 huruf pertama dari file teks serta menentukan kunci enkripsi dan dekripsi
sebagai berikut:
Plaintext : k r i p t o g r a f i
Kunci : m a h y u d i
Berdasarkan skema enkripsi pada gambar 4.1 maka tahap pertama yang
dilakukan yaitu mengenkripsi pesan dengan menggunakan algoritma Beaufort
Cipher. Enkripsi Beaufort Cipher merupakan teknik substitusi kriptografi yang
menggunakan operasi modulo bilangan bulat sebagai proses utama. Kunci (K )
pada Beaufort Cipher adalah urutan karakter-karakter K=k 1 , … , k n dimana k 1
didapat dari banyaknya pergeseran dari karakter ke-i. Artinya bahwa jumlah kunci
yang digunakan harus sama dengan jumlah karakter plaintext yang diamankan.
Algoritma ini melakukan proses enkripsi secara stream (masing-masing karakter
plaintext harus memiliki pasangan kunci).
Dapat diketahui bahwa panjang plaintext = 11, sedangkan panjang kunci =
7, karena panjang kunci algoritma Beaufort Cipher < panjang plaintext, maka
kunci algoritma Beaufort Cipher tersebut akan diulang secara periodik sehingga
panjang kunci tersebut sama dengan panjang plaintext-nya, yaitu sebagai berikut:
Plaintext : k r i p t o g r a f i
Kunci : m a h y u d i m a h y

Pada contoh diatas kunci algoritma Beaufort Cipher “mahyudi” diulang


sedemikian rupa hingga panjang kunci sama dengan panjang plaintext-nya.
Kemudian setelah panjang kunci sama dengan panjang plaintext, proses enkripsi
dilakukan terlebih dahulu akan dikonversi ke desimal pada tabel ASCII sehingga
hasilnya dapat disajikan pada tabel 4.1.
Tabel 4.1 Proses Mengubah Plaintext Menjadi Desimal

Plaintext ( M i) k r i p t o g r a f i
46

10 11 103 114 97 102 105


Nilai Desimal 114 105 112 111
7 6
Kunci (Ki) m a h y u d i m a h y
10 11 105 109 97 104 121
Nilai Desimal 97 104 121 100
9 7

Setelah plaintext dikonversi menjadi desimal, maka proses enkripsi


algoritma Beaufort Cipher dapat dilakukan dengan menggunakan rumus pada
persamaan (2.1) sehingga diperoeleh hasilnya sebgai berikut:

Untuk karakter (M ¿¿ 1)=k ¿ dan kunci ( K 1 ¿=m


C 1=( K 1−M 1 ) mod 26=( m−k ) mod 26+ 97
¿ ( 109−107 ) mod 26 +97
¿ 99 (huruf “c” dalam tabel ASCII)
Untuk karakter (M ¿¿ 2)=r ¿ dan kunci ( K 2 ¿=a
C 2=( K 2−M 2 ) mod 26=( a−r ) mod 26+97
¿ ( 97−114 ) mod 26+ 97
¿ 106 (huruf “j” dalam tabel ASCII)
Untuk karakter (M ¿¿ 3)=i¿ dan kunci ( K 3 ¿=h
C 3=( K 3−M 3 ) mod 26=( h−i ) mod 26+ 97
¿ ( 104−105 ) mod 26+97
¿ 122 (huruf “z” dalam tabel ASCII)
Untuk karakter (M ¿¿ 4)= p ¿ dan kunci ( K 4 ¿= y
C 4=( K 4−M 4 ) mod 26= ( y− p ) mod 26+97
¿ ( 121−112 ) mod 26+97
¿ 106 (huruf “j” dalam tabel ASCII)
Untuk karakter (M ¿¿ 5)=t ¿ dan kunci ( K 5 ¿=u
C 5=( K 5−M 5 ) mod 26=( u−t ) mod 26+ 97
¿ ( 117−116 ) mod 26+97
47

¿ 98 (huruf “b” dalam tabel ASCII)


Untuk karakter (M ¿¿ 6)=o ¿ dan kunci ( K 6 ¿=d
C 6=( K 6 −M 6 ) mod 26=( d−o ) mod 26+ 97
¿ ( 100−111 ) mod 26+ 97
¿ 112 (huruf “p” dalam tabel ASCII)
Untuk karakter (M ¿¿ 7)=g ¿ dan kunci ( K 7 ¿=i
C 7=( K 7 −M 7 ) mod 26=( i−g ) mod 26 +97
¿ ( 105−103 ) mod 26+ 97
¿ 99 (huruf “c” dalam tabel ASCII)
Untuk karakter (M ¿¿ 8)=r ¿ dan kunci ( K 8 ¿=m
C 8=( K 8 −M 8 ) mod 26=( m−r ) mod 26+97
¿ ( 109−114 ) mod 26+97
¿ 118 (huruf “v” dalam tabel ASCII)
Untuk karakter (M ¿¿ 9)=a ¿ dan kunci ( K 9 ¿=a
C 9=( K 9 −M 9 ) mod 26=( a−a ) mod 26+97
¿ ( 97−97 ) mod 26+ 97
¿ 97 (huruf “a” dalam tabel ASCII)
Untuk karakter (M ¿¿ 10)=f ¿ dan kunci ( K 10 ¿=h
C 10=( K 10−M 10 ) mod 26=( h−f ) mod 26+97
¿ ( 104−102 ) mod 26+97
¿ 99 (huruf “c” dalam tabel ASCII)
Untuk karakter (M ¿¿ 11)=i¿ dan kunci ( K 11 ¿= y
C 11=( K 11−M 11) mod 26=( y−i ) mod 26+97
¿ ( 121−105 ) mod 26+ 97
¿ 113 (huruf “q” dalam tabel ASCII)
Berdasarkan hasil perhitungan diatas maka diperoleh hasil enkripsi
pertama (ciphertext1) dengan menggunakan algoritma Beaufort Ciphert yaitu:

Plaintext (M ¿¿ i)¿ k r i p t o g r a f i
Kunci Beaufort m a h y u d i m a h y
48

(K ¿¿ i)¿
Ciphertext1 c q
c j z j b p c v a
(C ¿¿ i)¿

Hasil dari proses enkripsi (ciphertext1) kemudian akan di enkripsi lagi


dengan menggunakan algoritma kriptografi RSA. Algoritma RSA merupakan
algoritma kriptografi asimetris dimana kunci enkripsi tidak sama dengan kunci
dekripsinya. Untuk mengenkripsi dan dekripsi dengan menggunakan algoritma
RSA, maka terlebih dahulu membangkitkan sepasang kunci, yaitu kunci publik
(public key) dan kunci privat (private key). Adapun algoritma untuk
membangkitkan kunci publik (public key) dan kunci privat (private key) algoritma
RSA yaitu sebagai berikut:
1. Pilih dua buah bilangan prima sembarang untuk p dan q , misalkan p = 7 dan q
= 11.
2. Hitung nilai n sehingga diperoleh hasilnya:
n= p∗q
n=7∗11=77
3. Hitung nilai totient (φ) sehingga diperoleh hasilnya yaitu:
φ ( n )=( p−1)( q−1)
φ ( n )=(7−1)(11−1)
φ ( n )=6∗10=60
4. Pilih sembarang bilangan e sebagai kunci publik yang relatif prima terhadap
φ (n) yaitu 1>e <φ( n) dan gcd ( e , φ ( n ) ) =1. Karena e mempunyai ketentuan
e >1 dan e <φ( n), maka e dimulai dari e=2 , 3 , … , n
Misalkan dipilih e=7 karena relatif prima dengan φ ( n )=60.
Pembuktian, gcd ( 7 , 60 ) =1 sehingga nlai e yang digunakan yaitu e=7
5. Hitung kunci privat, disebut namanya d sedemikian agar d∗e mod φ ( n )=1
Dengan mencoba nilai-nilai d=1, 2 ,3 ,… , n
Misalkan dipilih nilai d=43 yang memenuhi syarat d∗e mod φ ( n )=1
49

Pembuktian, d∗e mod φ ( n )=43∗7 mod 60=1 sehingga nlai d yang digunakan
yaitu d=43.
Berdasarkan hasil perhitungan diatas maka diperoleh pasangan kunci
publik dan kunci privat algoritma RSA sebagai berikut:
1. Kunci enkripsi (public key) adalah pasangan ( n , e )=(77 ,7)
2. Kunci dekripsi (private key) adalah pasangan ( n , d )=(77 , 43)
Dengan mengambil hasil enkripsi Beaufort Cipher (ciphertext1) maka
proses enkripsi dengan menggunakan kunci publik algoritma RSA dapat
dilakukan dengan menggunakan persamaan (2.4) adalah sebagai berikut:
1. Ambil kunci publik (public key) algoritma RSA yang telah dibangkitkan
sebelumnya, yaitu pasangan ( n , e )=(77 ,7).
2. Ambil plaintext (mi ) yang merupakan hasil enkripsi Beaufort Cipher
(ciphertext1) kemudian susun menjadi blok-blok m1 ,m2 , m3 , … . ,mn, lalu
konversi bentuk desimal dalam tabel ASCII sehingga:
m1=c=99
m2= j=106
m3=z=122
m4 = j=¿106
m5=b=98
m6= p=112
m7=c=99
m8=v=118
m9=a=97
m10=c=99
m11=q=113
3. Enkripsi plaintext (mi ) menggunakan persamaan (2.1), sehingga hasilnya:
e
c i=mi mod n
c 1=99 7 mod 77=22
7
c 2=106 mod 77=50
50

7
c 3=122 mod 77=45
c 4 =106 mod 77=50
7
c 5=98 mod 77=21
7
c 6=112 mod 77=7
7
c 7=99 mod 77=22
7
c 8=118 mod 77=13
7
c 9=97 mod 77=48
7
c 10=99 mod 77=22
c 11=1137 mod 77=64
Berdasarkan hasil perhitungan diatas maka diperoleh hasil enkripsi
(ciphertext2) dengan menggunakan kunci publik algoritma RSA dalam bentuk
bilangan desimal yang masing-masing hasil enkripsi akan disipsahkan dengan
tanda titik adalah 22.50.45.50.21.7.22.13.48.22.64.
Adapun perbandingan pesan teks sebelum dan setelah di enkripsi dengan
menggunakan algoritma Beaufort Cipher dan algoritma RSA dapat disajikan pada
tabel 4.2.

Tabel 4.2 Perbandingan Hasil Enkripsi

Plainteks kriptografi
File Teks
Size 11 * 8 = 88 bit
Ciphertek cjzjbpcvacq
Hasil Enkripsi Beaufort s
Size 11 * 8 = 88 bit
Ciphertek 22.50.45.50.21.7.22.13.48.22.64
Hasil Enkripsi RSA s
Size 21 * 8 = 168 bit

Sesuai tabel 4.2, maka dapat disimpulkan bahwa setelah di enkripsi


melalui dua tahapan proses enkripsi maka diperoleh ciphertext yang lebih acak
serta tidak memperlihatkan hubungan antara plainteks dengan cipherteks, karena
51

hasil enkripsi kedua dengan algoritma RSA akan dikodekan kedalam nilai desima
sehingga ingkat keamanan pesan dapat ditingkatkan, akan tetapi akan
menghasilkan ciphertext yang lebih besar dari teks aslinya, yaitu 168 bit (21
karakter), oleh karena itu perlu dikompresi untuk memperkecil ukurannya.

4.1.2 Analisis Proses Dekripsi


Setelah ciphertext diperoleh, maka selanjutnya akan dilakukan proses
dekripsi yang bertujuan untuk mengembalikan pesan sudah di enkripsi pada
langkah sebelumnya. Proses dekripsi merupakan kebalikan dari proses enkripsi
yaitu untuk mentransformasi ciphertext ke dalam bentuk yang dapat dimengerti
(plaintext).

Gambar 4.4 Skema Proses Dekripsi


52

Sesuai gambar 4.1 terdapat dua proses utama yang dilakukan dalam
melakukan proses dekripsi. Proses pertama yaitu melakukan dekripsi
menggunakan kunci privat algoritma RSA sehingga menghasilkan ciphertext1,
lalu hasil dari proses tersebut akan di dekripsi lagi dengan menggunakan kunci
algoritma Beaufort Cipher sehingga menghasilkan plaintext sebagai hasil akhir
dari proses dekripsi.
Proses dekripsi dengan menggunakan kunci privat algoritma RSA dapat
dilakukan dengan menggunakan persamaan (2.5) yaitu sebagai berikut:
1. Ambil kunci privat (private key) algoritma RSA yaitu ( n , d )=(77 , 43).
2. Ambil ciphertext (c i ) yang akan didekripsi (dalam hal ini ciphertext
merupakan hasil dari proses enkripsi sebelumnya yaitu ciphertext2) kemudian
nyatakan menjadi blok-blok c 1 , c2 , c 3 , … . c n.
c 1=22
c 2=50
c 3=45
c 4 =50
c 5=21
c 6=7
c 7=22
c 8=13
c 9=48
c 10=22
c 11=64
2. Setiap blok c i akan didekripsi menjadi blok mi dengan menggunakan
persamaan (2.2), sehingga hasilnya:
d
m i=c i mod n
m1=2243 mod 77=99
43
m2=50 mod 77=106
43
m3=45 mod 77=122
53

43
m4 =50 mod 77=106
43
m 5=21 mod 77=98
43
m6=7 mod 77=112
43
m7=22 mod 77=99
43
m8=13 mod 77=118
43
m 9=48 mod 77=97
43
m10=22 mod 77=99
43
m 11 =64 mod 77=113
Berdasarkan hasil perhitungan diatas maka diperoleh hasil dekripsi
(ciphertext) algoritmaRSA yang jika dikonversi kedalam karakter pada tabel
ASCII akan diperoleh hasil seperti pada tabel 4.3.
Tabel 4.3 Konversi Desimal Kedalam Tabel ASCII

Desimal Karakter ASCII


99 c
106 j
122 z
106 j
98 b
112 p
99 c
118 v
97 a
99 c
113 q

Berdasarkan tabel 4.3 maka diperoleh hasil dekripsi pertama dengan


algoritma RSA yaitu “cjzjbpcvacq” yang merupakan hasil enkripsi algoritma
Beaufort Cipher (ciphertext1). Hasil dari proses dekripsi pertama (ciphertext1)
kemudian akan di dekripsi lagi dengan menggunakan algoritma kriptografi
54

Beaufort Cipher untuk mendapatkan kembali file teks aslinya (plaintext). Adapun
ciphertext1 dan kunci Beaufort Cipher untuk proses dekripsi tahap kedua yaitu:

Ciphertext1 c q
c j z j b p c v a
(C ¿¿ i)¿
Kunci Beaufort ( K i
m a h y u d i
)

Panjang ciphertext1 = 11, sedangkan panjang kunci = 7, karena panjang


kunci Beaufort Cipher < panjang ciphertext1, maka kunci Beaufort Cipher
tersebut akan diulang secara periodik hingga panjang kunci tersebut sama dengan
panjang ciphertext1, yaitu:

Ciphertext1 c q
c j z j b p c v a
(C ¿¿ i)¿
Kunci Beaufort ( K i h y
m a h y u d i m a
)

Pada contoh diatas kunci Beaufort Cipher “mahyudi” diulang sedemikian


rupa hingga panjang kunci sama dengan panjang ciphertext1. Kemudian setelah
panjang kunci sama dengan panjang ciphertext1, proses enkripsi dilakukan
terlebih dahulu akan dikonversi ke desimal pada tabel ASCII sehingga hasilnya
dapat disajikan pada tabel 4.4.
Tabel 4.4 Proses Mengubah Ciphertext1 Menjadi Desimal

Ciphertext1 c q
c j z j b p c v a
(C ¿¿ i)¿
10 99 118 97 99 113
Nilai Desimal 99 106 122 98 112
6
Kunci (Ki) m a h y u d i m a h y
10 12 10 109 97 10 121
Nilai Desimal 97 104 117 100
9 1 5 4
55

Setelah ciphertext1 dikonversi menjadi desimal, maka proses dekripsi


algoritma Beaufort Cipher dapat dilakukan dengan menggunakan rumus pada
persamaan (2.2) sehingga diperoeleh hasilnya sebgai berikut:
Untuk karakter (C ¿¿ 1)=c ¿ dan kunci ( K 1 ¿=m
P1=( K 1−C1 ) mod 26=( m−c ) mod 26+97
¿ ( 109−99 ) mod 26+97
¿ 107 (huruf “k” dalam tabel ASCII)
Untuk karakter (C ¿¿ 2)= j ¿ dan kunci ( K 2 ¿=a
P2=( K 2−C2 ) mod 26=( a− j ) mod 26+ 97
¿ ( 97−106 ) mod 26+ 97
¿ 114 (huruf “r” dalam tabel ASCII)
Untuk karakter (C ¿¿ 3)=z ¿ dan kunci ( K 3 ¿=h
P3=( K 3−C 3 ) mod 26=( h−z ) mod 26+97
¿ ( 104−122 ) mod 26+97
¿ 105 (huruf “i” dalam tabel ASCII)
Untuk karakter (C ¿¿ 4)= j ¿ dan kunci ( K 4 ¿= y
P4 =( K 4 −C 4 ) mod 26=( y− j ) mod 26+ 97
¿ ( 121−106 ) mod 26+ 97
¿ 112 (huruf “p” dalam tabel ASCII)
Untuk karakter (C ¿¿ 5)=b ¿ dan kunci ( K 5 ¿=u
P5=( K 5−C 5 ) mod 26=( u−b ) mod 26+ 97
¿ ( 117−98 ) mod 26+97
¿ 116 (huruf “t” dalam tabel ASCII)
Untuk karakter (C ¿¿ 6)= p ¿ dan kunci ( K 6 ¿=d
P6=( K 6−C 6 ) mod 26= ( d− p ) mod 26+97
¿ ( 100−112 ) mod 26+ 97
¿ 111 (huruf “o” dalam tabel ASCII)
Untuk karakter (C ¿¿ 7)=c ¿ dan kunci ( K 7 ¿=i
P7=( K 7−C 7 ) mod 26= (i −c ) mod 26+97
56

¿ ( 105−99 ) mod 26+97


¿ 103 (huruf “g” dalam tabel ASCII)
Untuk karakter (C ¿¿ 8)=v ¿ dan kunci ( K 8 ¿=m
P8=( K 8−C 8 ) mod 26= ( m−v ) mod 26+ 97
¿ ( 109−118 ) mod 26+ 97
¿ 114 (huruf “r” dalam tabel ASCII)
Untuk karakter (C ¿¿ 9)=a ¿ dan kunci ( K 9 ¿=a
P9=( K 9−C 9 ) mod 26= ( a−a ) mod 26+97
¿ ( 97−97 ) mod 26+ 97
¿ 97 (huruf “a” dalam tabel ASCII)
Untuk karakter (C ¿¿ 10)=c ¿ dan kunci ( K 10 ¿=h
P10 =( K 10 −C10 ) mod 26=( h−c ) mod 26+ 97
¿ ( 104−99 ) mod 26+ 97
¿ 102 (huruf “f” dalam tabel ASCII)
Untuk karakter (C ¿¿ 11)=q ¿ dan kunci ( K 11 ¿= y
P11 =( K 11 −C 11) mod 26=( y−q ) mod 26+ 97
¿ ( 121−113 ) mod 26+ 97
¿ 105 (huruf “i” dalam tabel ASCII)
Berdasarkan hasil perhitungan diatas seteleh melakukan proses dekripsi
dengan menggunakan algoritma Beaufort Cipher untuk tahap kedua maka
diperoleh kembali plaintext aslinya yaitu “kriptografi”.

4.2 Perancangan Sistem


Perancangan interface atau tampilan antarmuka pengguna sistem pada
aplikasi ini berguna sebagai perantara komunikasi pengguna dengan sistem.
Sistem dibangun berbasis web dengan menggunakan bahasa pemrograman php.
Interface yang akan dirancang pada sistem ini memiliki enam bagian utama, yaitu
halaman utama (home), halaman bangkitkan kunci, halaman enkripsi, halaman
dekripsi, halaman help, dan halaman about.
57

4.2.1 Perancangan Halaman Utama


Halaman utama merupakan halaman pembuka yang akan ditampilkan
pertama kali saat aplikasi dijalankan. Gambar 4.5 merupakan rancangan interface
dari halaman utama sistem.

Gambar 4.5 Rancangan Interface Halaman Utama

4.2.2 Perancangan Halaman Bangkitkan Kunci


Halaman bangkitkan kunci merupakan sebuah form yang dirancang untuk
membangkitkan kunci publik (pubic key) dan kunci privat (private key) dari
algoritma RSA. Kunci publik digunakan untuk mengenkripsi pesan teks,
sedangkan kunci privat digunakan untuk mendekripsi pesan teks. Rancangan
interface dari halaman bangkitkan kunci dapat disajikan pada gambar 4.6.
58

Gambar 4.6 Rancangan Interface Halaman Bangkitkan Kunci

4.2.3 Perancangan Halaman Enkripsi


Halaman enkripsi merupakan sebuah form yang dirancang untuk
melakukan proses enkripsi pesan dalam file teks (plaintext) dengan menggunakan
kombinasi algoritma kriptografi simetris Beaufort Cipher dan algoritma
kriptografi asimetris RSA dalam skema super enkripsi. Adapun rancangan
interface dari halaman enkripsi dapat disajikan pada gambar 4.7.
59

Gambar 4.7 Rancangan Interface Halaman Enkripsi

4.2.4 Perancangan Halaman Dekripsi


Halaman dekripsi dirancang untuk melakukan proses dekripsi file teks
(ciphertext) dengan menggunakan kombinasi algoritma kriptografi Beaufort
Cipher dan algoritma RSA dalam skema super enkripsi. Adapun rancangan
interface dari halaman dekripsi dapat disajikan pada gambar 4.8.
60

Gambar 4.8 Rancangan Interface Halaman Dekripsi

4.2.5 Perancangan Halaman Help


Halaman help dirancang untuk menampilkan informasi mengenai proses
bangkitkan kunci, proses enkripsi dan proses dekripsi yang terdapat pada aplikasi
yang dibuat. Adapun rancangan interface dari halaman help dapat dilihat pada
gmbar 4.9.
61

Gambar 4.9 Rancangan Interface Halaman Help

4.2.6 Perancangan Halaman About


Halaman about dirancang untuk menampilkan informasi singkat mengenai
profile user pada aplikasi yang dibuat. Adapun rancangan interface dari halaman
about dapat dilihat pada gmbar 4.10.

Gambar 4.10 Rancangan Interface Halaman About


62

4.3 Implementasi Program


Implementasi program merupakan tahapan yang dilakukan setelah
perancangan sistem dan pembuatan flowchart sistem. Setelah selesai menganalisis
dan membuat rancangan dari sistem yang akan dibangun, selanjutnya adalah
mengimplementasikan hasil analisis dan perancangan ke dalam bentuk aplikasi
dengan menggunakan bahasa pemrograman. Implementasi program dalam
penelitian dibuat berbasis web yang terdiri dari enam buah halaman, yaitu
halaman utama, halaman bagkitkan kunci, halaman enkripsi, halaman dekripsi,
halaman help, dan halaman about. Adapun ruang lingkup spesifikasi kebutuhan
perangkat lunak dan perangkat keras yang digunakan saat membangun dan
menjalankan aplikasi ini dapat dilihat penjelasannya pada bab tiga.

4.3.1 Implementasi Halaman Utama


Halaman utama atau halaman home berfungsi sebagai tampilan utama
pada saat aplikasi dijalankan. Pada halaman utama terdapat lima buah menu yang
yang dapat diakses oleh user yaitu terdiri dari menu bangkitkan kunci, menu
enkripsi, menu dekripsi, menu help, dan menu about. Gambar 4.11 merupakan
tampilan dari halaman utama.
63

Gambar 4.11 Tampilan Halaman Utama

4.3.2 Implementasi Halaman Bangkitkan Kunci


Halaman bangkitkan kunci berfungsi untuk membangkitkan kunci publik
(public key) dan kunci privat (private key) dari algoritma RSA. Kunci publik
digunakan untuk mengenkripsi pesan (plaintext) yang terdapat dalam file teks
dengan format .*txt, sedangkan kunci privat digunakan untuk mendekripsi pesan
(ciphertext) yang terdapat dalam file teks dengan format .*txt. Gambar 4.12
merupakan tampilan dari halaman bangkitkan kunci.
64

Gambar 4.12 Tampilan Halaman Bangkitkan Kunci

4.3.3 Implementasi Halaman Enkripsi


Halaman enkripsi berfungsi untuk melakukan proses enkripsi pesan
(plaintext) yang terdapat dalam file teks dengan format .*txt dengan menggunakan
kombinasi algoritma kriptografi Beaufort Cipher dan algoritma RSA dalam skema
super enkripsi. Gambar 4.13 merupakan tampilan dari halaman enkripsi.
65

Gambar 4.13 Tampilan Halaman Enkripsi

4.3.4 Implementasi Halaman Dekripsi


Halaman dekripsi berfungsi untuk melakukan proses dekripsi pesan
(ciphertext) yang terdapat dalam file teks dengan format .*txt dengan
menggunakan kombinasi algoritma kriptografi Beaufort Cipher dan algoritma
RSA dalam skema super enkripsi. Gambar 4.14 merupakan tampilan dari halaman
dekripsi.
66

Gambar 4.14 Tampilan Halaman Dekripsi

4.3.5 Implementasi Halaman Help


Halaman help berfungsi untuk menampilkan informasi panduan kepada
user mengenai proses dalam membangkitkan kunci algoritma RSA, proses
enkripsi dan proses dekripsi yang terdapat pada aplikasi yang dibuat. Gambar 4.15
merupakan tampilan dari halaman help.
67

Gambar 4.15 Tampilan Halaman Help

4.3.6 Implementasi Halaman About


Halaman about berfungsi untuk menampilkan informasi singkat mengenai
profile pembuat aplikasi yang berisi mengenai nama lengkap, alamat, nomor
telepon, dan alamat email. Gambar 4.16 merupakan tampilan dari halaman about.

Gambar 4.16 Tampilan Halaman About

4.4 Hasil Pengujian


Hasil pengujian merupakan hasil dari pengujian kemampuan atau
keakuratan metode yang digunakan dalam menyelesaikan masalah yang diteliti.
68

Dalam hal ini, penerapan skema super enkripsi dengan menggunakan kombinasi
algoritma kriptografi Beaufort Cipher dan algoritma RSA yang telah dibangun
akan diuji dengan menggunakan sampel data atau file uji. Objek yang menjadi
inputan data sebagai sampel data pada pengujian ini adalah berupa file teks
berformat *.txt dengan size atau ukuran yang beragam.

4.4.1 Hasil Pengujian Bangkitkan Kunci


Setelah memilih menu “Bangkitkan Kunci” yang terdapat pada halaman
utama, maka sistem akan menampilkan halaman bangkitkan kunci untuk proses
membangkitkan kunci publik (public key) dan kunci privat (private key) algoritma
asimetris RSA. Terdapat dua cara yang dapat dilakukan untuk membangkitkan
kunci algoritma RSA pada aplikasi yang dibangun, yaitu dengan membangkitkan
kunci secara otomatis atau dengan cara secara manual dengan mengisikan
langsung dua buah bilangan prima p dan q pada textbox masing-masing yang
tersedia pada halaman bangkitkan kunci.
Dalam membangkitkan kunci algoritma RSA secara manual, maka user
harus menginputkan terlebih dahulu dua buah bilangan prima p dan q , selanjutnya
user dapat menekan tombol “Generate Key”. Jika bilangan yang dimasukkan
bukan bilangan prima maka sistem akan menampilkan pesan error dan user harus
memasukkan ulang untuk bilangan prima p dan q . Jika bilangan yang dimasukkan
merupakan bilangan prima maka sistem akan menampilkan kunci publik (public
key) dan kunci privat (private key) algoritma RSA. Adapun cara kedua untuk
membangkitkan kunci yaitu dengan menekan tombol “Auto Generate Key” dan
sistem akan mengacak bilangan prima dan akan ditampilkan pada masing-masing
textbox p dan q serta sistem akan menampilkan kunci publik (public key) dan
kunci privat (private key) algoritma RSA seperti terlihat pada gambar 4.17.
69

Gambar 4.17 Hasil Pengujian Bangkitkan Kunci

Sesuai gambar 4.17, nilai bilangan prima yang dihasilkan untuk p=11 dan
q=23. Sedangkan untuk nilai n=253 yang merupakan hasil dari p∗q. Adapun
kunci publik yang dihasilkan yaitu pasangan n dan e (253, 3) dan kunci privat
yang dihasilkan yaitu pasangan n dan d (253, 147). Pasangan kunci yang berhasil
dibangkitkan selanjutnya akan disimpan untuk keperluan proses enkripsi dan
dekripsi. Untuk menyimpan pasangan kunci dapat dilakukan dengan memilih
tombol “Save Public Key” untuk menyimpan kunci publik dan tombol “Save
Private Key” untuk menyimpan kunci privat. Adapun tampilan dari pasangan
kunci publik dan kunci privat algoritma RSA setelah berhasil disimpan dapat
dilihat pada gambar 4.18.

Gambar 4.18 Hasil Kunci Algoritma RSA (a) Kunci Publik (b) Kunci Privat
70

4.4.2 Hasil Pengujian Enkripsi


Setelah memilih menu “Enkripsi” yang terdapat pada halaman utama,
maka sistem akan menampilkan halaman enkripsi untuk melakukan proses
enkripsi pesan (plaintext) yang terdapat dalam file teks dengan menggunakan
kombinasi algoritma Beaufort Cipher dan algoritma RSA dalam skema super
enkripsi. Untuk memulai proses enkripsi, maka user terlebih dahulu memasukkan
file kunci publik (public key) algortima RSA yang telah dibangkitkan sebelumnya,
yaitu dengan memilih tombol “Read Kunci Publik RSA” dan sistem akan
menampilkan kunci publik pada masing-masing textbox yang terdapat pada
halaman enkripsi. Tahap selanjutya memasukkan file teks yang akan di enkripsi
dengan memilih tombol “Choose File” dan sistem akan menampilkan preview isi
dari file teks yang dimasukkan pada textbox plaintext. Setelah itu dilanjutkan
dengan memasukkan kunci algoritma Beaufort Cipher dan dilanjutkan dengan
memilih tombol “Enkripsi Beaufort” dan sistem akan menampilkan hasil enkripsi
pertama (ciphertext1) algoritma Beaufort Cipher seperti terlihat pada gambar
4.19.

Gambar 4.19 Hasil Pengujian Enkripsi Beaufort Cipher


71

Gambar 4.19 merupakan hasil pengujian enkripsi pada file teks dengan
format *.txt menggunakan kunci algoritma Beaufort Cipher. Input data yang di uji
menggunakan sampel data1 dengan size 32 KB (kilo bytes). Hasil enkripsi
pertama dari algoritma Beaufort Cipher kemudian akan di enkripsi lagi dengan
memilih tombol “Enkripsi RSA” dan sistem akan menampilkan hasil enkripsi
kedua (ciphertext2) sebagai hasil akhir dari proses enkripsi dalam skema super
enkripsi. Adapun hasil enkripsinya dapat dilihat pada gambar 4.20.

Gambar 4.20 Hasil Pengujian Enkripsi RSA

Gambar 4.20 merupakan hasil pengujian enkripsi kedua dengan


menggunakan kunci publik algoritma RSA. Karakter (string) yang terdapat pada
file teks yang telah di enkripsi akan menghasilkan ciphertext dalam bentuk
bilangan desimal dengan estimasi waktu enkripsi selama 0.433 ms (millisecond).
Ciphertext yang dihasilkan dari proses enkripsi kedua dengan menggunakan
algoritma RSA akan terlihat acak dan tidak memiliki makna karena hasil enkripsi
dalam bentuk bilangan desimal, sehingga keamanan dan kerahasiaan sebuah
72

informasi pada file teks dapat terjaga karena tidak memperlihatkan korelasi antara
plaintext dengan ciphertext.

4.4.3 Hasil Pengujian Dekripsi


Setelah memilih menu “Dekripsi” yang terdapat pada halaman utama,
maka sistem akan menampilkan halaman dekripsi untuk melakukan proses
dekripsi pesan (ciphertext) yang terdapat dalam file teks dengan menggunakan
kombinasi algoritma Beaufort Cipher dan algoritma RSA dalam skema super
enkripsi. Untuk memulai proses dekripsi, maka user terlebih dahulu memasukkan
file kunci privat (private key) algortima RSA yang telah dibangkitkan
sebelumnya, yaitu dengan memilih tombol “Read Kunci Privat RSA” dan sistem
akan menampilkan kunci privat pada masing-masing textbox yang terdapat pada
halaman dekripsi. Tahap selanjutya memasukkan file teks (ciphertext) yang akan
di dekripsi dengan memilih tombol “Choose File” dan sistem akan menampilkan
preview isi dari file teks yang dimasukkan pada textbox ciphertext. Setelah itu
dilanjutkan dengan memasukkan kunci algoritma Beaufort Cipher dan dilanjutkan
dengan memilih tombol “Dekripsi RSA” dan sistem akan menampilkan hasil
dekripsi pertama (plaintext1) algoritma RSA seperti terlihat pada gambar 4.21.
73

Gambar 4.21 Hasil Pengujian Dekripsi RSA

Gambar 4.21 merupakan hasil pengujian dekripsi pada file teks


(ciphertext) dengan menggunakan kunci privat algoritma RSA. Hasil dekripsi
pertama dari algoritma RSA kemudian akan di dekripsi lagi dengan memilih
tombol “Dekripsi Beaufort” dan sistem akan menampilkan hasil dekripsi kedua
(plaintext2) sebagai hasil akhir dari proses dekripsi dalam skema super enkripsi.
Adapun hasil dekripsinya dapat dilihat pada gambar 4.22.
74

Gambar 4.22 Hasil Pengujian Dekripsi Beaufort Cipher

Gambar 4.22 merupakan hasil pengujian dekripsi kedua dengan


menggunakan kunci Beaufort Cipher. Karakter (string) yang terdapat pada file
teks yang telah di dekripsi akan menghasilkan plaintext yang sama persis dengan
file teks aslinya dengan estimasi waktu enkripsi selama 0.433 ms (millisecond).

4.4.4 Hasil Pengujian Blackbox Testing


Pengujian blackbox (blackbox testing) adalah salah satu metode pengujian
perangkat lunak yang berfokus pada sisi fungsionalitas, khususnya pada input dan
output aplikasi (apakah sudah sesuai dengan apa yang diharapkan atau belum).
Pengujian dengan metode blackbox testing dilakukan dengan cara memberikan
sejumlah input pada program. Input tersebut kemudian diproses sesuai dengan
kebutuhan fungsionalnya untuk melihat apakah program aplikasi dapat
menghasilkan output yang sesuai dengan yang diinginkan dan sesuai pula dengan
fungsi dasar dari program tersebut. Apabila dari input yang diberikan, proses
dapat menghasilkan output yang sesuai dengan kebutuhan fungsionalnya, maka
75

program yang dibuat sudah benar, tetapi apabila output yang dihasilkan tidak
sesuai dengan kebutuhan fungsionalnya, maka masih terdapat kesalahan pada
program tersebut, dan selanjutnya dilakukan penelusuran perbaikan untuk
memperbaiki kesalahan yang terjadi.
Adapun hasil pengujian blackbox testing sistem dapat diuraikan sebagai
berikut:
1. Blackbox Testing Bangkitkan Kunci
Berikut adalah hasil black box testing pada proses bangkitkan kunci publik
(public key) dan kunci privat (private key) algoritma RSA yang dapat
disajikan pada tabel 4.5.
Tabel 4.5 Blackbox Testing Bangkitkan Kunci

No Kasus Uji Langkah Uji Hasil Status


.
Membangkitkan Sistem dapat
kunci dengan membangkitkan kunci
memilih tombol secara otomatis atau
Bangkitkan
1. “Auto Generate dengan menentukan Berhasil
Kunci
Key” atau memilih sendiri bilangan prima
tombol “Generate untuk membangkitkan
Key” kunci
Menyimpan kunci
Sistem dapat
dengan memilih
menyimpan kunci
Simpan tombol “Save
2. publik dan kunci privat Berhasil
Kunci Public Key” dan
kedalam file teks
tombol “Save
dengan format *.txt
Private Key”

Tabel 4.5 pengujian blackbox testing dalam proses bangkitkan kunci, kasus
pengujian yang dilakukan antara lain “Bangkitkan Kunci” dan “Simpan
Kunci” dengan status hasil pengujian berhasil.
2. Blackbox Testing Enkripsi
76

Berikut adalah hasil blackbox testing pada proses enkripsi yang dapat
disajikan pada tabel 4.6.
Tabel 4.6 Blackbox Testing Enkripsi

No Kasus Uji Langkah Uji Hasil Status


.
Mengimport file
Sistem dapat membaca
kunci publik RSA
Input Kunci dan menampilkan isi
1. dengan memilih
Publik RSA dari file kunci publik
tombol “Read Kunci
algoritma RSA
Publik RSA”
Sistem hanya dapat
Mengimport file teks
menerima format
Input File dengan memilih
2. file .txt dan sistem dapat Berhasil
Teks tombol “Choose
menampilkan isi dari
File”
file teks
Input Kunci Sistem hanya dapat
Memasukkan kunci
3. Beaufort menerima kunci dengan Berhasil
Beaufort Cipher
Cipher maksimal 16 digit
Mengenkripsi file Sistem dapat
Enkripsi
teks dengan memilih menampilkan hasil
4. Beaufort Berhasil
tombol “Enkripsi enkripsi algoritma
Cipher
Beaufort” Beaufort Cipher
Mengenkripsi hasil
Beaufort Cipher Sistem dapat
Enkripsi
5. dengan memilih menampilkan hasil Berhasil
RSA
tombol “Enkripsi enkripsi algoritma RSA
RSA”
6. Simpan Menyimpan hasil Sistem dapat Berhasil
Cphertext enkripsi dengan menyimpan hasil
memilih tombol enkripsi (ciphertext)
“Simpan Cipherteks” kedalam file baru
77

dengan format *.txt

Tabel 4.6 pengujian blackbox testing dalam proses enkripsi, kasus pengujian
yang dilakukan antara lain “Input Kunci Publik RSA”, “Input File Teks”,
“Input Kunci Beaufort Cipher”, “Enkripsi Beaufort Cipher”, “Enkripsi RSA”,
dan “Simpan Cphertext” dengan status hasil pengujian berhasil.
3. Blackbox Testing Dekripsi
Berikut adalah hasil blackbox testing pada proses dekripsi yang dapat
disajikan pada tabel 4.7.
Tabel 4.7 Blackbox Testing Dekripsi

No Kasus Uji Langkah Uji Hasil Status


.
Mengimport file
Sistem dapat membaca
kunci privat RSA
Input Kunci dan menampilkan isi
1. dengan memilih
Privat RSA dari file kunci privat
tombol “Read Kunci
algoritma RSA
Privat RSA”
Sistem hanya dapat
Mengimport file teks
menerima format
Input File (ciphertext) dengan
2. file .txt dan sistem dapat Berhasil
Teks memilih tombol
menampilkan isi dari
“Choose File”
file teks
Input Kunci Sistem hanya dapat
Memasukkan kunci
3. Beaufort menerima kunci dengan Berhasil
Beaufort Cipher
Cipher maksimal 16 digit
Mendekripsi file
Sistem dapat
Dekripsi cipherteks dengan
4. menampilkan hasil Berhasil
RSA memilih tombol
dekripsi algoritma RSA
“Dekripsi RSA”
5. Dekripsi Mendekripsi file Sistem dapat Berhasil
Beaufort cipherteks dengan menampilkan hasil
78

memilih tombol dekripsi algoritma


Cipher
“Dekripsi Beaufort” Beaufort Cipher
Sistem dapat
Menyimpan hasil
menyimpan hasil
Simpan dekripsi dengan
6. dekripsi (plaintext) Berhasil
Plaintext memilih tombol
kedalam file baru
“Simpan Plaintext”
dengan format *.txt

Tabel 4.7 pengujian blackbox testing dalam proses dekripsi, kasus pengujian
yang dilakukan antara lain “Input Kunci Privat RSA”, “Input File Teks”,
“Input Kunci Beaufort Cipher”, “Dekripsi RSA”, “Dekripsi Beaufort Cipher”,
dan “Simpan Plaintext” dengan status hasil pengujian berhasil.
BAB V
KESIMPULAN DAN SARAN

5.1 Kesimpulan
Berdasarkan pada penelitian yang sudah dilakukan maka kesimpulan yang dapat
diambil setelah melakukan implementasi dan pengujian sistem dengan
menerapkan kombinasi algoritma Beaufort Cipher dan algoritma RSA dalam
skema super enkripsi untuk pengamanan file teks adalah sebagai berikut:
1. Kombinasi dua algoritma kriptografi dilakukan dengan cara mengenkripsi
pesan yang terdapat dalam file teks terlebih dahulu menggunakan kunci
algoritma Beaufort Cipher, kemudian mengenkripsi kembali dengan kunci
publik algoritma RSA untuk menghasilkan file teks terenkripsi yang lebih
aman dan dapat mengatasi permasalahan pada penggunaan ciphertext tunggal
sehingga tidak mudah untuk dipecahkan karena proses enkripsi akan
dilakukan sebanyak dua kali.
2. Penelitian ini menghasilkan sebuah aplikasi berbasis web yang dapat
digunakan untuk mengamankan file teks dengan menggunakan kombinasi
algoritma Beaufort Cipher dan algoritma RSA dalam skema super enkripsi.

5.2 Saran
Pada penelitian ini, beberapa saran yang dapat dijadikan sebagai acuan
untuk pengembangan dan perbaikan penelitian selanjutnya adalah sebagai berikut:
1. Penelitian ini hanya fokus untuk melakukan enkripsi dan dekripsi berupa
string yang terdapat dalam file teks dengan maksimal size 140 KB (kilo bytes),
maka pada penelitian berikutnya diharapkan dapat mengenkripsi jumlah size
yang lebih besar serta menggunakan format file yang lebih beragam.
2. Penerapan algoritma RSA dalam skema super enkripsi dalam penelitian ini
akan menghasilkan file teks terenkripsi (ciphertext) yang dua kali lebih besar
size-nya dari file teks aslinya, sehingga perlu dioptimalkan dengan
menambahkan algoritma kompresi guna memperkecil ukuran datanya.

79
DAFTAR PUSTAKA

Budiman, I., Saori, S., Anwar, R. N., Fitriani, & Pangestu, M. Y. (2021). Analisis
Pengendalian Mutu Dibidang Industri Makanan (Studi Kasus: UMKM
Mochi Kaswari Lampion Kota Sukabumi). Jurnal Inovasi Penelitian, 1(10),
1–15. https://doi.org/https://doi.org/10.47492/jip.v1i10.419
Diana, M., & Zebua, T. (2018). Optimalisasi Beaufort Cipher Menggunakan
Pembangkit Kunci RC4 Dalam Penyandian SMS. J-SAKTI (Jurnal Sains
Komputer Dan Informatika), 2(1), 12–22. https://doi.org/10.30645/j-
sakti.v2i1.52
Fadlan, M., Sinawati, S., Indriani, A., & Bintari, E. D. (2019). Pengamanan Data
Teks Melalui Perpaduan Algoritma Beaufort Dan Caesar Cipher. Jurnal
Teknik Informatika, 12(2), 149–158. https://doi.org/10.15408/jti.v12i2.12262
Ginting, N. F., & Ginting, M. (2017). Perbandingan Kriptografi RSA dengan
Base64. Jurnal Teknik Informatika Unika St. Thomas (JTIUST), 2(2), 47–52.
https://doi.org/https://doi.org/10.17605/jti.v2i2.190
Irawan, C., Hari Rachmawanto, E., Atika Sari, C., & Agus Sugianto, C. (2020).
Super Enkripsi File Dokumen Menggunakan Beaufort Cipher Dan
Transposisi Kolom. Seminar Nasional LPPM, 556–563.
Kurniawan, R. (2017). Rancang Bangun Aplikasi Pengaman Isi File Dokumen
Dengan Algoritma RSA. Jurnal Ilmu Komputer Dan Informatika, 1(1), 46–
52. https://doi.org/http://dx.doi.org/10.30829/algoritma.v1i01.1309
Muchlis, B. S., Budiman, M. A., & Rachmawati, D. (2017). Teknik Pemecahan
Kunci Algoritma Rivest Shamir Adleman (RSA) dengan Metode Kraitchik.
Jurnal & Penelitian Teknik Informatika, 2(2), 49–64.
http://jurnal.polgan.ac.id/index.php/sinkron/article/view/75
Naing, H. H., & Aye, Z. M. (2020). Innovation Security of Beaufort Cipher by
Stream Cipher Using Myanmar-Vigenere Table and Unicode Table. WCSE
2020: 2020 10th International Workshop on Computer Science and
Engineering, Wcse, 55–56. https://doi.org/10.18178/wcse.2020.02.009
Setiadi, D. R. I. M., Jatmoko, C., Rachmawanto, E. H., & Sari, C. A. (2018a).

80
81

Kombinasi Cipher Subtitusi (Beaufort Dan Vigenere) Pada Citra Digital.


Proceeding SENDI_U, 52–57.
https://www.unisbank.ac.id/ojs/index.php/sendi_u/article/view/5960
Setiadi, D. R. I. M., Jatmoko, C., Rachmawanto, E. H., & Sari, C. A. (2018b).
Kombinasi DCT dan Beaufort Chiper Untuk Peningkatan Keamanan Hak
Cipta Citra Digital. Jurnal Sains & Teknologi, 7(2), 188–197.
https://doi.org/https://doi.org/10.23887/jstundiksha.v7i2.13795
Soediro. (2018). Prinsip Keamanan, Privasi, dan Etika dalam Undang-undang
Informasi dan Transaksi Elektronik dalam Perspektif Hukum Islam. Kosmik
Hukum, 18(2), 95–112.
Subada, M. A. (2018). Analisis Perbandingan Algoritma Even-Rodeh Code dan
Algoritma Fibonacci Code Untuk Kompresi File Teks. Universitas Sumatera
Utara.
Sugiarto, E., Setiadi, D. R. I. M., Fahmi, A., Rachmawanto, E. H., Sari, C. A.,
Sarker, M. K., & Widjajanto, B. (2020). Securing Text Messages using the
Beaufort-Vigenere Hybrid Method. Journal of Physics: Conference Series,
1577(1). https://doi.org/10.1088/1742-6596/1577/1/012032
Suhandinata, S., Rizal, R. A., Wijaya, D. O., Warren, P., & Srinjiwi, S. (2019).
Analisis Performa Kriptografi Hybrid Algoritma Blowfish Dan Algoritma
RSA. JURTEKSI (Jurnal Teknologi Dan Sistem Informasi), 6(1), 1–10.
https://doi.org/10.33330/jurteksi.v6i1.395
Sutejo. (2021). Implementasi Algoritma Kriptografi RSA (Rivest Shamir
Adleman) Untuk Keamanan Data Rekam Medis Pasien. INTECOMS:
Journal of Information Technology and Computer Science, 4(1), 104–114.
https://doi.org/10.31539/intecoms.v4i1.2437

Anda mungkin juga menyukai