• Tidak ada hasil yang ditemukan

Analisis Perbandingan Metode Playfair Cipher dan Elgamal pada Kriptografi Citra

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Perbandingan Metode Playfair Cipher dan Elgamal pada Kriptografi Citra"

Copied!
14
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1. Citra Digital

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra terbagi 2 yaitu ada citra yang bersifat analog dan ada citra yang bersifat digital. Citra analog adalah citra yang bersifat kontinu seperti gambar pada monitor televisi, foto sinar X, hasil CT Scan, dll. Sedangkan pada citra digital adalah citra yang dapat diolah oleh komputer [10].

Citra digital merupakan citra yang diambil berdasarkan sampling dan kuantitas tertentu sehingga citra digital ini terbentuk dari piksel-piksel yang besarnya tergantung pada besar kecilnya sampling dan nilainya (besarnya derajat keabuan) tergantung pada kuantitas. Berdasarkan pengertian ini maka model citra digital dinyatakan dalam bentuk matriks yang nilainya berupa nilai derajat keabuan. Model ini menyatakan model dari citra grayscale yaitu citra yang terdiri dari derajat keabuan tertentu [3].

Sebuah citra digital dapat mewakili oleh sebuah matriks yang terdiri dari M kolom N baris, dimana perpotongan antara kolom dan baris disebut piksel ( piksel = picture element), yaitu elemen terkecil dari sebuah citra. Piksel mempunyai dua parameter, yaitu koordinat dan intensitas atau warna. Nilai yang terdapat pada koordinat (x,y) adalah f(x,y), yaitu besar intensitas atau warna dari piksel di titik itu. Oleh sebab itu, sebuah citra digital dapat ditulis dalam bentuk matriks berikut.

(2)

Dimana:

f(x,y) = fungsi besar intensitas citra M = indeks kolom dari matriks N = indeks baris dari matriks

Berdasarkan rumus tersebut, secara matematis citra digital dapat dituliskan sebagai fungsi intensitas f (x,y), dimana harga x (baris) dan y (kolom) merupakan koordinat posisi dan f(x,y) adalah nilai fungsi pada setiap titik (x,y) yang menyatakan besar intensitas citra atau tingkat keabuan atau warna dari piksel di titik tersebut. Pada proses digitalisasi (sampling dan kuantitas) diperoleh besar baris M dan kolom N hingga citra membentuk matriks M x N dan jumlah tingkat keabuan piksel [10].

2.2. Kriptografi

Kriptografi (Crypthography) berasal dari bahasa Yunani yaitu dari dua suku kata Crypto dan Graphia. Crypto artinya menyembunyikan, sedangkan graphia artinya ilmu. Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data, yang dilakukan oleh seorang Kriptografer [1].

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi, yaitu :

1. Kerahasiaan (Confidentiality)

Kerahasiaan adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.

2. Integritas Data (Data Integrity)

(3)

3. Otentikasi (Autentication)

Otentikasi adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.

4. Ketiadaan Penyangkalan (Non-repudiation).

Ketiadaan penyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat. [2]

2.3. Algoritma Playfair Cipher

Playfair Cipher merupakan salah satu contoh algoritma klasik yang ditemukan oleh Charles Wheatstone, salah seorang Pioneer Telegraf. Kemudian algoritma ini dipopularkan oleh Lyon Playfair pada tahun 1854. Algoritma Playfair Cipher termasuk ke dalam polygram cipher [6].

Proses enkripsi dengan algoritma Playfair Cipher, dilakukan dengan mengenkripsi pasangan-pasangan huruf bukan huruf-huruf tunggal. Tujuan proses enkripsi yang dilakukan perpasangan huruf ini adalah membuat analisis yang menggunakan perhitungan frekuensi kemunculan huruf menjadi sulit. Perhitungan tersebut menjadi sulit karena frekuensi kemunculan huruf-huruf dari cipherteks yang dihasilkan oleh proses enkripsi menggunakan algoritma ini menjadi datar.

(4)

disetujui oleh pengirim dan penerima pesan adalah CHARLES, maka akan dibentuk bujur sangkar kunci seperti berikut:

