1
Sains Riset Volume V No.1 Maret 2015
Sains Riset Volume V No.1 Maret 20151
PENGGUNAAN METODE HILL CIPHER UNTUK KRIPTOGRAFI PADA CITRA DIGITAL
Muhammad Rizal 1), Afdal 2)
Program Studi Magister Teknik Informatika, Universitas Sumatera Utara Jl. dr. Mansur No. 9 Padang Bulan, Medan 20155, Sumatera Utara
muhammadrizal894@gmail.com afdalkhattil@gmail.com
ABSTRAK
Penggunaan metode Hill Cipher untuk pembuatan aplikasi Kriptografi merupakan salah satu teknik penyandian teks. Penggunaan metode Hill Cipher diperluas dari teks ke Citra Digital bertipe JPG,BMP dan GIF. Matriks yang dipakai berordo 2x2 dan 3x3. Pengujian data menunjukkan bahwa Hill Cipher cocok untuk enkripsi citra dengan variasi nilai RGB antar piksel berdekatan yang tinggi (seperti foto atau gambar), tapi tidak cocok untuk citra dengan variasi nilai RGB yang rendah (seperti gambar kartun) karena pola citra asli tidak dapat maksimal untuk menyandi citra asli tersebut. Hill Cipher memiliki kelemahan dalam menggunakan matriks kunci yang memiliki nilai determinan yaitu 1. Untuk pemakaian biasa, dengan pemilihan matriks kunci yang baik, Hill Cipher dapat dipakai untuk penyandian karena melibatkan operasi matriks biasa sehingga prosesnya relatif cepat.
Kata kunci: Hill Cipher, Kriptografi, Citra Digital
PENDAHULUAN
Kriptografi dirasakan semakin penting. Keamanan pengiriman informasi melalui
komputer menjadi bagian yang tak
terpisahkan dalam kehidupan sehari-hari. Seiring dengan peningkatan kepentingannya, banyak metode-metode yang ditemukan maupun diperluas penggunaannya. Diantara metode-metode tersebut terdapat metode yang hanya membutuhkan operasi matematika sederhana, tetapi juga terdapat metode yang melibatkan teori yang rumit dan sulit implementasinya [1,3,4].
Citra Digital sebagai salah satu bentuk data digital saat ini banyak dipakai untuk menyimpan photo, gambar, ataupun hasil karya dalam format digital. Bila data - data tersebut tidak diamankan, dikuatirkan data tersebut dapat jatuh ke pihak yang tidak diinginkan, yang kemudian disalahgunakan untuk hal–hal bersifat negatif. Salah satu cara
untuk mengatasi hal tersebut adalah
menyandikan citra tersebut sehingga bentuk citra menjadi teracak, sehingga apabila jatuh ke tangan yang tidak diinginkan, citra tersebut juga tidak dapat digunakan [2].
Salah satu metode penyandian untuk tujuan di atas adalah menggunakan teknik
penyandian Hill Cipher. Hill Cipher
sebenarnya merupakan salah satu teknik
penyandian teks, tetapi dengan melakukan perubahan perhitungan pada nilai RGB (Red Green Blue) citra maka Hill Cipher juga dapat dipakai untuk menyandikan citra. Hill Cipher menggunakan matriks persegi sebagai kunci dalam proses penyandiannya, karena hanya melibatkan operasi matriks biasa sehingga prosesnya relatif cepat.
METODE PENELITIAN 1. Matriks
Matriks adalah susunan elemen-elemen yang disusun menurut baris dan kolom sehingga berbentuk persegi panjang dengan panjang dan lebar menunjukkan banyak baris dan banyak kolom. Matriks yang memiliki m baris dan n kolom disebut matriks berukuran m×n. Matriks yang memiliki banyak baris dan banyak kolom sama disebut matriks bujur sangkar [7].
2. Determinan
Determinan adalah suatu fungsi tertentu yang menghubungkan suatu bilangan real dengan suatu matriks bujursangkar, Sebagai contoh, dapat digunakan pada matriks A2x2
2
Sains Riset Volume V No.1 Maret 2015
PENGGUNAAN METODE HILL CIPHER UNTUK KRIPTOGRAFI PADA CITRA DIGITAL
Muhammad Rizal 1), Afdal 2)
Program Studi Magister Teknik Informatika, Universitas Sumatera Utara Jl. dr. Mansur No. 9 Padang Bulan, Medan 20155, Sumatera Utara
muhammadrizal894@gmail.com afdalkhattil@gmail.com
ABSTRAK
Penggunaan metode Hill Cipher untuk pembuatan aplikasi Kriptografi merupakan salah satu teknik penyandian teks. Penggunaan metode Hill Cipher diperluas dari teks ke Citra Digital bertipe JPG,BMP dan GIF. Matriks yang dipakai berordo 2x2 dan 3x3. Pengujian data menunjukkan bahwa Hill Cipher cocok untuk enkripsi citra dengan variasi nilai RGB antar piksel berdekatan yang tinggi (seperti foto atau gambar), tapi tidak cocok untuk citra dengan variasi nilai RGB yang rendah (seperti gambar kartun) karena pola citra asli tidak dapat maksimal untuk menyandi citra asli tersebut. Hill Cipher memiliki kelemahan dalam menggunakan matriks kunci yang memiliki nilai determinan yaitu 1. Untuk pemakaian biasa, dengan pemilihan matriks kunci yang baik, Hill Cipher dapat dipakai untuk penyandian karena melibatkan operasi matriks biasa sehingga prosesnya relatif cepat.
Kata kunci: Hill Cipher, Kriptografi, Citra Digital
PENDAHULUAN
Kriptografi dirasakan semakin penting. Keamanan pengiriman informasi melalui
komputer menjadi bagian yang tak
terpisahkan dalam kehidupan sehari-hari. Seiring dengan peningkatan kepentingannya, banyak metode-metode yang ditemukan maupun diperluas penggunaannya. Diantara metode-metode tersebut terdapat metode yang hanya membutuhkan operasi matematika sederhana, tetapi juga terdapat metode yang melibatkan teori yang rumit dan sulit implementasinya [1,3,4].
Citra Digital sebagai salah satu bentuk data digital saat ini banyak dipakai untuk menyimpan photo, gambar, ataupun hasil karya dalam format digital. Bila data - data tersebut tidak diamankan, dikuatirkan data tersebut dapat jatuh ke pihak yang tidak diinginkan, yang kemudian disalahgunakan untuk hal–hal bersifat negatif. Salah satu cara
untuk mengatasi hal tersebut adalah
menyandikan citra tersebut sehingga bentuk citra menjadi teracak, sehingga apabila jatuh ke tangan yang tidak diinginkan, citra tersebut juga tidak dapat digunakan [2].
Salah satu metode penyandian untuk tujuan di atas adalah menggunakan teknik
penyandian Hill Cipher. Hill Cipher
sebenarnya merupakan salah satu teknik
penyandian teks, tetapi dengan melakukan perubahan perhitungan pada nilai RGB (Red Green Blue) citra maka Hill Cipher juga dapat dipakai untuk menyandikan citra. Hill Cipher menggunakan matriks persegi sebagai kunci dalam proses penyandiannya, karena hanya melibatkan operasi matriks biasa sehingga prosesnya relatif cepat.
METODE PENELITIAN 1. Matriks
Matriks adalah susunan elemen-elemen yang disusun menurut baris dan kolom sehingga berbentuk persegi panjang dengan panjang dan lebar menunjukkan banyak baris dan banyak kolom. Matriks yang memiliki m baris dan n kolom disebut matriks berukuran m×n. Matriks yang memiliki banyak baris dan banyak kolom sama disebut matriks bujur sangkar [7].
2. Determinan
Determinan adalah suatu fungsi tertentu yang menghubungkan suatu bilangan real dengan suatu matriks bujursangkar, Sebagai contoh, dapat digunakan pada matriks A2x2
3
Sains Riset Volume V No.1 Maret 2015
untuk mencari determinan matrik A maka, detA = ad – bc , sedangkan untuk Matriks 3x3, rumus yang digunakan adalah dengan menggunakan Metode Sarrus (Sarrus Rule) [7].
3. Matriks Invers
Invers matriks adalah matriks kebalikan dari sebuah matriks jika sebuah matriks dikalikan dengan inverse matriksnya maka
akan menghasilkan matriks identitas.
Penggunaan inverse matriks biasanya pada analisis numerik, atau analisis matriks. Sebagai catatan inverse matriks hanya bisa dihitung atau memberikan hasil jika nilai determinannya tidak sama dengan 0 [7].
4. 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. 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 [3,6].
Secara matematis, proses enkripsi pada Hill Cipher adalah:
C = K . P Keterangan : C = Ciphertext K = Kunci P = Plaintext
Jika terdapat plaintext (P: STRIKE NOW) Maka plaintext tersebut dikonversi menjadi (P = 19 20 18 9 11 5 14 15 23) Plaintext tersebut akan dienkripsi dengan teknik
HillCipher, dengan kunci K yang merupakan
matriks 2×2. Karena matriks kunci K berukuran 2, maka plaintext dibagi menjadi blok yang masing-masing bloknya berukuran 2 karakter. Karena karakter terakhir tidak ada memiliki pasangan, maka diberi pasangan karakter yang sama yaitu W. P menjadi
STRIKENOWW. Blok pertama dari
plaintext P adalah :
Hasil perhitungan menghasilkan angka yang tidak berkorespondensi dengan huruf-huruf, maka lakukan modulo 26 pada hasil tersebut. Sehingga, C1,2 menjadi:
Karakter yang berkorespondensi dengan 7 dan 20 adalah G dan T. maka S menjadi G dan T menjadi T. Setelah melakukan enkripsi semua blok pada plaintext P maka dihasilkan ciphertext C sebagai berikut:
P = STRIKENOW
C = 7 20 14 11 7 11 4 21 19 11 C = GTNKGKDUSK
Dari ciphertext yang dihasilkan terlihat bahwa Hill Cipher menghasilkan ciphertext yang tidak memiliki pola yang mirip dengan
plaintext nya. 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 adalah.
P = K-1.C
Maka proses dekripsi diawali dengan mencari invers dari matriks K
Ciphertext C = GTNKGKDUSK, akan
didekripsi dengan menggunakan kunci dekripsi K-1, Proses dekripsi ini dilakukan blok per blok seperti pada proses enkripsi. Pertama-tama ubah huruf-huruf pada ciphertext menjadi urutan numerik (C = 7 20 14 11 7 11 4 21 19 11). Proses dekripsi dilakukan sebagai berikut:
P = K-1.C1.2
dan blok kedua:
4
Sains Riset Volume V No.1 Maret 2015
Setelah semua blok selesai didekripsi, maka didapatkan hasil plaintext:
P = 19 20 18 9 11 5 14 15 23 P = STRIKENOW
IMPLEMENTASI
Penggunaan Hill Cipher dipergunakan pada citra bertipe JPG, BMP dan Gif. Karena tiap-tiap komponen RGB piksel memiliki panjang 8 bit yang bernilai (0 - 255), maka
sistem modulo yang dipakai dalam
penyandian adalah 256.
Untuk mengenkripsikan Citra, mula-mula nilai RGB dari tiap-tiap piksel diambil, kemudian dikalikan dengan Matriks kunci yang akan dipakai.
Tabel 1. Nilai RGB piksel
Piksel 1 Piksel 2
R 200 R 200
G 150 G 150
B 200 B 150
Pada tabel 1 dengan Nilai-Nilai RGB pada piksel 1 dan piksel 2 tersebut kemudian disusun ke dalam matriks berordo 2x3 sehingga didapatkan.
P =
Setelah didapatkan nilai seperti diatas, maka algoritma Hill Cipher pun bisa dijalankan, nilai-nilai piksel dapat dikalikan langsung dengan nilai Kunci yang akan dipakai. Misalkan nilai Matriks Kunci 2x2
K= maka hasil nya adalah.
K = dan
P =
C = mod 256
Kemudian hasilnya di modulo 256 maka : C =
Selanjutnya nilai hasil yang telah
didapatkan disusun kembali pada RGB Citra, maka akan terbentuk Citra yang terenkripsi.
Tabel 2. Nilai RGB setelah terenkripsi
Piksel 1 Piksel 2 R 38 R 232 G 132 G 194 B 88 B 238
Pada dasarnya proses untuk melakukan dekripsi adalah sama dengan proses enkripsinya, namun kunci matriks yang digunakan terlebih dahulu harus diinverskan sehingga prosesnya akan sedikit lebih panjang.
HASIL PENELITIAN
Program yang dibuat diuji coba dengan mengenkripsi dan mengdekripsi citra dengan variasi nilai RBG antar piksel berdekatan yang tinggi (foto). Untuk melihat pengaruh pemakaian matriks kunci yang berbeda-beda, maka pada tiap citra, digunakan beberapa
matriks (a) 2x2 , dan matriks (b) 3x3
.
1. Tahap Enkripsi
Gambar 1. Hasil enkripsi Gambar Menggunakan Matriks 2x2.
Pada Gambar 1 terlihat gambar telah berhasil terenkripsi, namun Pola gambar masih dapat terlihat, ini dikarenakan Metode Hill Cipher hanya merubah nilai RGB pada tiap – tiap Piksel gambarnya, metode ini tidak merubah posisi Piksel sehingga pola gambar masih dapat terlihat.
5
Sains Riset Volume V No.1 Maret 2015
Gambar 2. Hasil Enkripsi Gambar Menggunakan Matriks 3x3.
Terlihat pada Gambar 1, untuk
memperoleh hasil enkripsi yang baik,
elemen-elemen kunci matriks enkripsi
haruslah cukup besar sehingga jika dikalikan dengan nilai RGB citra akan menghasilkan perubahan nilai RGB yang cukup signifikan. Ini juga berlaku pada ordo matriks yang digunakan. Semakin besar ordo matriksnya, semakin besar pula pengaruh perubahan nilai RGB citra sandi sehingga hasil enkripsi menjadi lebih baik seperti Gambar 2 yang menggunakan Matriks 3x3
2. Tahap Dekripsi
Gambar 3. Hasil Dekripsi Gambar Menggunakan Matriks 2x2.
Terlihat pada Gambar 3, gambar yang telah di enkripsikan menggunakan Matriks 2x2 dapat di kembalikan lagi ke gambar aslinya. Proses dilakukan dengan cara menginverskan Matriks kunci yang
digunakan, yaitu Matriks (a) 2x2 yang kemudian di inverskan menjadi
. Selanjutnya nilai – nilai RGB
pada piksel satu persatu dikalikan dengan nilai matriks invers tersebut. Sehingga mendapatkan nilai Piksel gambar aslinya.
Gambar 4. Hasil Dekripsi Gambar Menggunakan Matriks 3x3.
Pada Gambar 4 terlihat hasil dekripsi gambar
yang menggunakan kunci Matriks 3x3.
Prosesnya dilakukan dengan cara menginverskan dahulu kunci Matriks yang digunakan untuk mengenkripsi gambar tersebut, yaitu kunci Matriks (b)3x3
, tahapan yang dilakukan untuk mendapatkan nilai invers pada matriks 3x3 ini adalah dengan mencari nilai Kofaktornya terlebih dahulu melalui cara berikut ini.
K1 = 1(1) – 2(0) = 1 K2 = (-1)(8)(1) – 7(0) = -8 K3 = 8(2) – 7(1) = 9 K4 = (-1)(0)(1) – 2(0) = 0 K5 = 1(1) – 7(0) = 1 K6 = (-1)(1)(2) – 7(0) = -2 K7 = 0(0) – 1(0) = 0
6
Sains Riset Volume V No.1 Maret 2015
K8 = (-1)(1)(0) – 8(0) = 0
K9 = 1(1) – 8(0) = 1
Setelah didapatkan nilai-nilai
Kofaktornya, seluruh nilai disusun kembali dalam sebuah matriks 3x3 seperti dibawah ini
Kofaktor =
Kofaktor =
Selanjutnya kofaktor diatas
digunakan untuk mencari adjoint sebuah matriks, cukup diganti kolom menjadi baris dan baris menjadi kolom pada matriks tersebut.
Adjoint =
Adjoint =
Untuk mendapatkan nilai inversnya, maka
nilai Adjoint dikalikan dengan nilai
determinan dari matriks kunci, namun
dikarenakan nilai determinan yang
digunakan untuk setiap kunci adalah = 1 maka hasilnya akan sama, jadi untuk kasus ini dapat disimpulkan saja bahwa Adjoint = Invers.
Setelah mendapatkan nilai invers maka dapat dilanjutkan ke tahap selanjutnya yaitu mengalikan Invers Matriks 3x3 dengan nilai RGB piksel yang akan di dekripsi. Nilai Piksel pada gambar yang terenkripsi satu - persatu dikalikan dengan nilai invers Matriks kuncinya, yang kemudian hasilnya akan disusun kembali menjadi sebuah gambar aslinya.
KESIMPULAN
Beberapa kesimpulan yang dapat diambil
dari penelitian ini adalah sebagai berikut : 1. Hill Cipher merupakan metode penyandian
sederhana yang cocok diterapkan pada citra dengan variasi warna beragam dan banyak (seperti foto),
dan tidak cocok diterapkan pada citra yang variasi warnanya tidak terlalu bervariatif. 2. Hanya Matriks Bujursangkar yang nilai
determinannya bernilai 1 yang dapat digunakan untuk proses enkripsi dan
dekripsi, apabila determinannya tidak
bernilai 1 maka gambar yang telah terenkripsi tidak dapat di kembalikan ke gambar aslinya.
3. Untuk gambar yang memiliki pola warna piksel bersebelahan yang berbeda jauh atau kontras, maka pada gambar enkripsinya pola tersebut masih akan terlihat walaupun telah berubah warna.
4. Hill Cipher digunakan untuk merubah nilai RGB pada piksel gambar sesuai dengan hasil perkalian dengan kunci matriks yang digunakan. Metode tersebut digunakan tidak merubah posisi piksel sehingga pola gambar masih bisa terlihat.
DAFTAR PUSTAKA
[1] Ariyus, D. Pengantar Ilmu Kriptografi
(Teori, Analisis, dan. Implementasi).
Yogyakarta. Andi, 2008.
[2] Gonzalez, R. dan Woods, R. Digital Image
Processing. Wesley Publishing. Addison,
2001.
[3] Munir, R., Kriptografi, Bandung.
Informatika, 2006.
[4] Piper, F dan Sean, M. Cryptography, A Very short Introduction. Oxford. 2002. [5] Nugraha, I. Studi dan Analisis Mengenai
Aplikasi Matriks dalam Kriptografi Hill Cipher, Teknik Informatika, ITB,
http://informatika.stei.itb.ac.id/~rinaldi.
munir/Matdis/2007- 2008/Makalah/MakalahIF2153-0708-063.pdf Diakses pada 30 Oktober 2011. [6] Siang, J. J. Implementasi Sandi Hill Untuk
Penyandian Citra. Jurnal Informatika. Volume 3, No. 1, 2002, P : 1 – 6.
Steven J.. Aljabar Linear dan Aplikasinya (Edisi 5). Jakarta. Erlangga, 2001.