Email : fibonacci@umj.ac.id

## PENGGUNAAN INVERS MATRIKS DALAM MODIFIKASI FEISTEL CIPHER
Sisilia Sylviani 1)* , Fahmi Candra Permana 2) , Asep Singgih 1) , Nurendra Ari Wiguna 1) 1) Departemen Matematika, FMIPA, Universitas Padjadjaran, Jl. Ir. Soekarno Km. 21, Jatinangor, Sumedang 45363
2) Prodi Pendidikan Multimedia, Universitas Pendidikan Indonesia, Bandung
* sisilia.sylviani@unpad.ac.id

## Abstrak
Umumnya,  pada  algoritma  kriptografi  modern  sistem  yang  digunakan  adalah  sistem  bit. Namun,  hal  tersebut  membuat  cipherteks  semakin  sulit  untuk  dipecahkan.  Saat  ini,  Feistel cipher  merupakan  salah  satu  algoritma  kriptografi  modern  yang  banyak  digunakan  karena proses  pengimplementasiannya  yang  cukup  sederhana.  Kelebihan  lainnya  adalah  bahwa algoritma  tersebut  merupakan  salah  satu  bentuk  dari  cipherblok  yang  dibentuk  dengan menggunakan  struktur  yang  simetris  serta  hingga  saat  ini  masih  sulit  untuk  dipecahkan. Adanya  modifikasi  pada  feistel  cipher  ini  bertujuan  untuk  meningkatkan  keamanan  dalam proses  penyampaian  pesan.  Dengan  modifikasi  feistel  cipher,  pesan  yang  dikirimkan  ke penerima  akan  sangat  sulit  dipecahkan  karena  membutuhkan  waktu  yang  lama  dalam memecahkannya.
Kata Kunci: Kriptografi, Algoritma, Feistel Cipher, Cipherteks, Enkripsi, Dekrips i

## PENDAHULUAN
Kriptografi  adalah  suatu  ilmu  yang berfungsi  untuk  menjaga  keamanan  pesan ketika  pesan  dikirim  dari  sautu  tempat  ke tempat  lain.  Pesan  yang  akan  dikirim  atau diubah  terlebih  dahulu  kedalam  suatu kalimat  atau  kode  rahasia  sebelum  dikirim yang  disebut  dengan  ciphertext.  Setelah sampai ke penerima, cipherteks akan diubah kembali  menjadi  pesan  aslinya.  Proses mengubah  plaintext  atau  pesan  sebenarnya ke  ciphertext  disebut  enkripsi,  dan  proses
mengubah  ciphertext  menjadi  plaintext disebut  dekripsi.  Algortima  kriptografi  ini ada  yang  simetris  dan  asimetris.  Disebut simetris karena kunci yang digunakan untuk mengenkripsi dan mendekripsi pesan nilainya sama, sedangkan algoritma asimetris  kunci  enkripsi  dan  dekripsi nilainya  berbeda.  Pada  kategori  kunci simetri modern beroperasi dalam sistem bit dan  dapat  dikelompokkan  menjadi  2 kategori  yaitu  cipher  aliran  (stream  cipher) dan  cipher  blok  (block  cipher).  Hampir
Volume 8 No. 2 Bulan Desember  Tahun 2022
semua algoritma cipher blok bekerja dengan prinsip  model  Feistel  atau  Feistel  cipher. Model  Feistel  ini  ditemukan  oleh  Horst Feistel  pada  tahun  1970.  Model  ini  banyak dipakai  dalam  algoritma  kriptografi  seperti Lucifer, DES, Blowfish, dan lain-lain.

## METODE PENELITIAN

## Feistel Cipher
Feistel  Cipher  terbentuk  dengan menggunakan struktur yang simetris. Nama “Feistel” berasal  dari seoarang kriptografer IBM  (International  Business  Machines) berkebangsaan Jerman, Horst Feistel. Penggunaan  algoritma  tersebut  secara komersial  pertama  kali  melalui  algoritma Lucifer,  yang  didesain  oleh  Feistel  sendiri bersama  dengan  Don  Coppersmith.  Feistel sendiri  menjadi  populer  setelah  pemerintah AS menggunakan algoritma DES (The Data Encryption Standard) sebagai standar enkripsi.  Berkat  kepopuleran  yang  didapat feistel  cipher  pada  saat  digunakan  dalam DES  inilah  feistel  cipher  menjadi  banyak digunakan  oleh  algoritma  kriptografi  yang lainnya.

