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
[email protected] [email protected] 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 elemenelemen 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
Sains Riset Riset Volume Volume V V No.1 No.1 Maret Maret 2015 2015 Sains
11
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
[email protected] [email protected] 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 elemenelemen 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
Sains Riset Volume V No.1 Maret 2015
2
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 mencari invers dari matriks K
dengan
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: P = K-1.C3.4
Sains Riset Volume V No.1 Maret 2015
3
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
didapatkan disusun kembali pada RGB Citra, maka akan terbentuk Citra yang terenkripsi. Tabel 2. Nilai RGB setelah terenkripsi Piksel 1
Piksel 2
R
R
232
G 132
G
194
B
B
238
38
88
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
R
200
R
200
G
150
G
150
B
200
B
150
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
Pada tabel 1 dengan Nilai-Nilai RGB pada piksel 1 dan piksel 2 tersebut kemudian disusun ke dalam matriks berordo 2x3 sehingga didapatkan. P=
matriks (a) 2x2
, dan matriks (b) 3x3
. 1. Tahap Enkripsi
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= K=
maka hasil nya adalah. dan
P=
Gambar 1. Hasil enkripsi Gambar Menggunakan Matriks 2x2.
C=
mod 256
Kemudian hasilnya di modulo 256 maka : C= Selanjutnya
nilai
hasil
yang
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.
telah
Sains Riset Volume V No.1 Maret 2015
4
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 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 Gambar 3. Hasil Dekripsi Gambar Menggunakan Matriks 2x2.
K4 = (-1)(0)(1) – 2(0) = 0
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
K5 = 1(1) – 7(0) = 1
digunakan, yaitu Matriks (a) 2x2
K6 = (-1)(1)(2) – 7(0) = -2
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.
K7 = 0(0) – 1(0) = 0
Sains Riset Volume V No.1 Maret 2015
5
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 =
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
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
[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/20072008/Makalah/MakalahIF2153-0708063.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.
Beberapa kesimpulan yang dapat diambil
Sains Riset Volume V No.1 Maret 2015
6