Hill Cipher dan Aljabar Linear
1. Representasi Pesan sebagai Vektor
Dalam Hill Cipher, teks asli (plaintext) diubah menjadi vektor bilangan berdasarkan alfabet yang digunakan. Misalnya, jika menggunakan alfabet A-Z, maka A=0, B=1, ..., Z=25. Pesan dipecah menjadi blok-blok dengan panjang tertentu sesuai dengan ukuran matriks kunci.
2. Penggunaan Matriks Kunci
Matriks kunci adalah matriks persegi dengan ukuran 𝑛 × 𝑛 yang digunakan untuk mengenkripsi blok pesan. Elemen-elemen matriks ini adalah bilangan yang dipilih dari himpunan angka yang sesuai dengan alfabet.
3. Proses Enkripsi
Proses enkripsi dalam Hill Cipher melibatkan perkalian matriks antara matriks kunci K dan vektor pesan PP:
𝐶=𝐾⋅𝑃mod 26C=K⋅Pmod26
Di mana C adalah vektor ciphertext, P adalah vektor plaintext, dan operasi dilakukan dalam aritmetika modulo 26 (untuk alfabet A-Z).
4. Proses Deskripsi
Untuk mendekripsi pesan, diperlukan invers dari matriks kunci 1K1. Invers dari matriks K harus ada dalam aritmetika modulo 26 agar dekripsi bisa dilakukan. Proses dekripsi adalah:
𝑃=𝐾−1⋅𝐶mod 26P=K−1⋅Cmod26
Di mana 𝐾−1K−1 adalah invers dari matriks kunci KK, CC adalah vektor ciphertext, dan PP adalah vektor plaintext yang dihasilkan.
Pentingnya aljabar linear dalam Hill Cipher
1. Operasi Matriks
Penggunaan matriks untuk transformasi data (teks) adalah inti dari Hill Cipher. Aljabar linear menyediakan alat untuk melakukan operasi matriks seperti perkalian dan invers.
2. Keamanan
Keamanan Hill Cipher bergantung pada sifat matriks kunci. Aljabar linear membantu dalam memahami sifat-sifat ini, seperti determinan dan inversibilitas matriks.
3. Analisi dan pemecahan
Misalnya, analisis serangan terhadap Hill Cipher melibatkan konsep-konsep seperti sistem persamaan linear.
Berikut contoh output Hill chiper yang dikerjakan dalam Delphi: