HILL CHIPER
Hill Cipher merupakan penerapan
aritmatika modulo pada kriptografi. Teknik kriptografi ini menggunakan sebuah
matriks persegi sebagai kunci yang digunakan untuk melakukan enkripsi dan
dekripsi.
Hill Cipher diciptakan oleh Lester S.
Hill pada tahun 1929 [2]. Teknik kriptografi ini diciptakan dengan maksud untuk
dapat menciptakan cipher (kode) yang tidak dapat dipecahkan menggunakan teknik
analisis frekuensi. Hill Cipher tidak mengganti setiap abjad yang sama pada
plaintext dengan abjad lainnya yang sama pada ciphertext karena menggunakan
perkalian matriks pada dasar enkripsi dan dekripsinya.
Hill Cipher yang merupakan
polyalphabetic cipher dapat dikategorikan sebagai block cipher [2] karena teks
yang akan diproses akan dibagi menjadi blokblok dengan ukuran tertentu. Setiap
karakter dalam satu blok akan saling mempengaruhi karakter lainnya dalam proses
enkripsi dan dekripsinya, sehingga karakter yang sama tidak dipetakan menjadi
karakter yang sama pula.
Hill Cipher termasuk kepada algoritma
kriptografi klasik yang sangat sulit dipecahkan oleh kriptanalis apabila
dilakukan hanya dengan mengetahui berkas ciphertext saja. Namun, teknik ini
dapat dipecahkan dengan cukup mudah apabila kriptanalis memiliki berkas
ciphertext dan potongan berkas plaintext. Teknik kriptanalisis ini disebut
known-plaintext attack [1].
Dasar
Teknik Hill Cipher
Dasar dari teknik Hill Cipher adalah
aritmatika modulo terhadap matriks. Dalam penerapannya, Hill Cipher menggunakan
teknik perkalian matriks dan teknik invers terhadap matriks. Kunci pada Hill
Cipher adalah matriks n x n dengan n merupakan ukuran blok. Matriks K yang
menjadi kunci ini harus merupakan matriks yang invertible, yaitu memiliki
inverse K-1 sehingga :
Kunci harus memiliki invers karena
matriks K-1 tersebut adalah kunci yang digunakan untuk melakukan dekripsi.
Teknik
Enkripsi pada Hill Cipher
Proses enkripsi pada Hill Cipher
dilakukan per blok plaintext. Ukuran blok tersebut sama dengan ukuran matriks
kunci. Sebelum membagi teks menjadi deretan blok-blok, plaintext terlebih
dahulu dikonversi menjadi angka, masing-masing sehingga A=1, B=2, hingga Y=25.
Z diberi nilai 0.
Secara matematis, proses enkripsi pada Hill Cipher adalah:
C = K . P
(2)
C = Ciphertext
K = Kunci
P = Plaintext
Teknik
Dekripsi pada Hill Cipher
Proses dekripsi pada Hill Cipher pada dasarnya sama dengan proses
enkripsinya. Namun matriks kunci harus dibalik (invers) terlebih dahulu. Secara
matematis, proses dekripsi pada Hill Cipher dapat diturunkan dari persamaan
(2).
Columnar
Transposition
Columnar
transposition merupakan salah satu metode kriptografi dimana pesan dituliskan
berderet dari suatu panjang yang ditetapkan, lalu dibaca kembali kolom per
kolom dengan urutan pembacaan berdasarkan suatu kata kunci. Panjang deret
ditentukan oleh panjang kata kunci. Urutan pembacaan kolom berdasarkan urutan
abjad kata kunci, misalnya ZEBRAS menjadi “6 3 2 4 1 5”. Perintah dipilih
oleh urutan abjad dari huruf-huruf dalam kata kunci.
Regular Case (Kasus biasa)
Dalam
columnar transposisi cipher biasa, ruang-ruang kosong yang diisi dengan huruf
acak.
Misalnya,
kita menggunakan ZEBRAS kata kunci dan pesan WE ARE DISCOVERED FLEE AT ONCE.
Grid
kita akan terlihat seperti ini:
Z
E B R A S
6
3 2 4 1 5
-
- - - - -
W
E A R E D
I
S C O V E
R
E D F L E
E
A T O N C
E
Q K J E U
Enam
kolom kini ditulis dalam urutan acak didefinisikan oleh kata kunci:
EVLNE
ACDTK ESEAQ ROFOJ DEECU WIREE
Irregular
Case (Kasus yang tidak teratur)
Dalam
kasus yang tidak teratur, surat-surat yang kosong tidak diisi dengan
huruf acak:
Z
E B R A S
6
3 2 4 1 5
-
- - - - -
W
E A R E D
I
S C O V E
R
E D F L E
E
A T O N C
E
Hal
ini menyebabkan berikut (pendek) ciphertext:
EVLNA
CDTES EAROF ODEEC WIREE
Untuk
memahaminya, penerima harus bekerja di luar panjang kolom dengan membagi
panjang pesan
dengan panjang
kunci. Langkah ini sedikit lebih sulit jika kasus tidak teratur digunakan.
Setelah menentukan jumlah kolom,pesan dapat ditulis dalam kolom dan diatur
ulang kembali ke pesan plaintext.
Double Column Transposition (Kolom
ganda Transposisi)
Untuk
membuat pesan lebih sulit untuk menguraikan, Anda dapat mengambil ciphertext yang dihasilkan oleh algoritma ini dan
menjalankannya melalui enkripsi lagi menggunakan kata kunci yang berbeda. Ini
transposes kolom dua kali dan membuat pesan sangat sulit untuk menguraikan.