Implementasi Algoritma Kunci Matriks Untuk Keamanan Data File Teks Menggunakan Borland Delphi
Joko Soebagyo 1 , Imay Kurniawan 2
1,2 Jurusan Teknik Informatika , Sekolah Tinggi Teknologi Wastukancana Purwakarta Jl. Cikopak 53, Sadang, Purwakarta, Jawa Barat
1 joko@stt-wastukancana.ac.id
2 imaykurniawan@stt-wastukancana.ac.id
Abstrak— Penelitian ini bertujuan untuk menerapkan algoritma kunci matriks berordo 3×3 untuk keamanan data file teks yang merupakan modifikasi dari Hill Chiper.  Gagasan dalam memodifikasi Hill Chiper dengan Delphi,  menjadi  tantangan  bagi  para  peneliti  terkait  efisiensi  waktu  enkripsi  dan  dekripsinya.  Metode perangembangan  perangkat  lunak  yang  digunakan  adalah  model  prototype  4  fase  dengan  siklus  lingkaran tidak berujung. Hasil dari penelitian adalah enkripsi dan dekripsi data file teks yang meliputi docx, pdf, dan pptx.  Berdasarkan  hasil  pengujian,  maka  dapat  disimpulkan  bahwa  implementasi  teknik  kriptografi menggunakan  algoritma  kunci  matriks  menggunakan  Delphi  untuk  pengamanan  data  file  teks  berhasil dilakukan, dengan durasi yang cukup efektif.
Kata-kata kunci — Kriptografi, Algoritma Kunci Matriks, Enkripsi, Dekripsi, Delphi

## I. PENDAHULUAN
Hill  cipher  merupakan  algoritma  enkripsi-dekripsi yang  menggunakan  matriks  transformasi.  Kekuatan Hill  Cipher  terletak  pada  kemamampuannya  untuk menyembunyikan  frekuensi  kemunculan  huruf  .  Ini berarti Hill Cipher cukup aman dari kriptanalis dengan analisis  frekuensi  huruf.  Semakin  besar  ukuran matriks  kunci  maka  semakin  menyembunyikan frekuensi  kemunculan  huruf.    Meskipun  demikian, Hill  Cipher  masih  dapat  diserang  dengan known- plaintext attack . Dengan mengetahui potongan berkas plainteks dan potongan berkas cipherteks maka invers matriks kunci dapat dipecahkan. Dalam penelitian ini akan  dibahas  implementasi  dan  pengujian  algoritma kunci  matriks  yang  merupakan  modifikasi  algoritma Hill Cipher.

## II. T INJAUAN PUSTAKA

## 2.1. Algoritma Kunci Matriks
Algoritma  kunci  matriks  merupakan  modifikasi  dari Hill  Cipher.  Algoritma  enkripsi  dapat  ditunjukan dengan persamaan 2.1.
𝐶 = 𝐾𝑃  𝑚𝑜𝑑 256 …………………………….2.1
Dimana 𝐶 merupakan  cipherteks  (data  yang disandikan),  hasil  dari  pengubahan data  asli  menjadi data  yang  sudah  disandikan  dengan  menggunakan matriks kunci 𝐾 .  Sedangkan algoritma dekripsi dapat ditunjukan dengan persamaan 2.2.
𝑃 = 𝐾 −1 𝐶 𝑚𝑜𝑑 256 ……………………………2.2
Dimana 𝑃 merupakan plainteks (data asli), hasil dari pengubahan data cipherteks menjadi data asli dengan menggunakan invers matriks kunci 𝐾 .

## 2.2. Borland Delphi
Dengan  delphi  kita  dapat  mengembangkan  aplikasi berbentuk  GUI,  umumnya  Delphi  lebih  banyak digunakan untuk pengembangan aplikasi desktop dan enterprise berbasis database ,  tapi  sebagai  perangkat pengembangan yang bersifat general-purpose ia juga mampu  dan  digunakan  dalam  berbagai  jenis  proyek pengembangan software . Bahan pertimbangan menggunakan Delphi karena penelitian ini membutuhkan eksekusi yang cepat untuk mengamankan data file teks dimana  ukuran data file teks berbeda-beda ada yang kecil maupun yang besar, hal  ini  dapat  dilakukan  oleh  Delphi  salah  satu kelebihan Delphi optimasi compiler sangat cepat.

## III. Metode 3.1 Metode Pengembangan Perangkat Lunak
Pada  metode  pengembangan  perangkat  lunak, digunakan Model Prototype. Dengan Model Prototype ini  pengembang  dan  pengguna  dapat  saling berinteraksi selama proses pembuatan sistem. Model ini sangat cocok untuk ruang  lingkup perangkat lunak yang  kecil  dan  memiliki  waktu  singkat  untuk pembuatannya.    Gambar  Prototype  dapat  ditunjukan pada Gambar 3.1.

## Gambar 3.1 Prototype
( Sumber : R. S Pressman, 2010)
Model Prototype tersebut terdiri dari fase-fase sebagai berikut:
1.  C ommunication ,  pada  fase  ini  dilakukan  diskusi dengan pengguna untuk memahami prosedur yang sedang berjalan, kelemahan prosedur yang berjalan dan solusi yang dapat digunakan untuk menyelesaikan masalah. 2 .  Quick Plan & Quick Design , pada fase ini dibuat perencanaan dan desain dari perangkat lunak yang akan  dikembangkan  berdasarkan  hasil  dari  fase pertama.  Ciri  khas  dari  Model  Prototype  adalah proses perencanaan dan desain yang cepat, karena pada  model  ini  pengembangan  aplikasi  berfokus untuk  menyajikan  perangkat  lunak  secepat mungkin kepada pengguna.
3 .  Construction  of  Prototype, pada  fase  ini  desain yang  telah  dibuat  akan  direalisasikan  menjadi sebuah perangkat lunak.
4 .  Deployment,  Delivery  &  Feedback ,  pada  fase  ini perangkat lunak yang telah dibuat akan dipresentasikan kepada pengguna untuk dilakukan uji  coba  dan  diskusi  kembali  bila  terdapat kekurangan dalam perangkat lunak tersebut.
Model  Pro t otype  digambarkan  sebagai  siklus lingkaran yang tidak berujung, sehingga bila pada fase Deployment, Delivery & Feedback ditemukan adanya ketidaksesuaian  atau  fungsi-fungsi  yang  tidak
berjalan,  maka  proses  pengembangan  dapat  kembali ke  fase  pertama  untuk  menganalisa  kekurangan  - kekurangan yang ada.

