BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 1 PENDAHULUAN. Universitas Sumatera Utara

ERWIEN TJIPTA WIJAYA, ST.,M.KOM KEAMANAN INFORMASI

K i r p i t p o t g o ra r f a i

BAB 2 LANDASAN TEORI

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB

BAB 2 LANDASAN TEORI

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI.

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Algoritma Enkripsi Playfair Cipher

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

BAB III ANALISIS DAN DESAIN SISTEM

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI. Kriptografi mempunyai peranan penting dalam dunia komputer. Hal ini

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB II LANDASAN TEORI

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL

Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

: IMPLEMENTASI ALGORITMA KRIPTOGRAFI ELGAMAL UNTUK FILE CITRA 2 DIMENSI

Pertemuan 2 Representasi Citra

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

dan c C sehingga c=e K dan d K D sedemikian sehingga d K

PENGGUNAAN KRIPTOGRAFI DAN STEGANOGRAFI BERDASARKAN KEBUTUHAN DAN KARAKTERISTIK KEDUANYA

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN 1.1. LATAR BELAKANG

Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi(arjana, et al. 2012):

ALGORITMA LOGICAL CIPHER

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

Penerapan Metode End Of File Pada Steganografi Citra Gambar dengan Memanfaatkan Algoritma Affine Cipher sebagai Keamanan Pesan

BAB II LANDASAN TEORI

BAB Kriptografi

ENKRIPSI AFFINE CIPHER UNTUK STEGANOGRAFI PADA ANIMASI CITRA GIF

PENGGUNAAN KRIPTOGRAFI DAN STEGANOGRAFI BERDASARKAN KEBUTUHAN DAN KARAKTERISTIK KEDUANYA

BAB II TINJAUAN PUSTAKA

Bab 2 Tinjauan Pustaka

PENGGUNAAN METODE HILL CIPHER UNTUK KRIPTOGRAFI PADA CITRA DIGITAL. Muhammad Rizal 1), Afdal 2)

ENKRIPSI CITRA BITMAP MELALUI SUBSTITUSI WARNA MENGGUNAKAN VIGENERE CIPHER

PENERAPAN METODE MOST SIGNIFICANT BIT UNTUK PENYISIPAN PESAN TEKS PADA CITRA DIGITAL

Beberapa Algoritma Kriptografi Klasik. Haida Dafitri, ST, M.Kom

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

Elliptic Curve Cryptography (Ecc) Pada Proses Pertukaran Kunci Publik Diffie-Hellman. Metrilitna Br Sembiring 1

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN TEORETIS

Perancangan dan Implementasi Kriptografi Menggunakan Algoritma CryptMT Pada Data Citra Artikel Ilmiah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

BAB II TINJAUAN PUSTAKA

I. PENDAHULUAN. Key Words Tanda Tangan Digital, , Steganografi, SHA1, RSA

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB

Cryptography. Lisa Anisah. Abstrak. Pendahuluan. ::

Modifikasi Playfair Chiper Dengan Kombinasi Bifid, Caesar, dan Transpositional Chiper

BAB 1 PENDAHULUAN Latar belakang

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

Kriptografi untuk Huruf Hiragana

Analisa Perbandingan Algoritma Monoalphabetic Cipher Dengan Algoritma One Time Pad Sebagai Pengamanan Pesan Teks

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA

BAB I PENDAHULUAN. 1.1 Latar Belakang

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

BAB II LANDASAN TEORI

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Super-Playfair, Sebuah Algoritma Varian Playfair Cipher dan Super Enkripsi

BAB III ANALISIS DAN DESAIN SISTEM

Penerapan ECC untuk Enkripsi Pesan Berjangka Waktu

MAKALAH KRIPTOGRAFI KLASIK

BAB II TINJAUAN PUSTAKA

Studi Digital Watermarking Citra Bitmap dalam Mode Warna Hue Saturation Lightness

BAB 2 LANDASAN TEORI

RANCANGAN KRIPTOGRAFI HYBRID KOMBINASI METODE VIGENERE CIPHER DAN ELGAMAL PADA PENGAMANAN PESAN RAHASIA

IMPLEMENTASI ALGORITMA KRIPTOGRAFI RIVEST SHAMIR ADLEMAN (RSA) DAN VIGENERE CIPHER PADA GAMBAR BITMAP 8 BIT

Analisa Hasil Perbandingan Metode Low-Pass Filter Dengan Median Filter Untuk Optimalisasi Kualitas Citra Digital