Gambar 2.2 Contoh Kunci Bujur Sangkar Matriks 5x5 Playfair Cipher

Setelah bujur sangkar kunci diisi, proses enkripsi dilanjutkan dengan proses pengaturan pesan yang akan dienkripsi. Proses pengaturan pesan ini adalah sebagai berikut :

1. Huruf J yang terdapat pada pesan diubah dengan huruf I.

2. Kemudian, tulis pesan dalam pasangan-pasangan huruf atau bigram.

3. Bila ada pasangan huruf yang memiliki huruf yang sama, sisipkan huruf Z di tengahnya.

4. Bila jumlah huruf pada pesan ganjil, tambahkan pada akhir pesan huruf Z. Contoh proses pengaturan pesan enkripsi :

Gambar 2.3 Proses Pengaturan Enkripsi Playfair Cipher

Setelah proses pengaturan pesan dilakukan, akan dilakukan algoritma enkripsi pada pesan yaitu dengan ketentuan-ketentuan sebagai berikut :

1. Dua huruf yang terdapat pada baris yang sama di dalam bujur sangkar kunci, akan dienkripsi menjadi huruf yang berada di kanannya.

(5)

3. Jika dua huruf tidak berada pada baris maupun kolom yang sama di dalam bujur sangkar kunci, maka huruf pertama akan dienkripsi menjadi huruf yang terletak pada perpotongan antara baris huruf pertama dengan kolom huruf kedua. Sedangkan huruf kedua akan dienkripsi menjadi huruf yang terletak pada titik sudut keempat dari persegi panjang yang dibentuk dari tiga huruf yang telah digunakan.

Untuk dekripsi tinggal dilakukan kebalikan dari enkripsi, seperti diuraikan sebagai berikut:

1. Memisahkan pesan menjadi digraph. 2. Satu per satu dicocokkan ke dalam tabel.

Gambar 2.4 Proses Pengaturan Enkripsi Playfair Cipher

Kebalikan dari enkripsi, huruf pertama digraph dimasukkan ke tabel sebelah kanan dan huruf keduanya diposisikan di sebelah kiri (atau memasukkan huruf pertama di persegi atas dan huruf kedua di persegi bawah bagi two-square versi vertikal).

3. Dicari perpotongan dari huruf tersebut. Jika kedua huruf terletak dalam baris yang sama, digeser ke kiri. Jika berada di baris berbeda, huruf pesan asli sejajar dengan pesan hasil enkripsi.

(6)

Pada penelitian ini metode sandi playfair akan diimplementasikan untuk menyandikan sebuah citra. Hal ini dimungkinkan mengingat sebuah citra dapat direpresentasikan dalam sebuah matriks yang berisi bilangan-bilangan bulat seperti yang digunakan pada matrik kunci pada metode playfair cipher. Proses enkripsi yang dikembangkan untuk data citra dilakukan dengan menggunakan pasangan bilangan yang mewakili intensitas warna dari citra. Citra yang digunakan dalam pengujian penelitian ini dibatasi pada citra dengan format bmp 24 bit dengan tingkat kontras dan kedetilan yang berbeda untuk membandingkan hasil enkripsi citra. Matriks kunci yang digunakan untuk metode playfaircipher adalah matrik berordo 16 x 16.

Langkah-langkah enkripsi adalah sebagai berikut :

1. Bentuk matriks bujur sangkar yang akan menjadi kunci dengan jumlah disesuaikan dengan semesta pembicaraan yang digunakan sebagai dasar. Misalkan pada citra yang mempunyai derajad keabuan 256 maka kunci yang akan digunakan untuk menyandikan citra adalah matriks bujur sangkar dengan ukuran 16 x 16 dengan nilai elemennya adalah bilangan bulat acak antara 0 sampai dengan 255.

2. Ciphering menggunakan setiap pasangan intensitas citra dalam plainteks untuk masing-masing kanal warna. Plainteks dibagi dalam blok-blok dimana setiap blok berisi 2 piksel (m1 dan m2) pada masing-masing baris untuk setiap kanal warna. 3. Proses ciphering pada masing-masing kanal warna dilakukan dengan cara :

a. jika m1 dan m2 terdapat pada baris yang sama dalam matriks kunci maka c1 diambil dari 1 piksel sebelah kanan m1, c2 diambil dari 1 pixel sebelah kanan m2 pada matriks kunci.

b. jika m1 dan m2 terdapat pada kolom yang sama dalam matriks maka c1 dan c2 masing-masing diambil dari 1 piksel dibawah m1 dan m2 pada matriks kunci. c. jika m1 dan m2 berbeda baris dan kolom dalam matriks kunci maka c1 diambil dari pertemuan baris piksel m1 dan kolom m2, dan c2 diambil dari pertemuan baris m2 dan kolom m1 pada matrik kunci.

(7)

Sebagai contoh proses enkripsi citra dengan playfair cipher adalah sebagai berikut: a. Lakukan proses transformasi warna sehingga nilai RGB tiap piksel terpisah

menjadi komponen Red, Green dan Blue (untuk citra warna). Tetapi untuk citra grayscale tidak perlu dilakukan proses transformasi warna.

b. Kemudian untuk citra warna, masing-masing komponen warna (Red, Green, Blue) dibagi menjadi blok plainteks yang terdiri dari 2 piksel untuk setiap baris pada setiap komponen warna. Sebagai contoh untuk komponen Red diperoleh matriks citra pada baris 1 s.d 256 dan kolom 1 s.d 256 seperti terlihat pada Gambar 2.

Gambar 2.5 Contoh Potongan Matriks Untuk Komponen Warna Merah Hasil Digitalisasi Citra

Maka blok plainteks ke-1 diambil dari komponen citra pada baris 1 kolom 1 dan 2 yaitu:

Tabel 2.1 Blok Plainteks ke-1 139 175

Blok plainteks ke-2 diambil dari komponen citra pada baris 1 kolom 3 dan 4 yaitu:

Tabel 2.2 Blok Plainteks ke-2 167 159

Dan seterusnya sampai dengan baris ke 256.

(8)

Gambar 2.6 Potongan Matriks Untuk Komponen Warna Merah Hasil Digitalisasi Citra

d. Gantikan tiap blok plainteks dengan nilai piksel pada matriks kunci dengan menggunakan aturan yang telah dijelaskan di atas. Misal kunci yang digunakan seperti terlihat pada tabel 2.1 dan blok plainteks yang digunakan adalah blok plainteks ke-1 yaitu 139 dan 175. Pada tabel 2.1 terlihat bahwa posisi nilai 139 dan 175 berbeda baris dan kolom seperti terlihat pada Gambar 2.4, sehingga cipherteks menggunakan aturan ke-3. Dari Gambar 2.4, maka didapat: untuk plainteks 139 digantikan dengan nilai 241, dan plainteks 175 digantikan dengan nilai 118.

Langkah tersebut dilakukan pada semua blok plainteks untuk semua komponen warna. Untuk langkah dekripsi dilakukan dengan langkah yang sama dengan proses enkripsi.

Sedangkan langkah-langkah untuk proses dekripsi caranya adalah sebagai berikut:

1. Sama dengan proses enkripsi yaitu menggunakan matriks kunci yang sama untuk proses enkripsi.

2. Proses ciphering dilakukan dengan cara:

Jika c1 dan c2 terdapat pada baris yang sama dalam matriks kunci maka m1 diambil dari 1 piksel sebelah kiri c1, m2 diambil dari 1 pixel sebelah kiri c2 pada matriks kunci.

a. Jika c1 dan c2 terdapat pada kolom yang sama dalam matriks maka m1 dan m2 masing-masing diambil dari 1 piksel diatas m1 dan m2 pada matriks kunci. b. Jika c1 dan c2 berbeda baris dan kolom dalam matriks kunci maka m1 diambil

dari pertemuan baris c1 dan kolom c2, dan m2 diambil dari pertemuan baris c2 dan kolom c1 pada matriks kunci.

(9)

45 241 67 139 20 2 9 20 65 24 200 20 5 0 10 218 65 169 96 199 65 25 10 45 75 96 45 14 100 90 45 47 69 175 5 118 65 25 10 45 75 96 45 14 100 90 45 47

Gambar 2.7 Potongan Matriks Citra Cipherteks