## 3.2 Proses Enkripsi dan Dekripsi Algoritma Kunci Matriks
Proses  enkripsi  merupakan  proses  mengubah  data plainteks  menjadi  data  cipherteks.  Proses  enkripsi algoritma  kunci  matriks  menggunakan  perkalian matrik.
𝐶 = 𝐾 ∗ 𝑃 𝑚𝑜𝑑 256 𝐾 = | 𝑘1 𝑘2 𝑘3
𝑘4 𝑘5 𝑘6 𝑘7 𝑘8 𝑘9 | 𝐾 merupakan matriks kunci. 𝑃 = | 𝑝1 𝑝2 𝑝3 | 𝑃 merupakan data plainteks.
𝐶 = | 𝑘1 𝑘2 𝑘3 𝑘4 𝑘5 𝑘6 𝑘7 𝑘8 𝑘9 | ∗   | 𝑝1 𝑝2 𝑝3 |
𝐶 merupakan data cipherteks.
Contoh proses enkripsi : Diketahui data plainteks “Sistem”, matriks kunci
|
1 1 0 1 2 1
1 3 3 |
Kelompokan plainteks menjadi dua blok.
| 𝑝1 𝑝2 𝑝3 | = | 𝑆 𝑖 𝑠 | dan | 𝑝1 𝑝2 𝑝3 | = | 𝑡 𝑒 𝑚 |
Kemudian konversi plainteks ke ascii desimal.
| 𝑝1 𝑝2 𝑝3 | = | 𝑆 𝑖 𝑠 | = | 83 105 115 | | 𝑝1 𝑝2 𝑝3 | = | 𝑡 𝑒 𝑚 | = | 116 101 109 |
𝐶 1 = | 1 1 0 1 2 1 1 3 3 | ∗   | 83 105 115 | =   | 188 408 115 | mod 256= | 188 152 231 |
𝐶 2 = | 1 1 0 1 2 1 1 3 3 | ∗   | 116 101 109 | =   | 217 427 746 | mod 256= | 217 171 234 |
Gabungkan 𝐶 1 dan 𝐶 2 .
𝐶 = 188 152 231 217 171 234 Konversi cipherteks ke ascii karakter 𝐶 = ¼˜çÙ«ê Dengan demikian enkripsi plainteks “Sistem” menjadi bentuk cipherteks “¼˜çÙ«ê”
Proses  dekripsi  merupakan  proses  mengubah  data cipherteks  menjadi  data  plainteks.  Proses  dekripsi algoritma  kunci  matriks  menggunakan  perkalian matriks.
𝑃 = 𝐾 −1 ∗  𝐶 𝑚𝑜𝑑 256
𝐾 −1 merupakan invers matriks kunci.
𝐶 = | 𝐶1 𝐶2 𝐶3 |
𝐶 merupakan data cipherteks.
𝑃 = 𝐾 −1 ∗   | 𝑝1 𝑝2 𝑝3 |
𝑃 merupakan data plainteks.
Contoh proses dekripsi : Diketahui  data  cipherteks  “¼˜çÙ«ê”,  invers  matriks
kunci |
3 −3 1 −2 3 −1 1 −2 1 |
Kelompokan  data  cipherteks  menjadi  dua  blok  dan konversi ke dalam bentuk ascii decimal.
| 𝑐1 𝑐2 𝑐3 | = | 188 152 231 | dan | 𝑐4 𝑐5 𝑐6 | = | 217 171 234 |
𝑃 1 = | 3 −3 1 −2 3 −1 1 −2 1 | ∗   | 188 152 231 | =   | 339 −151 115 | mod 256= | 83 105 115 | 𝑃 2 = | 3 −3 1 −2 3 −1 1 −2 1 | ∗   | 217 171 234 | =   | 372 −155 109 | mod
256= | 116 101 109 |
Gabungkan 𝑃 1 dan 𝑃 2 . 𝑃 = 83 105 115 116 101 109 Konversi plainteks ke dalam bentuk ascii karakter. 𝑃 = Sistem
Dengan  dengan  hasil  proses  dekripsi  cipherteks ““¼˜çÙ«ê” menjadi bentuk plainteks “Sistem”.

## IV. Pembahasan

## 4.1 Implementasi
Perangkat  lunak  keamanan  data  file  teks  dibangun dengan  menggunakan  algoritma  kunci  matriks  dan bahasa  pemrograman  Borland  Delphi.  Perangkat lunak dibagi dalam tiga  bagian yaitu interface  menu, interface proses enkripsi, dan proses dekripsi. File teks yang akan diuji adalah file dengan ekstensi docx,pptx, dan xlsx.
1. Interface Menu
Gambar 4. 1. Interface Menu
Untuk  melakukan proses enkripsi klik tombol proses enkripsi  dan  untuk  melakukan  proses  dekripsi  klik tombol proses dekripsi.
2. Interface Proses Enkripsi
Gambar 4. 2. Interface Proses Enkripsi
Tahapan  untuk  melakukan  proses  enkripsi,  pertama pilih  file  yang  akan  dienkripsi  dengan  mengkilk tombol  open  file  selanjutnya  klik  tombol  enkripsi untuk  memperoleh  hasl  enkripsi.  Hasil  file  enkripsi dapat disimpan dengan mengklik tombol save.
3. Interface Proses Dekripsi
Gambar 4. 3. Interface Proses Dekripsi
Tahapan  untuk  melakukan  proses  dekripsi,  pertama pilih  file  yang  akan  didekripsi  dengan  mengkilk tombol  open  file  enkripsi  selanjutnya  klik  tombol dekripsi  untuk  memperoleh  hasl  dekripsi.  Hasil  file enkripsi dapat disimpan dengan mengklik tombol save dekripsi.

