Click here to load reader
Upload
rimbun-ferianto-sr-rimbun
View
285
Download
8
Embed Size (px)
Citation preview
PENGGUNAAN METODE HILL CIPHER UNTUK KRIPTOGRAFI
PADA CITRA DIGITAL
Hamdani 1)
, Anindita Septiarini 2)
, dan Fajri Nugraha 3)
Instansi : Jurusan Ilmu Komputer, Fakultas MIPA, Universitas Mulawarman
Jalan Barong Tongkok No. 4 Gunung Kelua, Samarinda, Kalimantan Timur
E-Mail: 1)
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 halhal 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
mn. 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.
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 22.
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:
P = K-1
.C3.4
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.
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
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. [7] Steven J.. Aljabar Linear dan
Aplikasinya (Edisi 5). Jakarta. Erlangga,
2001