Implementasi Algoritma Fast Encryption Algorithm (FEAL) Dan Algoritma Fibonacci Mengamankan File Teks
Rizkah Fadillah, Agita Sari Idris, Dameria Marlina lumban Gaol, Gebi Lubis, Reski Meisisri, Muhammad Syahrizal*
Ilmu Komputer & Teknologi Informasi, Teknik Informatika, Universitas Budi Darma, Medan, Indonesia
Email: [email protected] , [email protected] , [email protected] , [email protected] , [email protected], [email protected]
Email Penulis Korespondensi: [email protected] Abstrak
Dengan Kemajuan Teknologi Komputer saat ini, mencuri data orang lain sangatlah mudah, bukan hanya itu pihak ketiga bisa menggunakan data tersebut tanpa sepengetahuan pemilik, oleh sebab itu sangatlah perlu mengamankan informasi data agar terhindar dari pencurian data oleh pihak lain. Maka solusi menjaga keamanan data dan menghindari hal tersebut, diperlukan sebuah Sistem Keamanan dengan teknik kriptografi. Yang harus dilakukan agar data informasi aman adalah mengenkripsi dan mendeskripsikan file teks dengan menerapkan Algoritma FEAL. Selain itu, artikel ini juga menerapkan Algoritma Fibonacci Code dimana pengiriman pesan yang telah dikecilkan ukurannya (kompres) harus sama dengan sebelumnya dikenal dengan istilah teknik lossless. Pada proses enkripsi dengan menerapkan Algoritma FEAL dan Algoritma Fibonacci menghasilkan pengamanan yang baik pada file teks, sehingga hasil akhir yang disebut ciphertext akan lebih sulit untuk dipecahkan dan ukurannya pun lebih kecil. Dengan melakukan kripto-kompres penyandian tersebut memiliki kesulitan lebih dibanding hanya menggunakan satu metode kripto saja. Hasil krifto-kompres adalah ½Œæ°øÍ7— .
Kata Kunci: Kiptografi, Kompresi, FEAL, Fibonacci, File Teks
1.
PENDAHULUAN
Data merupakan suatu benda, manusia, kejadian peristiwa atau sejenisnya yang menjadi sumber penting bagi perusahaan atau instansi lainnya yang disajikan dalam berbagai bentuk, diproses atau diolah dan membuatnya menjadi berarti sehingga terbentuk sebuah informasi. Data merupakan hal penting yang dimiliki oleh hampir semua orang, dan organisasi atau perusahaan-perusahaan. Pengamanan data teks (data dalam bentuk file teks atau dokumen) adalah hal yang penting untuk dilakukan agar informasi seseorang atau suatu organisasi atau perusahaan yang penting tersebut tidak akan bisa dipergunakan oleh orang lain yang tidak berhak atau disalah gunakan. Dengan berkembangnya teknologi dan akses internet juga sangatlah mudah, sehingga memudahkan pihak lain mencuri data kita dan itu dapat merugikan dan bahkan berakibat fatal jika dipergunakan tidak semestinya. Untuk menghindari hal tersebut, maka diperlukan mengamankan data dengan kriptografi.
Untuk mengoptimalkan pengamanan data teks yang telah dienkripsi dengan algoritma FEAL, maka penelitian ini akan dikompres juga menggunakan algoritma Fibonacci, sehingga bukan hanya berupa sandi-sandi akan tetapi ukurannya pun menjadi lebih kecil dari sebelumnya. Adapun penelitian sebelumnya terkait Kriptografi dengan Algoritma FEAL dan Kompresi Algoritma Fibonacci ialah penelitian oleh Sri Nofrida Siregar pada tahun 2020 tentang penggunaan Algoritma FEAL dan RSA Pada Aplikasi Android dalam mengamankan Pesan Teks [1].
Penelitian kedua oleh Saraswati Yoga Andriani pada tahun 2018 dengan judul Implementasi Algoritma Kriptografi Rail Fence Cipher Dan Algoritma Myszkowski Transposition Dan Algoritma Kompresi Fibonacci Code[2].
Penelitian selanjutnya dilakukan oleh Aktualitas Gulo pada tahun 2019 dengan judul Implementasi Algoritma Kriptogafi Rabin Dan Fibonacci Codes Dalam Pengamanan Dan Kompresi File Citra[3]. Penelitian terakhir dilakukan oleh Semua Triharjadi dkk dimana membahas penerapan Metoda Enkripsi Simetri Dengan Algoritma Feal dalam mengamankan data[4].
Hal yang dilakukan dalam artikel ini adalah menyandikan teks dengan menerapkan algoritma FEAL dengan proses enkripsi, hasil enkripsi akan dikompres menggunakan Fibonacci Codes. Hasil dari penerapan kedua algoritma tersebut akan menjadi keluaran teks yang telah tersandi sehingga sangat sulit bagi pihak lain mengetahui isi teks tersebut.
2. METODOLOGI PENELITIAN
2.1 Tahapan Penelitian
Rangkaian kegiatan atau proses yang akan diterapkan dalam sebuah penelitian disebut sebagai metodologi penelitian. Agar tahapan yang dilakukan penulis tidak melenceng dari materi pembelajaran dalam perancangan
dan lebih mudah dimengerti dan dipahami. Berikut bagan tahapan penelitian yang akan diterapkan dalam penelitian:
Gambar 1. Tahapan Penelitian 2.2 Kriptografi
Kriptografi merupakan seni yang dapat menghasilkan pesan rahasia. Ada dua proses dalam kriptografi diantaranya proses enkripsi dan dekripsi. Plaintext atau pesan asli yang dikodekan ke bentuk enkripsi dalam bentuk ciphertext disebut proses enkripsi. Proses dekripsi merupakan sebuah ciphertext atau pesan yang telah disandikan kemudian dipulihkan kembali menjadi plaintext. Kriptografi memiliki berbagai macam algoritma yang telah banyak digunakan sebagai pengamanan suatu informasi. Ada dua jenis pengelompokan Algoritma kriptografi, yaitu algoritma kriptografi modern dan algoritma kriptografi klasik. Algoritma kriptografi klasik bekerja menggunakan mode karakter dalam pengoprasiannya sedangkan pengoprasian algoritma kriptografi modern menggunakan mode bit[5].
2.3 Fast Encryption Algorithm (FEAL)
Fast Encryption Algorithm (FEAL) merupakan cipher blok enkripsi tipe simetris. Panjang blok yang dimiliki algoritma FEAL ada 64 bit, 64 bit panjang kuncinya, dan ada 8 putaran iterasi. Dalam pengenkripsi, algoritma FEAL, kotak plaintext akan dicek oleh program terlebih dahulu apakah ada atau tidaknya teks didalam sehingga akan menjadi inputan proses enkripsi, pesan peringatan akan ditampilkan jika teks tersebut belum dimasukkan dan program berhenti. Pada proses enkripsi, jumlah karakter dari plaintext tersebut akan diperiksa, Angka “0” akan ditambahkan sebanyak jumlah karakter yang harus ditambahkan jika plaintext bukan kelipatan blok 64 bit sehingga angka tersebut akan menjadi kelipatan 64 bit yang dikurangi satu, dan karakter yang terakhir merupakan nilai dari jumlah karakter yang telah ditambahkan[1].
𝐶𝑖 = (𝑃𝑖 + 𝐾) Ket:
Ci : Ciphertext merupakan pesan yang disandikan, dimana i ={1,2,3,4,….n}
Pi : Plaintext adalah pesan asli, dengan i ={1,2,3,4,…n}
K : Kunci parameter untuk transformasi enchipering 2.4 Kompresi
Proses mengubah data awal (asli) menjadi aliran data lain dengan format berbeda berukuran lebih kecil atau proses mengubah sekelompok data ke bentuk kode yang bertujuan untuk menghemat ruang penyimpanan disebut Kompresi data. Data yang telah dikecilkan dan diubah dapat dikembalikan ke data awal. Ada dua jenis teknik kompresi, yaitu kompresi lossy dan kompresi lossless. Kompresi Lossy merupakan pengkompresian data dimana data yang telah terkompres tidak dapat sepenuhnya dikembalikan ke bentuk awal (asli) saat proses dkomprsi, Sedangkan kompresi lossless adalah mengkompresi data dan mengembalikannya ke bentuk semula tanpa menghilangkan informasi yang ada didalam data tersebut [6].
2.5 Fibonacci Codes
Seorang matematikawan Italia bernama Leonardo Pisano Fibonacci yang lahir sekitar tahun 1170 dan meninggal sekitar tahun 1250 di Pisa, Italia. Ia dianggap sebagai matematikawan terbesar Abad Pertengahan, perannya sangat penting dalam menghidupkan kembali matematika kuno. Liber Abacia adalah bukunya dimana didalam buku tersbut dia memperkenalkan Eropa pada notasi Hindu-Arab untuk angka. Kode Fibonacci adalah kode length variabel, yang akan mendapatkan kode pendek jika bilangan bulatnya lebih kecil. Kode diakhiri dengan dua bit angka satu atau membubuhkan angka “1” di kanan dari Fibonacci codes sementara dan untuk bit yang ditentukan diperoleh dari jumlah nilai fibonacci yang telah disesuaikan (tidak termasuk bit terakhir) merupakan proses akhir atau encoding, Sedangkan menghilangkan angka “1” bagian kanan fibonacci codes tersebut merupakan proses decoding [7][8].
3. ANALISA DAN PEMBAHASAN
Sebelum melakukan proses penerapan metode atau algoritma dalam penyelesaian masalah, hal yang petama dilakukan ialah menganalisa sehingga bisa diuraikan permasalahan endskripsi, mengurangi ukuran dan dekripsi data teks hingga ke bentuk semula.
Langkah penyelesaiannya : 1. Penerapan Algoritma FEAL
Pesan : Diam Lebih Baik Kunci : 6
C1 =(𝑃1 + 𝐾)𝑀𝑜𝑑 256
=(𝐷 + 6)𝑀𝑜𝑑 256
=(68 + 6)𝑀𝑜𝑑 256 =74 𝑀𝑜𝑑 256 =74
=J
C2 =(𝑃2 + 𝐾)𝑀𝑜𝑑 256
=(𝑖 + 6)𝑀𝑜𝑑 256
=(105 + 6)𝑀𝑜𝑑 256 =111 𝑀𝑜𝑑 256
=111
C3 =o =(𝑃3 + 𝐾)𝑀𝑜𝑑 256
=(𝑎 + 6)𝑀𝑜𝑑 256
=(97 + 6)𝑀𝑜𝑑 256 =103 𝑀𝑜𝑑 256
=111
=g
C4 =(𝑃4 + 𝐾)𝑀𝑜𝑑 256
=(𝑚 + 6)𝑀𝑜𝑑 256
=(109 + 6)𝑀𝑜𝑑 256 =115 𝑀𝑜𝑑 256
=115
=s
C5 =(𝑃5 + 𝐾)𝑀𝑜𝑑 256
=(𝑆𝑝𝑎𝑐𝑒 + 6)𝑀𝑜𝑑 256
=(32 + 6)𝑀𝑜𝑑 256 =38 𝑀𝑜𝑑 256
=38
=&
C6 =(𝑃6 + 𝐾)𝑀𝑜𝑑 256
=(𝐿 + 6)𝑀𝑜𝑑 256
=(76 + 6)𝑀𝑜𝑑 256 =82 𝑀𝑜𝑑 256
=82
=R
=(𝑒 + 6)𝑀𝑜𝑑 256
=(101 + 6)𝑀𝑜𝑑 256 =107 𝑀𝑜𝑑 256
=107
=k
C8 =(𝑃8 + 𝐾)𝑀𝑜𝑑 256
=(𝑏 + 6)𝑀𝑜𝑑 256
=(98 + 6) 𝑀𝑜𝑑 256 =104 𝑀𝑜𝑑 256
=104
=h
C9 =(𝑃9 + 𝐾)𝑀𝑜𝑑 256
=(𝑖 + 6)𝑀𝑜𝑑 256
=(105 + 6) 𝑀𝑜𝑑 256 =111 𝑀𝑜𝑑 256
=111
=o
C10 =(𝑃10 + 𝐾)𝑀𝑜𝑑 256
=(ℎ + 6)𝑀𝑜𝑑 256
=(104 + 6) 𝑀𝑜𝑑 256 =110 𝑀𝑜𝑑 256
=110
=n
C11 =(𝑃11 + 𝐾)𝑀𝑜𝑑 256
=(𝑆𝑝𝑎𝑐𝑒 + 6)𝑀𝑜𝑑 256
=(32 + 6)𝑀𝑜𝑑 256 =38 𝑀𝑜𝑑 256
=38
=&
C12 =(𝑃12 + 𝐾)𝑀𝑜𝑑 256
=(𝐵 + 6)𝑀𝑜𝑑 256
=(66 + 6)𝑀𝑜𝑑 256 =72 𝑀𝑜𝑑 256
=72
=H
C13 =(𝑃13 + 𝐾)𝑀𝑜𝑑 256
=(𝑎 + 6)𝑀𝑜𝑑 256
=(97 + 6)𝑀𝑜𝑑 256 =103 𝑀𝑜𝑑 256
=111
=g
C14 =(𝑃14 + 𝐾)𝑀𝑜𝑑 256
=(𝑖 + 6)𝑀𝑜𝑑 256
=(105 + 6) 𝑀𝑜𝑑 256 =111 𝑀𝑜𝑑 256
=111
=o
C15 =(𝑃15 + 𝐾)𝑀𝑜𝑑 256
=(𝑘 + 6)𝑀𝑜𝑑 256
=(107 + 6) 𝑀𝑜𝑑 256 =113 𝑀𝑜𝑑 256
=111
=q
Ciphertext : Jogs&Rkhon&Hgoq 2. Penerapan Algoritma Fibonacci
Berikut tabel distribusi menghitung frekuensi dari penerapan algoritma FEAL Ciphertext diatas.
Tabel 1. Distribusi frekuensi
Karakter Frekuensi Biner Bit Frek x Bit
o 3 01101111 8 24
g 2 01100111 8 16
& 2 00100110 8 16
J 1 01001010 8 8
s 1 01110011 8 8
R 1 01010010 8 8
k 1 01101011 8 8
h 1 01101000 8 8
n 1 01101110 8 8
H 1 01001000 8 8
q 1 01110001 8 8
TOTAL 120
Proses Encoding
Tabel 2. Codeword Fibonacci N Karakter Frek Penguranga
n nilai n
Kode Fibonacci
Sementara Codeword Bit Frek x Bit
1 o 3 1-1 1 11 2 6
2 g 2 2-2 01 011 3 6
3 & 2 3-3 001 0011 4 8
4 J 1 4-3-1 101 1011 4 4
5 s 1 5-5 0001 00011 5 5
6 R 1 6-5-1 1001 10011 5 5
7 k 1 7-5-2 0101 01011 5 5
8 h 1 8-8 00001 000011 6 6
9 n 1 9-8-1 10001 100011 6 6
10 H 1 10-8-2 01001 010011 6 6
11 q 1 11-8-3 00101 001011 6 6
Total 63
J o g s & R
1011 11 011 00011 0011 10011
k h o n &
01011 000011 11 100011 0011
H g o q
010011 011 11 001011
String Bit
String bit yang dihasilkan dari codeword sebelumnya adalah :
“101111011000110011100110101100001111100011001101001101111001011” Dengan total 63 Bit.
Selanjunya, strig bit dibagi per 8 bit, Karena tidak habis dibagi maka bisa menggunakan mod.
63 Mod 8 = 7, Sisa tersebut dinyatakan dengan simbil N N = 7.
𝑃𝑎𝑑𝑑𝑖𝑛𝑔 = 7 − 𝑁 + "1" 𝐹𝑙𝑎𝑔𝑔𝑖𝑛𝑔 = 9 − 𝑁 𝑃𝑎𝑑𝑑𝑖𝑛𝑔 = 7 − 7 + "1" 𝐹𝑙𝑎𝑔𝑔𝑖𝑛𝑔 = 9 − 7 𝑃𝑎𝑑𝑑𝑖𝑛𝑔 = 0 (𝐽𝑢𝑚𝑙𝑎ℎ 0) + "1" 𝐹𝑙𝑎𝑔𝑔𝑖𝑛𝑔 = 2 , biner dari 2
𝑃𝑎𝑑𝑑𝑖𝑛𝑔 = 1 𝐹𝑙𝑎𝑔𝑔𝑖𝑛𝑔 = 00000010
Maka dapat ditambahkan Padding dan Flagging di akhir string bit :
“101111011000110011100110101100001111100011001101001101111001011100000010”
10111101 10001100 11100110 10110000 11111000 11001101 00110111 10010111 00000010 Ubah kedalam bentuk Karakter :
10111101 = 189 = ½ 10001100 = 140 = Œ 11100110 = 230 = æ 10110000 = 176 = ° 11111000 = 248 = ø 11001101 = 205 = Í 00110111 = 55 = 7 10010111 = 151 = — 00000010 = 2
Hasil Kompresi : ½Œæ°øÍ7—.
4.
KESIMPULAN
Kesimpulan dari artikel penlitian ini setelah dilakukan analisa dan implementasi kedua topik pembahasan (kriptografi dan kompresi), bahwa Teks yang diamankan menggunakan dua tahap metode kriptografi Fast Encryption Algorithm (FEAL) dan kompresi Fibonacci. Proses enkripsi dilakukan dengan mengenkrip plainteks menggunakan metode FEAL di awal, kemudian diencoding menggunakan algoritma Fibonacci code sehingga menghasilkan keluaran dari bentuk plainteks “½Œæ°øÍ7— “ yang terkompres. Hasil dari kedua proses tersebut membentuk sebuah sandi yang rumit dan kecil kemungkinan pihak ketiga mengetahui data aslinya. Artikel ini hanya mengenkrip dan encoding teks.
REFERENCE
[1] S. N. Siregar, “Pengamanan Pesan Teks Menggunakan Algoritma FEAL dan RSA Pada Aplikasi Android,” vol. 1, no. 4, pp.
328–336, 2020.
[2] U. S. Utara, “Universitas Sumatera Utara,” 2019.
[3] U. S. Utara, “Universitas Sumatera Utara,” 2018.
[4] S. Tjiharjadi and M. C. Wijaya, “PENGAMANAN DATA MENGGUNAKAN METODA ENKRIPSI SIMETRI DENGAN ALGORITMA FEAL,” vol. 2009, no. Snati, 2009.
[5] U. P. Utama, “RANCANG BANGUN APLIKASI KRIPTOGRAFI PADA TEKS MENGGUNAKAN METODE REVERSE CHIPER,”
vol. 3, no. 2, pp. 29–37, 2019.
[6] S. M. Panjaitan, S. D. Nasution, and B. Purba, “Penerapan Algoritma Gopala-Hemachandra Code2 ( GH-2 ( n )) Pada Kompresi File Audio,” vol. 4, pp. 170–177, 2020, doi: 10.30865/komik.v4i1.2676.
[7] B. Ramadhana, “Implementasi Kombinasi Algoritma Fibonacci Codes Dan Levenstein Codes Untuk Kompresi File Pdf,”
vol. 8, no. 2, pp. 67–71, 2021.
[8] D. Anggraini, “Penerapan Algoritma Fibonacci Code Pada File Transfer Berbasis Android,” J. Informatics Manag. Inf.
Technol., vol. 1, no. 3, pp. 91–94, 2021, [Online]. Available: http://hostjournals.com/jimat/article/view/109.