## Algoritma Feistel Cipher
1. Misalkan F merupakan suatu fungsi yang memetakan  bagian  kanan  dari  plainteks (plainteks dibagi dua menjadi bagian kiri
(L) dan bagian kanan (R)) serta  enkripsi yang akan digunakan dan K adalah kunci yang  akan  digunakan  dalam  operasi dalam fungsi F, menjadi bagian kiri dari plainteks. Dengan kata lain, F merupakan fungsi yang mengacak bagian kanan pada plainteks dalam langkah sebelumnya. Hal pertama yang dilakukan adalah membagi plainteks  yang  akan  dienkripsi  menjadi dua  bagian  yang  memiliki  ukuran (matriks)  yang  sama.  Misalkan  Kembali
potongan pertama sebagai L 0 , sedangkan potongan yang kedua disebut R 0 .
2. Kemudian,  untuk  setiap  langkah 𝑖 = 0,1,2, … , 𝑛 , dilakukan komputasi sebagai berikut:
𝐿 𝑖+1 = 𝑅 𝑖 𝑅 𝑖+1 = 𝐿 𝑖 ⨁ 𝐹(𝑅 𝑖 , 𝐾 𝑖 )
Dengan ⊕ operasi EXCLUSIVE-OR bit demi bit. Hasil dari cipherteksnya adalah
(𝑅 𝑛+1 , 𝐿 𝑛+1 ) .
Selanjutnya, proses dekripsi dilakukan melalui  langkah  yang  serupa.  Hal  yang berbeda  terletak  pada  urutan  kunci  yang digunakan  sebelumnya  dibalik.  Proses dekripsi  yang  umumnya  digunakan  dalam feistel  cipher  adalah  sebagai  berikut. Pertama, Kunci yang digunakan untuk setiap langkah  adalah 𝑖 = 𝑛, 𝑛 − 1, 𝑛 − 2, … ,0 . Kemudian,  dilakukan  langkah  sebagai berikut :
𝑅 𝑖 = 𝐿 𝑖+1 𝐿 𝑖 = 𝑅 𝑖+1 ⨁ 𝐹(𝐿 𝑖+1 , 𝐾 𝑖 )
Gambar  1.  skema Algoritma dari  Feistel Cipher
Algoritma  Modifikasi  Feistel  dengan Aritmatika  Modular  dan  Invers  Kunci Matriks
Dalam metode ini, kita ambil dan ubah Plaintext  (P)  ke  dalam  bentuk  sepasang matrik  P 0 dan  Q 0 ,  dan  pergunakan  matriks
FIBONACCI : Jurnal Pendidikan Matematika dan Matematika. Vol. 8 (2), pp: 143-148
kunci  (K).  Dalam  metode  ini  operasi  yang mengatur  enkripsi  dan  dekripsi  diberikan oleh
𝑃 𝑖 = ( 𝐾 𝑄 𝑖−1 𝐾 )𝑚𝑜𝑑 𝑁 𝑄 𝑖 = 𝑃 𝑖+1 ⨁ 𝑃 𝑖
𝑢𝑛𝑡𝑢𝑘 𝑖 = 1,2, … 𝑛 Dan,
𝑄 𝑖−1 = ( 𝐾 −1 𝑃 𝑖 𝐾 −1 )𝑚𝑜𝑑 𝑁
𝑃 𝑖−1 = 𝑄 𝑖 ⨁ 𝑃 𝑖
𝑢𝑛𝑡𝑢𝑘 𝑖 = 𝑛, (𝑛 − 1), … dengan ⊕ operasi  EXCLUSIVE-OR  bit demi bit.
Dalam  metode  ini,  perkalian  matriks kunci,  dan  mod  operasi  adalah  operasi fundamental  dalam  pengembangan  sandi. Inversi  matriks  kunci  memainkan  peran penting peran dalam proses dekripsi. Disini N adalah positif integer, dipilih secara tepat, dan n menunjukkan jumlah iterasi digunakan dalam pengembangan cipher. Berikut adalah alur proses enkripsi.
Gambar 2 Skema dari algoritma Modfikasi Feistel Cipher (Enkripsi)
Secara  sederhananya,  proses  enkripsi akan  dijalankan  melalui  langkah-langkah berikut :
Gambar 3 Skema dari algoritma Modifikasi Feistel Cipher (Dekripsi)
1. Siapkan  plaintext 𝑃 ,  siapkan  matriks kunci 𝐾 ,  tentukan  banyak  iterasi 𝑛 dan bilangan modulo 𝑁 , 𝑁 ∈ 𝑍 +
2. Konversikan  karakter-karakter  plaintext 𝑃 kedalam  angka  yang  bersesuaian  dan susun kedalam bentuk matriks berukuran 𝑚 × 2𝑚
3. Bagi dua matriks tersebut menjadi 𝑃 0 dan
𝑄 0
4. Lakukan operasi
𝑃 𝑖 = (𝐾 ∙ 𝑄 𝑖 ∙ 𝐾) 𝑚𝑜𝑑 𝑁 𝑄 𝑖 = (𝑃 𝑖−1 + 𝑃 𝑖 ) 𝑚𝑜𝑑 𝑁 sebanyak 𝑛 kali  dengan 𝑖 dari  1 sampai 𝑛
5. Didapat matriks 𝐶 = 𝑃𝑛||𝑄𝑛 6. Konversikan entri-entri matriks 𝐶 kedalam karakter yang bersesuaian. Sedangkan proses dekripsi  dijalankan melalui langkah-langkah berikut.
1. Ketahui  ciphertext,  matriks  kunci 𝐾 , banyak iterasi 𝑛 , dan bilangan modulo 𝑁 ,
𝑁 ∈ 𝑍 +
Volume 8 No. 2 Bulan Desember  Tahun 2022
2. Konversikan  ciphertext  kedalam  angka dan susun kedalam bentuk matriks 𝐶
3. Cari invers matriks 𝐾
4. Bagi dua matriks 𝐶 menjadi 𝑃 𝑛 dan 𝑄 𝑛 5. Lakukan operasi
𝑄 𝑖−1 = (𝐾 −1 ∙ 𝑃 𝑖 ∙ 𝐾 −1 ) 𝑚𝑜𝑑 𝑁 𝑃 𝑖−1 = (𝑄 𝑖 − 𝑃 𝑖 ) 𝑚𝑜𝑑 𝑁 sebanyak 𝑛 kali dengan 𝑖 dari 𝑛 sampai 1
6. Didapat 𝑃 1 dan 𝑄 1 . Gabungkan  sehingga didapat matriks P.
Konversikan  tiap  angka  kedalam karakter sehingga didapat plaintext-nya