Misalkan pasangan kunci c1 dan c2 adalah 139 dan 175 dengan posisi berbeda baris dan kolom, maka plainteks diambil dari nilai piksel pertemuan baris c1 dan kolom c2 dan diperoleh plainteks 241 dan 118. Selanjutnya gantikan nilai 118 dengan 175 dan 139 dengan 241 sebagai plainteks. [9]

2.4. Algoritma ElGamal

Algoritma ElGamal merupakan salah satu algoritma modern yang ditemukan oleh Taher ElGamal pada tahun 1985. Algotma Enkripsi ElGamal merupakan algoritma enkripsi yang menggunakan kunci asimetris untuk kunci publiknya di mana kunci publik ini berbasis pertukaran kunci Diffie-Hellman [6].

Keamanan pada algoritma ElGamal terletak pada perhitungan logaritma diskrit yang sulit. Properti-properti dari algoritma ElGamal ini adalah :

1. p merupakan bilangan prima dan bersifat tidak rahasia. 2. g merupakan bilangan acak di mana g < p.

3. x adalah kunci privat yang merupakan bilangan acak di mana x < p.

4. y adalah kunci publik yang diperoleh dari hasil perhitungan gx mod p dan bersifat tidak rahasia.

5. m adalah pesan yang akan dienkripsi.

6. a dan b merupakan cipherteks yang bersifat tidak rahasia.

a. Algoritma pembangkitan kunci ElGamal dilakukan sebagai berikut : 1. Memilih bilangan prima p secara sembarang.

2. Memilih dua bilangan acak yaitu bilangan g dan x yang memenuhi syarat g < p

dan 1 ≤ x ≤ p-2.

(10)

Hasil dari pembangkitan kunci ElGamal ini adalah :

 Kunci publik : triple <y, g, p>

 Kunci privat : pasangan <x, p>

b. Algoritma enkripsi dilakukan sebagai berikut :

1. Menyusun pesan menjadi blok-blok m1, m2, dst di mana nilai setiap blok berada pada selang [0, p-1].

2. Memilih bilangan acak k yang memenuhi syarat 1 ≤ k ≤ p-2.

3. Blok-blok yang telah disusun, masing-masing dienkripsi dengan menggunakan rumus : a = gx mod p dan b = ykm mod p

Pasangan dari a dan b merupakan cipherteks untuk blok pesan. Dengan demikian, dapat diketahui apabila ukuran cipherteks yang dihasilkan dari proses ini akan menjadi dua kali lipat ukuran pesannya.

Sebagai contoh suatu file citra yang memiliki format piksel 24 bit, maka hasil dari pemrosesan menggunakan program Sistem Kriptografi ElGamal akan dibandingkan dengan hasil pemrosesan dengan cara perhitungan. Berikut ini merupakan hasil analisa dari proses enkripsi yang mengambil nilai masukan yaitu suatu file yang memiliki ukuran luas citra 200 x 300 dengan asumsi nilai R, G, B seperti pada Gambar 2.7.

Gambar 2.8 Contoh Nilai RGB Citra Digital

(11)

serta bilangan acak k =2. Sehingga dari hasil masukan tersebut dapat dihitung nilai-nilai sebagai berikut.

a = gk mod p

= 2992 mod p = 7

Blok pesan yang diilustrasikan pada Gambar 2.4 kemudian dihitung dengan

menggunakan rumus b = yk m mod p, dengan mengambil salah satu koordinat sebagai contoh yaitu koordinat f (202,300) memiliki intensitas R =200,G =100, B =255.

b (R) = 2562 * 200 mod 317 = 65536 * 200 mod 317 = 13107200 mod 317 = 201

b (G) = 2562 * 100 mod 317 = 65536 * 100 mod 317 = 6553600 mod 317 = 259

b (B) = 2562 * 255 mod 317 = 65536 * 255 mod 317 = 16711680 mod 317 = 74

Jadi nilai RGB pada koordinat f (202,300) setelah mengalami proses enkripsi adalah (201, 259, 74), sedangkan nilai a dan b adalah pasangan ciphertext. Sehingga dari hasil perhitungan tersebut dapat disusun nilai RGB ciphertext seperti Gambar 2.8.

