MAHYUDI
0701162010
Mahyudi
DAFTAR ISI
Gambar 4.3 Potongan Sampel Data (a) Karakter (b) Nilai Desimal....................41
Gambar 4.18 Hasil Kunci Algoritma RSA (a) Kunci Publik (b) Kunci Privat....64
ين َآمنُوا اَل تَ ْد ُخلُوا بُيُوتًا َغْيَر بُيُوتِ ُك ْم َحىَّت تَ ْستَْأنِ ُسوا َوتُ َسلِّ ُموا َعلَى ِ َّ
َ يَا َأيُّ َها الذ
َْأهلِ َها َذلِ ُك ْم َخْيٌر لَّ ُك ْم لَ َعلَّ ُك ْم تَ َذ َّك ُرو َن
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 :
أن رسول اهلل صلى اهلل عليه و: عن حممد بن كعب القرظي حدثين عبد اهلل
سلم قال ” ال تسرتوا اجلدر من نظر يف كتاب أخيه بغري إذنه فإمنا ينظر يف
النار سلوا اهلل ] عزوجل [ ببطون أكفكم وال تسألوه بظهورها فإذا فرغتم
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
Gambar 2.1 Gambaran Umum Proses Enkripsi dan Dekripsi (Setiadi et al.,
2018b)
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)
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
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
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. 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
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
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).
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
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
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
.
5. Permulaan/akhir program
9. Proses input/output
BAB III
METODE PENELITIAN
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.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
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
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
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.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.
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
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.
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.
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.
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.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
42
43
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.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
Plaintext ( M i) k r i p t o g r a f i
46
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)¿
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.
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
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.
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
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
)
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
)
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
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.
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
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.
informasi pada file teks dapat terjaga karena tidak memperlihatkan korelasi antara
plaintext dengan ciphertext.
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
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
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
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