## HASIL DAN PEMBAHASAN
1. Enkripsikan  pesan  “I  LOVE  U”  dengan
metode modifikasi Feistel Cipher Aritmatika Modular jika diberikan matriks kunci
𝐾 = [ 1 0 1 1 ]
dengan  iterasi  sebanyak  2  kali  dan konversi karakter dengan tabel ASCII. Jawab:
Konversikan  karakter  kedalam  angka yang  bersesuaian.  Dengan  konversi menggunakan tabel ASCII didapat : 𝐼 : 73 (𝑠𝑝𝑎𝑠𝑖) : 32 𝑙 : 108 𝑜 : 111 𝑣 : 118 𝑒 : 101 (𝑠𝑝𝑎𝑠𝑖) : 32 𝑢 : 117
sehingga didapat matriks 𝑃 :
      =
117 32 101 118 111 108 32 73 P
Bagi  dua  matriks 𝑃 ,  sehingga  didapat matriks 𝑃 0 dan 𝑄 0 𝑃 0 = [ 73 32 118 101 ] , 𝑄 0 = [ 108 111 32 117 ]
Pada iterasi 1, cari matriks 𝑃 1 dan 𝑄 1 𝑃 1 = (𝐾 ∙ 𝑄 1 ∙ 𝐾) 𝑚𝑜𝑑 128 𝑄 1 = (𝑃 0 + 𝑃 1 ) 𝑚𝑜𝑑 128
Didapat
𝑃 1 = [ 91 111 112 100 ] , 𝑄 1 = [ 36 15 102 73 ]
Pada iterasi 2, cari matriks 𝑃 2 dan 𝑄 2 𝑃 2 = (𝐾 ∙ 𝑄 2 ∙ 𝐾) 𝑚𝑜𝑑 128 𝑄 2 = (𝑃 1 + 𝑃 2 ) 𝑚𝑜𝑑 128
Didapat
𝑃 2 = [ 51 15 98 88 ] , 𝑄 2 = [ 14 126 82 60 ]
Sehingga didapat matriks 𝐶
      = 60 82 88 98 126 14 15 51 C 2. Dekripsikan matriks
      = 60 82 88 98 126 14 15 51
C
dengan metode modifikasi Feistel Cipher Invers  Matriks  kunci  jika  diketahui matriks kunci K adalah :
𝐾 = [ 1 0 1 1 ]
dengan  iterasi  sebanyak  2  kali,  dan konversi karakter dengan tabel ASCII Jawab :
Dari  matriks  kunci  diatas  maka  didapat invers matriks K
𝐾 −1 = [ 1 0 −1 1 ]
Bagi  dua  matriks 𝐶 ,  sehingga  didapat matriks 𝑃 2 dan 𝑄 2 𝑃 2 = [ 51 15 98 88 ] , 𝑄 2 = [ 14 126 82 60 ]
Pada iterasi 1, cari matriks 𝑃 1 dan 𝑄 1 𝑄 1 = (𝐾 −1 ∙ 𝑃 2 ∙ 𝐾 −1 ) 𝑚𝑜𝑑 128 𝑃 1 = (𝑄 2 − 𝑃 2 ) 𝑚𝑜𝑑 128
Didapat
𝑄 1 = [ 36 15 102 73 ] , 𝑃 1 = [ 91 111 112 100 ]
FIBONACCI : Jurnal Pendidikan Matematika dan Matematika. Vol. 8 (2), pp: 143-148
Pada iterasi 2, cari matriks 𝑃 0 dan 𝑄 0 𝑄 0 = (𝐾 −1 ∙ 𝑃 1 ∙ 𝐾 −1 ) 𝑚𝑜𝑑 128 𝑃 0 = (𝑄 1 − 𝑃 1 ) 𝑚𝑜𝑑 128
Didapat
𝑃 0 = [ 73 32 118 101 ] , 𝑄 0 = [ 108 111 32 117 ] Sehingga didapat matriks 𝑃
      = 117 32 101 118 111 108 32 73 P
Yang jika dikonversikan kedalam karakter, didapat kalimat “I LOVE U”

## SIMPULAN
Saat  ini  upaya  pengamanan  dalam berbagai kebutuhan manusia sangat diperhatikan,  terutama  dalam  kebutuhan penyampaian  pesan.  Banyak  algoritma kriptografi  modern  yang  dimodifikasi  agar bisa  menciptakan  sistem  keamanan  yang lebih  sulit  untuk  dipecahkan(unbreakable). Meskipun demikian, algoritma feistel cipher masih  banyak  digunakan  sebagai  patokan oleh  para  kriptografer  dalam  memodifikasi desain algoritma. Modifikasi Feistel Cipher menggunakan  Aritmetika  Modular  dan Invers Matriks Kunci ini memberikan solusi bagi masalah kriptografi, dengan modifikasi ini  kita  akan  mendapatkan  beberapa kelebihan  dibandingkan  algortima  lainnya, antara lain :
1.  Algoritma  enkripsi  dan  dekripsi  yang hampir sama
2.  Hasil dekripsi yang
mempunyai
keamanan tingkat tinggi, karena dilengkapi  dengan  perpaduan  prinsip diffusion , confusion , dan iterasi. sarana untuk memperkuat keamanan
3.  Dapat  dimodifikasi  atau  dikombinasi dengan  metode  lain  sehingga  akan  lebih menambah tingkat  keamanan pesan

## DAFTAR PUSTAKA
Nadya  Arieza  dan  Sinembala  Junita,  2015.
Feisty: Modifikasi  Block  Cipher AES  dengan  Jaringan  Feistel . Bandung : Program Studi Teknik Informatika  Institut  Teknologi Bandung 1
Starsy V.U.K dan Kumar K Anup, 2012. “A Modified Feistel Cipher Involving Modular Aritmethic Addition and Modular  Aritmethic  Inverse  Key
Matrix”. India : IJACSA (Internasional Journal of Computer Science and Applications) Susanto  Alvin,  2015.  “Analisis  Feistel Cipher  Sebagai  Dasar  Berbagai Algoritma Block
Cipher.”
Bandung : Program Studi Teknik
Informatika  Institut  Teknologi Bandung
Wathoni,  M.,  Efendi,  Y.,  Ramadi,  R.,
Hariyani, M.,  Ratriningrum, D. B.  2021.  “Penggunaan  Aplikasi Qrcode  Dan  Smarty  Template Engine  Pada  Pengkodean  Buku (Studi Kasus Ruang Baca Computer  Science  Fakultas  Ilmu Pendidikan)”. Fibonacci:  Jurnal Pendidikan Matematika dan
Matematika .  Vol  7(2),  pp:  177-
188.
Volume 8 No. 2 Bulan Desember  Tahun 2022