(12)

c. Algoritma Proses Dekripsi

Proses dekripsi menggunakan kunci pribadi x dan p untuk mendekripsi a dan b menjadi plaintext m dengan persamaan:

(ax)-1 = ap-1-x mod p (1)

m = b*ax mod p (1)

Sehingga plaintext dapat ditemukan kembali dari pasangan ciphertext a dan b.

(ax)-1 = ap-1-x mod p ... (1)

m = b*ax mod p ... (2) Sehingga plaintext dapat ditemukan kembali dari pasangan ciphertext a dan b. Pada proses dekripsi berikut ini mengambil nilai koordinat f (202,300) pada file citra yang sebelumnya telah dienkripsi pada Gambar 6 dengan nilai R =201, G =259, B =74, kunci private = 152, p= 317 dengan menggunakan persamaan (1) dan (2) maka proses dekripsi dilakukan seperti berikut.

(ax)-1 = a317-1-152 mod 317

= 7164 mod 317 = 42

m(R) = b*ax mod p = 201 * 42 mod 317 = 200

m(G) = b/ax mod p = 259 * 42 mod 317 = 100

m(B) = b/ax mod p = 74 * 42 mod 317 = 255

(13)

Gambar 2.10 Nilai RGB Plaintext

2.5. Analisis Perbandingan Algoritma Playfair Cipher dan ElGamal

Algoritma Playfair Cipher merupakan algoritma klasik yang masih sangat sering digunakan pada era sekarang. Hal ini dikarenakan keamanan yang terletak pada bujur sangkar kunci dan juga pada cara enkripsi yang menggunakan pasangan-pasangan huruf sehingga menyulitkan analisis dengan menggunakan perhitungan frekuensi kemunculan huruf. Sedangkan algoritma ElGamal merupakan algoritma modern yang cukup sering digunakan pada kriptografi. Hal ini dikarenakan algoritma ini memiliki keamanan yang terletak pada perhitungan logaritma diskrit.

Dengan menganalisis keduanya, maka diharapkan akan dapat diketahui keunggulan dan kekurangan masing-masing metode dan dapat dibandingkan mana algoritma yang terbaik yang lebih baik digunakan dalam proses kriptorgrafi citra.

Pada penelitian Setyaningsih, penyandian citra diimplementasikan untuk menyandikan sebuah citra yang dapat direpresentasikan dalam sebuah matriks yang berisi bilangan-bilangan bulat seperti yang digunakan pada matrik kunci pada metode playfair cipher. Proses enkripsi yang dikembangkan untuk data citra dilakukan dengan menggunakan pasangan bilangan yang mewakili intensitas warna dari citra [9].

(14)

Gambar

Gambar 2.1 Matriks Citra Digital
Gambar 2.3 Proses Pengaturan Enkripsi Playfair Cipher
Gambar 2.4 Proses Pengaturan Enkripsi Playfair Cipher
Gambar 2.6 Potongan Matriks Untuk Komponen
+5

Referensi

Dokumen terkait

Perbedaan kualitas perairan juga berpengaruh pada nilai rendemen alginat, bahwa rerata rendemen alginat dari perairan Teluk Awur lebih tinggi bila dibanding dengan

Penelitian ini bertujuan untuk merancang sistem pakar yang dapat mendeteksi gangguan-gangguan yang terjadi pada masa kehamilan, membantru calon ibu dalam mengetahui gangguan

From these observations, it appears that luminal fluid is not being removed by the ductal epithelium or that there is an excess of fluid secreted by the testis, causing fluids

[r]

1) Kelemahan dari sisi channel adalah konter zakat yang masih terbatas. Hal ini dirasakan oleh para muzakki atau calon muzakki yang hendak membayar zakat secara

The scorch and cure times of natural rubber/styrene butadiene blended compound increase with increasing the content of styrene butadiene rubber. A 75/25 blend ratio

permainan petak umpet secara bergantian dengan tertib dan

Guru menunjuk beberapa siswa untuk maju dan menjelaskan hasil diskusi tentang pengurangan dan penjumlahan pecahan biasa dengan bimbingan guruB. Guru memberikan