6

Click here to load reader

Penggunaan Metode Hill Cipher Gambar

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)

    [email protected], 2)

    [email protected], 3)

    [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 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