Dimana: fx,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 fx,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
membukamengupas 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.
Universitas Sumatera Utara
3. Otentikasi
Autentication
Otentikasi adalah berhubungan dengan identifikasipengenalan, 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 pengirimanterciptanya
suatu informasi
oleh yang
mengirimkanmembuat. [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
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
45 241 67
139
20 2 9
20 65 24 200 20 5 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