## 4.2. Pengujian
Fle yang akan diuji ada 8 file terdiri dari 3 file docx, 3 file  pdf  ,  dan  3  file  pptx.  Hasil  pengujian  dapat ditunjukan pada Tabel 4.1 dan Tabel 4.2.
Tabel 4.1 Hasil Pengujian Proses Enkripsi No Nama File Sumber Ukuran File Durasi Proses Enkripsi Nama File Enkripsi 1. Revisi Sidang2 8.34 MB (8,755,868 bytes) 1 detik cipherteks1 2. STT- SKRIPSI 2.58 MB (2,715,244 bytes) 0,5 detik Cipherteks2 3. Rancang bagun bahasa Turki5 1.52 MB (1,596,853 bytes) 0,3 detik Cipherteks3 4. pdf1 1.39 MB (1,463,906 bytes) 0,1 detik Cipherteks4 5. pdf2 1.88 MB (1,979,253 bytes) 0,4 detik cipherteks5 6. pdf3 2.55 MB (2,682,134 bytes) 0,5 detik cipherteks6 7. DAA-III- Brute- Force 1.58 MB (1,662,392 bytes) 0,3 detik cipherteks7 8. modul kuliah orkom 4.03 MB (4,229,632 bytes) 0,7 detik cipherteks8
Tabel 4.2 Hasil Pengujian Proses Dekripsi No Nama File Enkripsi Ukuran File Durasi Proses Enkripsi Nama File Dekripsi 1. cipherteks1 8.34 MB (8,755,868 bytes) 1 detik plainteks1 2. cipherteks2 2.58 MB (2,715,244 bytes) 0,5 detik plainteks2 3. cipherteks3 1.52 MB (1,596,853 bytes) 0,3 detik lainteks3 4. cipherteks4 1.39 MB (1,463,906 bytes) 0,1 detik plainteks4 5. cipherteks5 1.88 MB (1,979,253 bytes) 0,4 detik plainteks5 6. cipherteks6 2.55 MB (2,682,134 bytes) 0,5 detik plainteks6 7. cipherteks7 1.58 MB (1,662,392 bytes) 0,3 detik plainteks7 8. cipherteks8 4.03 MB (4,229,632 bytes) 0,7 detik plainteks8
Dari hasil pengujian proses enkripsi dan dekripsi dapat ditunjukan bahwa file dekripsi dapat dikembalikan ke file data asli.

## V. Kesimpulan dan  Saran
5.1.  Kesimpulan
Dari hasil penelitian dapat disimpulkan sebagai berikut :
1. Perangkat  lunak  keamanan  data  file  teks menggunakan  algoritma  kunci  matriks  dapat diterapkan untuk mengamankan file teks ekstensi docx,pdf,  dan  pptx  dengan  durasi  waktu  yang cukup efektif.
2. Cipherteks hasil enkripsi algoritma kunci matriks sangat sulit dipecahkan dengan hanya mengetahui berkas potongan cipherteks. Namun dapat dengan mudah  dipecahkan  jika  diketahui  potongan plainteks dan potongan cipherteks.

## 5.2.  Saran
Untuk  pengembangan  penelitian  algoritma  kunci matriks perlu dikombinasi dengan algoritma kriptografi  yang  lain  untuk  mengantisipasi  jika diketahui potongan plainteks dan cipherteks.

## Daftar Pustaka
[1]  A.  Edelman  and  G.  Strang,  “Pascal  matrices,” Am.  Math.  Mon. ,  vol.  111,  no.  3,  pp.  189–197,
2004.
[2]   Abdul  Kadir,  2004,  ”Dasar  Aplikasi  Database MySQL – Delphi”, Andi, Yogyakarta.
[3]    H.  Anton  and  C.  Rorres, Elementary  Linear Algebra ,  Ninth  edit.  John  Wiley  &  Sons,  Inc., 2010.
[4]    Munir  Rinaldi,  2019,  Kriptografi,  Informatika, Bandung.
[5]    Pardede, A. M. H. (2017).  Algoritma Vigenere Cipher  Dan  Hill  Cipher  Dalam  Aplikasi Keamanan  Data  Pada  File  Dokumen. Jurnal Teknik Informatika Kaputama (JTIK) , 1 (1), 26– 33 (Vol, 2008)
[6]    Prabowo, H. E. and Hangga, A. (2015) ‘Enkripsi Data  Berupa  Teks  Menggunakan  Metode Modifikasi Vigenere Cipher’, Seminar Nasional
Aplikasi Teknologi Informasi (SNATi) , pp. 1–4.
[7]    Pressman,  Roger  S.  2010.  Rekayasa  Perangkat Lunak. Yogyakarta: Andi
[8]   Zarlis,  M.  (2017)  ‘Implementasi  Algoritma Vigenere  Subtitusi dengan Shift Indeks Prima’, Universitas Sumatera Utara , pp. 149–154.