Transkripsi:

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. Gambar 2.1 Matriks Citra Digital

7 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) Integritas adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.

8 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. Kunci yang digunakan dalam proses enkripsi, disusun di dalam sebuah bujur sangkar yang memiliki ukuran 5x5. Di dalam bujur sangkar ini akan terdapat semua alfabet namun tanpa huruf J. Untuk melakukan proses enkripsi dengan algoritma Playfair Cipher, dilakukan dengan terlebih dahulu mengisi bujur sangkar kunci. Proses pengisian bujur sangkar kunci ini dilakukan pertama-tama dengan kesepakatan pengirim pesan dan penerima pesan akan kata kunci yang akan digunakan. Kata kunci ini akan dituliskan pada bujur sangkar. Setelah itu sisa dari elemen-elemen bujur sangkar kunci yang belum diisi, akan diisi dengan alfabet A-Z tanpa huruf J yang belum ada pada bujur sangkar kunci. Sebagai contoh, misalkan kata kunci yang

9 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. 2. Dua huruf yang terdapat pada kolom yang sama di dalam bujur sangkar kunci, akan dienkripsi menjadi huruf yang berada di bawahnya.

10 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. 4. Mencari periode (jika pesan dibagi ke dalam beberapa periode) untuk menemukan plaintext yang memiliki makna.

11 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 playfair cipher 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. d. Jika m1 = m2 maka cipherteks adalah c1=m1 dan c2=m2.

12 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. c. Pilih matriks kunci berukuran 16 x 16 dengan elemen nilainya antara 0 sampai dengan 255 dengan posisi acak.

13 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. c. Jika c1 = c2 maka plainteks adalah adalah m1=c1 dan m2=c2.

14 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 g x 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. 3. Menghitung y dengan rumus : y = g x mod p

15 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 = g x mod p dan b = y k m 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 Nilai tersebut adalah asumsi nilai RGB dari setiap piksel, sehingga diperoleh nilai x dan y misal untuk posisi f (1,1) = ( 255 255 255 ); f (2,1) = ( 200 200 150 ); f(1,300) = (100 0 255), dengan nilai kunci publik p =317, g =299, y =256,

16 serta bilangan acak k =2. Sehingga dari hasil masukan tersebut dapat dihitung nilai-nilai sebagai berikut. a = g k mod p = 299 2 mod p = 7 Blok pesan yang diilustrasikan pada Gambar 2.4 kemudian dihitung dengan menggunakan rumus b = y k 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) = 256 2 * 200 mod 317 = 65536 * 200 mod 317 = 13107200 mod 317 = 201 b (G) = 256 2 * 100 mod 317 = 65536 * 100 mod 317 = 6553600 mod 317 = 259 b (B) = 256 2 * 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. Gambar 2.9 Nilai RGB Ciphertext

17 c. Algoritma Proses Dekripsi Proses dekripsi menggunakan kunci pribadi x dan p untuk mendekripsi a dan b menjadi plaintext m dengan persamaan: (ax) -1 = a p-1-x mod p (1) m =b*a x mod p (1) Sehingga plaintext dapat ditemukan kembali dari pasangan ciphertext a dan b. (ax) -1 = a p-1-x mod p... (1) m =b*a x 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 = a 317-1-152 mod 317 = 7 164 mod 317 = 42 m(r) = b*a x 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 Setelah proses dekripsi dilakukan dapat disusun kembali titik koordinat f (202,300) menjadi (200 100 255). Berikut ini adalah susunan nilai RGB plaintext suatu file setelah dilakukan proses dekripsi [11].

18 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]. Berdasarkan hasil penelitian Tamam, Taufiq et al., algoritma ElGamal diimplementasikan untuk menyandikan sebuah citra berdimensi 202 x 300 piksel. Pada penelitian ini sebagai langkah awal yang harus dilakukan adalah proses generate key yaitu dengan memasukkan nilai batas random antara nilai 15 sampai 300. Nilai batas random yang telah dimasukkan tersebut kemudian digunakan untuk membangkitkan nilai prima (p), nilai (g), nilai (x). Selanjutnya pada proses enkripsi yaitu pemasukkan password untuk mengambil nilai kunci publik (p, g, y) dari dalam

19 basis data yang merupakan hasil dari proses generate key. Langkah selanjutnya yaitu mengambil citra plaintext dengan tipe bitmap. Hasil proses enkripsi dilakukan perbandingan ukuran file citra sebelum maupun sesudah mengalami proses enkripsi dalam satuan byte dengan tipe data Este [11].