Upload
leanh
View
265
Download
5
Embed Size (px)
Citation preview
BAB II
TINJAUAN PUSTAKA
1.1 Tinjauan Studi
1. IMPLEMENTASI WATERMARKING PADA CITRA DIGITAL
MENGGUNAKAN METODE LSB
Jurnal ini membahas tentang penggunaan algoritma LSB dan teknik
watermarking dalam mengaman media dari serangan penyalahgunaan hak cipta.
Dengan Digital Image Watermarking, hak cipta foto digital yang dihasilkan akan
terlindungi melalui penyisipan informasi tambahan seperti informasi pemilik dan
keaslian pada foto digital. Least Significant Bit (LSB) merupakan salah satu
algoritma yang sederhana dan mudah dipahami. Penyisipan watermarking ke
citra digital dengan LSB, dijalankan melalui aplikasi desktop. Aplikasi ini dibuat
dengan bahasa program Matlab 7.7.0 (R2008b). Hasil percobaan yang telah
dilakukan menunjukkan ukuran file citra sebelum dan sesudah dilakukannya
watermarking memiliki jumlah bit yang sama persis, artinya proses
watermarking tidak mempengaruhi ukuran file sebelum dan sesudah
dilakukannya proses watermarking.
2. Aplikasi Watermarking Citra Digital Pada Mobile Device Menggunakan
J2ME
Jurnal ini membahas mengenai pembuatan aplikasi watermarking dari
sebuah citra pada mobile device yang mendukung fitur kamera. Aplikasi ini
dikembangkan dengan menggunakan bahasa pemograman JAVA khusunya J2ME
yang menyediakan berbagai interface untuk melakukan pengambilan citra melalui
kamera mobile device. Aplikasi ini juga dapat menghitung lamanya waktu untuk
proses penyisipan dan pendeteksian sebuah file citra. Penulis menggunakan PSNR
untuk membandingkan hasil citra sebelum dan sesudah diwatermark. Hasil
pengujian menunjukkan bahwa mobile device memiliki kemampuan untuk
melakukan proses digital image wateramarking pada sebuah citra yang diambil
dari fitur kameranya tanpa menurunkan kualitas dari citra tersebut. Selain itu,
implementasi dari digital image watermarking pada mobile device ini memiliki
keterbatasan dalam melakukan proses algoritma penyisipan watermark dan
2
ekstrasi atau deteksi watermark dari citra yang dihasikannya dikarenakan
keterbatasan melakukan komputasi dan kapasitas memori dari mobile device
tersebut.
3. Rancang Bangun Program Kriptografi Advanced Encryption Standard
(Sumi Khairani, Fhery Agustin, & Ananda Fahmi, 2009)
Pada penelitian ini, penulis menjelaskan setiap langkah yang terdapat pada
algoritma AES Selanjutnya dari langkah-langkah yang terdapat dalam algoritma
AES penulis mengimplementasikan ke dalam aplikasi yang berfungsi untuk
mengamankan data berupa file text yang tersedia pada keyboard. Hasil dari
aplikasi tersebut adalah aplikasi telah berjalan dengan baik dimana pada proses
enkripsi telah berhasil mengubah file text asli (plaintex), menjadi file text yang
tidak dapat dimengerti maksudnya (ciphertext), dan pada proses dekripsi telah
berhasil mengubah file text hasil enkripsi kembali menjadi file text asli.
4. DIGITAL IMAGE WATERMAKING PADA MOBILE DEVICE
Jurnal ini membahas mengenai studi dan implementasi digital image
watermarking dari sebuah citra pada mobile device yang mendukung fitur kamera.
Implementasi digital image watermarking dalam makalah ini meliputi penerapan
penggunaannya pada mobile device secara otomatis ketika citra diambil dari
kamera handphone. Sebuah perangkat lunak yang bernam JepretRight akan
dibangun pada sebuah mobile device untuk mendukung implementasi dari digital
image watremarking. Perangkat lunak ini dikembangkan dengan menggunakan
bahasa pemograman JAVA khusunya J2ME yang menyediakan berbagai interface
untuk melakukan pengambilan citra melalui kamera mobile device. Perangkat
lunak JepretRight tersebut kemudian akan digunakan untuk melakukan
penyimpanan kunci yang digunakan untuk melakukan digital image watermarking
sehingga tingkat keamanan dari citra yang dihasilkan dapat dijaga. Tingkat
keamanan dari digital image watermarking ini dilakukan dengan mengoperasikan
pixels dari citra yang dihasilkan serta tetap berusaha mempertahankan kualitas
dari citra yang sebenarnya. Kemudian, perangkat lunak ini membandingkan citra
yang asli dengan citra yang dihasilkan dari dekripsi citra yang berwatermark.
Hasil pengujian menunjukkan bahwa mobile device memiliki kemampuan untuk
3
melakukan proses digital image wateramarking pada sebuah citra yang diambil
dari fitur kameranya tanpa menurunkan kualitas dari citra tersebut.
5. IMPLEMENTASI WATERMARKING PADA CITRA MEDIS MENGGUNAKAN
METODE DISCRETE WAVELET TRANSFORM (DWT)
Jurnal ini membahas tentang penelitian untuk menyisipkan watermark dan
mendeteksi sekaligus mengekstrak watermark pada citra medis. Metode yang
digunakan adalah metode Discrete Wavelet Transform (DWT). Citra medis yang
akan disisipi watermark didekomposisi 1 level menggunakan filter Haar Wavelet
untuk mendapatkan rentang frekuensi (subband) LL, LH, HL, dan HH.
Penyisipan watermark dilakukan terhadap setiap rentang frekuensi hasil
dekomposisi citra medis, kemudian dibandingkan hasil penyisipan dari setiap
rentang frekuensi yang memiliki kualitas citra hasil watermark yang terbaik
dimana nilai PSNR adalah sebagai salah satu parameternya. Hasil pengujian
menujukkan bahwa penyisipan watermark pada citra medis paling baik dilakukan
terhadap rentang frekuensi LL hasil dekomposisi citra medis, karena dapat
menghasilkan citra medis ber-watermark dengan kualitas yang paling bagus
diantara rentang frekuensi yang lainnya. Terbukti dengan perhitungan nilai
kualitas citra (PSNR) terhadap semua citra medis uji dan semua rentang
frekuensi, rentang frekuensi LL adalah rentang yang menghasilkan nilai kualitas
citra hasil penyisipan paling besar dan nilai error (MSE) antara citra medis asli
dan citra medis ber-watermark yang paling kecil dibandingkan dengan rentang
frekuensi yang lainnya.
2.2 Watermarking
Watermarking merupakan salah satu bentuk dari steganography, yang
dapat diartikan sebagai suatu teknik penyembunyian data atau informasi kedalam
suatu data lainnya untuk “ditumpangi” (biasa disebut host data). Orang lain tidak
menyadari kehadiran adanya data tambahan pada data host-nya. Jadi seolah-olah
tidak ada perbedaan signifikan antara data host sebelum dan sesudah proses
watermarking.
Watermark merupakan sebuah informasi yang disisipkan pada media lain
dengan tujuan melindungi media yang disisipi oleh informasi tersebut dari
4
pembajakan, penyalahgunaan hak cipta, dan sebagainya, watermarking sendiri
adalah cara untuk menyisipkan watermark ke dalam media yang ingin dilindungi
hak ciptanya (Tuakia.N.M).
Adapun fungsi utama secara umum dari watermarking, antara lain (Tuakia.N.M):
a. Proteksi Hak Cipta
Tujuan watermark dalam perlindungan hak cipta adalah sebagai bukti otentik
atas hak kepemilikan pencipta atas konten yang dibuat atau diproduksinya
b. Fingerprinting
Tujuan watermark adalah mengidentifikasi setiap penggunaan dan distribusi
suatu content.
c. Proteksi terhadap penggandaan (copy protection)
Watermark berfungsi melindungi konten dari duplikasi dan pembajakan.
d. Autentikasi citra
Watermark berfungsi dalam proses autentikasi, sehingga modifikasi dari suatu
citra dapat terdeteksi
Bentuk watermark pada digital watermarking terdapat empat jenis berdasarkan
media digital yang disisipi, yaitu:
1. Text watermarking
Watermark disisipkan pada media digital seperti dokumen atau teks.
2. Image watermarking
Watermark disisipkan pada citra digital.
3. Audio watermarking
Watermark disisipkan pada file audio digital, seperti mp3, mpeg, dan
sebagainya.
4. Video watermarking
Watermark disisipkan pada gambar bergerak atau disebut dengan video
digital.
Jenis watermark berdasarkan persepsi manusia dibagi menjadi dua jenis :
1. Visible Watermarking
5
Merupakan jenis watermark dapat dilihat oleh panca indra manusia (mata
telanjang). Sifat watermark ini sangat kuat bahkan sangat sulit dihapus
keberadaannya walaupun tidak menjadi bagian dari image. Sebagai
contohnya adalah logo transparan yang biasa diletakkan di pojok-pojok pada
hasil foto.
2. Invisible Watermarking
Watermark jenis ini tidak dapat dilihat oleh pancaindera, yang bertujuan
memberikan informasi yang bersifat rahasia dan untuk melindungi hak cipta
orang lain dari orang yang tidak bertanggung jawab. Jenis watermark ini
dapat dilihat melalui proses komputasi yaitu dengan cara mengekstrak
gambar yang ter-watermark.
Sebuah teknik watermarking yang bagus harus memenuhi persyaratan berikut:
1. Imperceptibility
Keberadaan watermark tidak dapat dilihat oleh indra manusia. Hal ini untuk
menghindari gangguan pengamatan visual.
2. Key uniqueness
Bila digunakan kunci sebagai pengamanan maka kunci yang berbeda harus
menghasilkan watermark yang berbeda pula.
3. Noninvertibility
Secara komputasi sangat sukar menemukan watermark bila yang diketahui
hanya citra ber-watermark saja.
4. Image dependency
Membuat watermark bergantung pada isi citra dengan cara membangkitan
watermark dari nilai hash (message digest) citra asli karena nilai hash
bergantung pada isi citra.
5. Robustness
Watermark harus kokoh terhadap berbagai manipulasi operasi, seperti
penambahan derau aditif (Gaussian atau non-Gaussian), kompresi (seperti
JPEG), transformasi geometri (seperti rotasi, perbesaran, perkecilan), dan
lain-lain.
6. Fidelity
6
Mutu citra penampung tidak jauh berubah setelah penambahan data rahasia
atau watermark, dengan kata lain citra hasil watermarking masih terlihat
dengan baik. Pengamat tidak mengetahui kalau pada citra tersebut sudah
tersisipi data rahasia. Untuk data penampung yang berkualitas tinggi, maka
fidelity dituntut setinggi mungkin sehingga tidak merusak data aslinya.
7. Tamper resistence
Ketahanan sistem watermarking terhadap kemungkinan adanya serangan atau
usaha untuk mengubah, menghilangkan, bahkan untuk memberikan
watermark palsu terhadap data penampung.
8. Recovery
Data yang disembunyikan harus dapat diungkapkan kembali. Karena tujuan
dari watermarking adalah penyembunyian data, maka sewaktu-waktu data
rahasia dalam citra penampung harus dapat diambil kembali untuk dapat bisa
digunakan lebih lanjut.
2.3 Android
Android adalah sebuah system operasi untuk Smartphone dan Tablet. Android
dikembangkan oleh perusahaan - perusahaan yang tergabung dalam sebuah
konsorsium bernama Open Handset Alliance (OHA). OHA dipimpin oleh Google
dan didirikan bersama 34 perusahaan lainnya, dengan tujuan untuk
mengembangkan teknologi mobile device. Sekarang ini, anggota konsorsium
sudah berjumlah 84 perusahaan yang bergerak di berbagai bidang seperti pembuat
device, semikonduktor, pembuat aplikasi, komersialisasi, dan mobile operator.
(Alfa Satyaputra & Eva Maulina, 2014).
Android merupakan sistem operasi yang bersifat open source (sumber
terbuka). Disebut open source karena source code (kode sumber) dari sistem
operasi android dapat dilihat, di-download, dan dimodifikasi secara bebas.
Paradigma open source ini memudahkan pengembang teknologi Android, karena
semua pihak yang tertarik dapat memberikan konstribusi, baik pada
pengembangan system operasi maupun aplikasi. (Alfa Satyaputra & Eva Maulina,
2014)
7
2.4 LSB (Least Significant Bit)
Metode LSB (Least Significant Bit) merupakan salah satu metode
watermarking yang bekerja dalam mode warna RGB (Red, Green, Blue). Metode
ini bekerja dengan cara menyisipkan informasi pada bit-bit paling kanan dari
setiap elemen RGB. Perubahan bit paling kanan hanya menimbulkan perubahan
nilai RGB sebesar 1 dari 256 warna yang ada. Perubahan tersebut tidak dapat
dideteksi dengan mata telanjang. Namun dengan komputer, misalnya
menggunakan metode Enhanced LSB, dapat dideteksi dengan mudah apakah
gambar mengandung watermark atau tidak. Metode LSB mudah untuk dideteksi
karena penyisipan informasi dilakukan secara langsung dalam bit-bit dokumen
tanpa melalui proses pengacakan (Solichin.A)
2.4.1 Advance least significant bit (ALSB)
Teknik ALSB (Advance least significant bit) merupakan perkembangan dari
metode LSB.Teknik ini dikembangkan oleh Kekre et al (2008) untuk
meningkatkan kapasitas penyisipan pesan rahasia kedalam cover-object. Sebelum
dilakukan penyisipan pesan, digunakan 8-bit kunci dan dilakukan proses XOR
dengan semua byte dari pesan yang akan disisipkan. Proses penyisipan dari
algoritma ini digambarkan pada flowchart pada:
8
Gambar 2.1 Flowchart penyisipan bit pesan Advance least significant bit (Kekre, 2012)
Langkah-langkah dalam penyisipan pesan adalah sebagai berikut :
1. Dimisalkan nilai dari pixel adalah 𝑔𝑖. Apabila nilai pixel 240 ≤ 𝑔𝑖 ≤ 255maka
lakukan penyisipan 4 bit dari pesan rahasia kedalam 4 bit LSB padapixel
cover-object. Hal ini dapat dilakukan dengan mengamati 4 bit MSBpertama.
Jika semua MSB bernilai 1, maka sisa 4 bit LSB dapat digunakan untuk
penyisipan data.
2. Jika nilai pixel 224 ≤ 𝑔𝑖 ≤ 239 maka lakukan penyisipan 3 bit dari
pesanrahasia kedalam 3 bit LSB pada pixel cover-object.
3. Jika nilai pixel 192 ≤ 𝑔𝑖 ≤ 223 maka lakukan penyisipan 2 bit dari pesan
rahasia kedalam 2 bit LSB pada pixel cover-object.
4. Dan apabila nilai pixel 0 ≤ 𝑔𝑖 ≤ 191 maka lakukan penyisipan 1 bit daripesan
rahasia kedalam 1 bit LSB pada pixel cover-object.
9
Untuk mengambil pesan rahasia, dapat diambil dengan cara memeriksa
empat bit pertama dari MSB dan menggunakan langkah-langkah penyisipan untuk
mengambil bit data rahasia. Contoh penyisipan dengan menggunakan metode
Advance least significant bit : Akan disisipkan huruf “A” kedalam sebuah gambar
dengan password “pass”. pertama dilakukan konversi huruf A mejadi biner 8 bit,
sehingga nilai desimal dari A adalah 65 dan nilai binernya adalah 01000001. Hal
yang sama juga dilakukan pada password. Panjang password “pass” adalah 4,
kemudian dirubah menjadi biner 8 bit menjadi 00000100. Kemudian dilakukan
proses XOR antara biner dengan hasil biner dari panjang pesan, sehingga menjadi
01000101. Diberikan nilai piksel merah (R) yaitu 252, nilai piksel hijau (G) yaitu
225 dan nilai piksel biru (B) yaitu 180. Nilai piksel R, G dan B dikonversi
kedalam biner 8 bit menjadi R = 11111100, G = 11100001 dan B = 10110100.
Kemudian pesan biner disisipkan kedalam biner piksel menjadi : R = 11110100,
G = 11100010 dan B = 10110101. Kemudian hasil penyisipan tersebut diubah
kembali menjadi nilai decimal yaitu : R = 244, G = 226 dan B = 181
2.5 Kriptografi
Kriptografi berasal dari bahasa yunani yang terdiri dari dua suku kata yaitu
cryptos dan graphein. Kata cryptos berarti secret atau rahasia dan graphein berarti
writing atau menulis. Jadi kriptografi berarti secret writing atau tulisan rahasia.
Seiring berjalannya waktu definisi kriptografi semakin luas, salah satu pengertian
kriptografi saat ini adalah sebagai sebuah ilmu yang mempelajari teknik-teknik
matematika yang berhubungan dengan aspek keamanan informasi seperti
kerahasiaan, integritas data, serta otentikasi (Rinaldi Munir, 2004).
Dalam kriptografi terdapat istilah plaintex dan ciphertext. Plaintex
merupakan data atau informasi yang dapat dibaca dan dimengerti maknanya,
sedangkan ciphertext adalah kebalikan dari plaintex dimana pada ciphertext, data
atau informasi sudah tidak dapat dimengerti maknanya oleh pihak lain (Rinaldi
Munir, 2004). Dengan kata lain plaintex adalah data asli yang akan
disembunyikan maknanya menjadi sebuah ciphertext sehingga tidak dapat
dimengerti oleh orang lain. Proses yang membuat agar data dari plaintex tidak
dapat dibaca dan dimengerti maknanya disebut enkripsi. Enkripsi merupakan
suatu proses menyandikan plaintex menjadi ciphertext, dan proses untuk
10
mengembalikan chipertext menjadi plaintex awal disebut dengan dekripsi (ISO
7498-2). Secara umum enkripsi dan dekripsi dapat dilihat pada Gambar.1:
Gambar 2.2 Proses enkripsi dan dekripsi (Rinaldi Munir, 2004)
Dan untuk gambaran enkripsi dan dekripsi secara matematis dapat di
notasikan sebagai berikut:
C = ciphertext
P = plaintex
Fungsi enkripsi E memetakan P ke C,
E(P) = C
Fungsi dekripsi D memetakan C ke P,
D(C) = P
Pada kriptografi modern kekuatan kriptografinya terletak pada kunci
(deretan karakter atau bilangan bulat) yang dijaga kerahasiaannya. Keamanan
merupakan salah satu contoh pengaruh dari kunci yang ada pada kriptografi
modern. Menurut Rinaldi Munir (2004) jika kunci hanya menggunakan bit yang
seluruh nilainya nol, maka ciphertext sama dengan plaintex, maka proses enkripsi
dan dekripsi menjadi tidak ada artinya, namun jika menggunakan kunci dengan
nilai bit yang benar-benar acak (truly random) maka akan menghasilkan algoritma
enkripsi dan dekripsi dengan tingkat keamanan yang baik. Sehingga semakin
rumit suatu algoritma dalam mengolah kunci yang digunakan dalam suatu proses
kriptografi maka akan semakin sulit juga seorang kriptanalis memecahkan
ciphertext.
Algoritma-algoritma kriptografi dibedakan menjadi dua macam yaitu Algoritma
dimana K1(Kunci Enkripsi) = K2 (Kunci Dekripsi) disebut algoritma kunci
simetri atau system konvensional dan algoritma dimana K1 (Kunci Enkripsi) ≠ K2
(Kunci Dekripsi) disebut algoritma kunci asimetrik atau sistem kunci publik.
11
2.6 Algoritma Kunci Simetris
Algoritma kunci simetris atau sistem konvensional merupakan algoritma
yang menggunakan satu kunci untuk proses enkripsi dan dekripsi data. Gambar
2.3 memperlihatkan bahwa untuk mengenkripsi maupun mendekripsi pesan atau
data algoritma simetrik hanya memerlukan satu kunci (K) saja.
Algoritma simetris terdiri dari algoritma Block Chiper dan Stream Chiper,
berikut merupakan pengertian dari algoritma simetris Block Chiper dan Stream
Chiper :
1) Block Chiper
Block Chiper adalah algoritma enkripsi yang akan membagi-bagi plaintex
yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t,
dan setiap blok dienkripsi dengan menggunakan kunci yang sama. Pada
umumnya, block chiper memproses plaintex dengan blok yang relatif panjang
lebih dari 64 bit (8 byte).
2) Stream Cipher
Stream Cipher adalah algoritma yang mengenkripsi data terhadap bit plaintex
dalam waktu atau bisa dibilang bit per bit seperti aliran.
2.7 Cipher-block chaining
CBC adalah salah satu dari prinsip dasar operasi yang digunakan pada
algoritma kriptografi modern. Pada langkah awal diperlukan initialization vector,
blok plaintex awal akan di XOR kan dengan initialization vector tersebut
kemudian masuk ke dalam proses enkripsi untuk mendapatkan blok ciphertext.
Dalam mode CBC sebelum blok plaintex dienkripsi, blok plaintex tersebut akan di
XOR kan dengan blok ciphertext sebelumnya. Dengan cara ini setiap blok
ciphertext bergantung pada semua blok plaintex yang diproses sampai ke titik
Gambar 2.3 Enkripsi dan Dekripsi Kunci Simetris (Rinaldi Munir, 2004)
12
dimana semua blok plaintex telah dienkripsikan. Sebaliknya pada dekripsi
langkah awal dilakukan saat blok ciphertext memasuki proses dekripsi, setelah itu
baru di XOR kan dengan initialization vector untuk mendapatkan blok plaintex
awal, langkah selanjutnya hasil dekripsi tiap blok di XOR kan dengan blok
plaintex dari proses dekripsi sebelumnya. Proses CBC dapat digambarkan pada
Gambar 2.3 :
Gambar 2.4 Mode Enkripsi dan Dekripsi Cipher-block chaining (CBC) (Morris Dworkin,
2001
2.8 Algoritma AES
AES merupakan standar algoritma kriptografi terbaru yang dipublikasikan
oleh NIST ( National Institute of Standard and Technology ) sebagai pengganti
algoritma DES ( Data Encryption Standard ) yang sudah berakhir masa
penggunaannya. Algoritma AES adalah algoritma kriptografi yang dapat
mengenkripsi dan mendekripsi data dengan panjang kunci 128 bit, 192 bit, dan
256 bit.Pada algoritma AES (Yuniati dkk, 2009) perbedaan panjang kunci akan
mempengaruhi jumlah round yang akan diimplementasikan pada algoritma AES.
Tabel 2.1 .Jumlah proses berdasarkan bit blok dan kunci
(Sumber : Yuniati dkk, 2009)
13
Pada table diatas memperlihatkan jumlah round / putaran ( Nr ) yang harus
diimplementasikan pada masing-masing panjang kunci.
Dibawah ini adalah diagram proses enkripsi dan dekripsi dari algoritma
AES.
Gambar 2.5 diagram proses enkripsi
(Sumber : Kristoforus, Aditya, 2012)
14
Gambar 2.6 diagram proses dekripsi
(Sumber : Kristoforus, Aditya, 2012)
2.9 Proses Enkripsi Advanced Encryption Standard (AES)
Proses enkripsi algoritma AES terdiri dari 4 jenis transformasi bytes, yaitu
SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey.
2.9.1 Sub bytes
Proses SubBytes adalah mengganti setiap byte state dengan byte pada sebuah
tabel yang dinamakan tabel S-Box. Sebuah tabel S-Box terdiri dari 16x16 baris
dan kolom dengan masing-masing berukuran 1 byte.
Gambar 2.7 4 S-box
( Sumber : Yuniati dkk, 2009)
15
Gambar 2.8 Proses sub bytes
( Sumber : Yuniatidkk, 2009)
2.9.2 Shift Row
Shiftrows adalah proses pergeseran bit, bit palingkiri akan dipindahkan
menjadi bit paling kanan ( rotasi bit ).
Gambar 2.9 Proses shift row
( Sumber : Yuniati dkk, 2009 )
2.9.3 Mix Columns
MixColumns mengoperasikan setiap elemen yang berada dalam satu kolom
pada state. lebih jelasnya bisa dilihat pada perkalian matriks dibawah ini :
Hasil dari perkalian matriks diatas dapat dilihat dibawah ini :
16
Berikut adalah contoh perhitungan MixColumns :
Input = D4 BF 5D 30
Output (0) = (D4*2) XOR (BF*3) XOR (5D*1) XOR (30*1)
= E(L(D4)+L(02)) XOR E(L(BF)+L(03)) XOR 5D XOR 30
= E(41+19) XOR E(9D+1) XOR 5D XOR 30
= E(5A) XOR E(9E) XOR 5D XOR 30
= B3 XOR DA XOR 5D XOR 30
= 04
Output (1) = (D4*1) XOR (BF*2) XOR (5D*3) XOR (30*1)
= D4 XOR E(L(BF)+L(02)) XOR E(L(5D)+L(03)) XOR 30
= D4 XOR E(9D+19) XOR E(88+01) XOR 30
= D4 XOR E(B6) XOR E(89) XOR 30
= D4 XOR 65 XOR E7 XOR 30
= 66
Output (2) = (D4*1) XOR (BF*1) XOR (5D*2) XOR (30*3)
= D4 XOR BF XOR E(L(5D)+L(02)) XOR E(L(30)+L(03))
= D4 XOR BF XOR E(88+19) XOR E(65+01)
= D4 XOR BF XOR E(A1) XOR E(66)
= D4 XOR BF XOR BA XOR 5D
17
= 81
Output (3) = (D4*3) XOR (BF*1) XOR (5D*1) XOR (30*2)
= E(L(D4)+L(03)) XOR BF XOR 5D XOR E(L(30)+L(02))
= E(41+01) XOR BF XOR 5D XOR E(65+19)
= E(42) XOR BF XOR (5D) XOR (E(7E)
= 67 XOR BF XOR 5D XOR 60
= E5
Hasil dari MixColumns dicari dengan menggunakan tabel Galois Field
Multiplication. Cara yang dilakukan adalah mirip dengan mencari nilai
SubByte, tetapi tabel yang digunakan bukan tabel S-Box, melainkan E-Table
dan L-Table dari Galois Field Multiplication.
Gambar 2.10 E-Table dari Galois Field Multiplication
(Sumber : Barent, 2014)
Gambar 2.11 L-Table dari Galois Field Multiplication
(Sumber : Barent, 2014)
18
2.10 Proses Dekripsi Advanced Encryption Standard (AES)
Proses dekripsi algoritma AES berbeda dengan proses enkripsi, transformasi
cipher dapat dibalikkan dan diimplementasikan dalam arah yang berlawanan.
Transformasi byte yang digunakan pada invers cipher adalah InvShiftRows,
InvSubBytes, InvMixColumns, dan AddRoundKey.
2.10.1 InvShiftRows
InvShiftRows adalah berkebalikan dengan transformasi shiftrows pada proses
enkripsi. Pada transformasi InvShiftRows, dilakukan pergeseran bit ke kanan.
Gambar 2.12 Transformasi InvShiftRows
( Sumber : Yuniatidkk, 2009 )
2.10.2 InvSubBytes
InvSubBytes adalah berkebalikan dengan transformasi SubBytes pada proses
enkripsi. Pada InvSubBytes, tiap elemen pada state dipetakan dengan
menggunakan table Inverse S-Box.
Gambar 2.13 Inverse S-Box
( Sumber : Yuniatidkk, 2009 )
19
2.10.3 InvMixColumns
Setiap kolom dalam state dikalikan dengan matrik perkalian dalam AES.
Perkalian dalam matrik dapat dilihat dibawah ini :
Hasil dari perkalian dalam matrik adalah
2.11 Add Round Key
Pada proses ini subkey digabungkan dengan state. Proses penggabungan ini
menggunakan operasi XOR untuk setiap byte dari subkey dengan byte yang
bersangkutan dari state. Untuk setiap tahap, subkey dibangkitkan dari kunci utama
dengan menggunakan proses key schedule. Setiap subkey berukuran sama dengan
state yang bersangkutan.
Gambar 2.14 Proses add round key
( Sumber : Surian, 2009 )
20
2.12 Key Schedule
Proses key schedule diperlukan untuk mendapatkan subkey-subkey dari kunci
utama agar dapat melakukan enkripsi dan dekripsi. Proses ini terdiri dari beberapa
operasi yaitu:
Operasi Rotate, yaitu operasi perputaran 8bit pada 32 bit dari kunci.
Operasi SubBytes, pada operasi ini 8 bitdari subkey disubstitusikan dengan
nilaidari S-Box.
Operasi Rcon, operasi ini dapatditerjemahkan sebagai operasi pangkat 2 nilai
tertentu dari user. Operasi inimenggunakan nilai-nilai dalam Galoisfield.
Nilai-nilai dari Rcon kemudian akandi-XOR dengan hasil operasi
SubBytes.Operasi XOR dengan w[i-Nk] yaitu word yang berada pada Nk
sebelumnya.
Tabel 2.2 Tabel Rcon
(Sumber : http://crypto.stackexchange.com, 2012)
2.13 Gambar (Citra Digital)
Citra digital merupakan sebuah larik (array) yang berisi nilai-nilai real
maupun komplek yang direpresentasikan dengan deretan bit tertentu. Suatu citra
dapat didefinisikan sebagai sebuah fungsi f(x,y) berukuran M baris dan N kolom,
dengan x dan y adalah koordinat spasial, dan nilai f(x,y) adalah intensitas citra
pada koordinat tersebut (Putra, 2009). nilai pada suatu irisan baris dan kolom
(pada posisi x,y) disebut dengan picture elements, image elements, atau pixels.
Istilah pixel paling sering digunakan dalam citra digital.
2.13.1 Format Cita .bmp (bitmap)
Pada format bitmap, citra disimpan sebagai suatu matriks di mana masing-
masing elemennya digunakan untuk menyimpan informasi warna untuk setiap
pixel. Jumlah warna yang dapat disimpan ditentukan dengan satuan bit-per-pixel.
21
Semakin besar ukuran bit-per-pixel dari suatu bitmap, semakin banyak pula
jumlah warna yang dapat disimpan.Format bitmap ini cocok digunakan untuk
menyimpan citra digital yang memiliki banyak variasi dalam bentuknya maupun
warnanya, seperti foto, lukisan, dan frame video.Format file yang menggunakan
format bitmap ini antara lain adalah BMP, DIB, PCX, GIF, dan JPG. Format yang
menjadi standar dalam sistem operasi Microsoft Windows adalah format bitmap
BMP atau DIB.Karakteristik lain dari bitmap yang juga penting adalah jumlah
warna yang dapat disimpan dalam bitmap tersebut. Ini ditentukan oleh
banyaknya bit yang digunakan untuk menyimpan setiap titik dari bitmap yang
menggunakan satuan bpp (bit per pixel). Dalam Windows dikenal bitmap
dengan 1, 4, 8, 16, dan 24 bit per pixel. Jumlah warna maksimum yang dapat
disimpan dalam suatu bitmap adalah sebanyak 2n, dimana n adalah banyaknya bit
yang digunakan untuk menyimpan satu titik dari bitmap.
2.13.2 Format JPEG
JPG adalah jenis data yang dikembangkan oleh Joint Photographic Experts
Assemble (JPEG) yang dijadikan standar untuk para fotografer profesional.JPG
mendukung 24-bit RGB dan CMYK, dan 8-bit Grayscale.Kompresi JPG
mempunyai kekurangan yang bersifat permanen, namun teknologi ini hanya
digunakan untuk menyimpan data yang besar di media penyimpanan yang
terbatas. File JPG cocok digunakan untuk gambar yang memiliki banyak warna,
misalnya foto wajah dan pemandangan namun tidak cocok digunakan untuk
gambar yang hanya memiliki sedikit warna seperti kartun atau komik. (Pandito,
2013).
2.14 Peak Signal to Noise Ratio (PSNR) dan MSE
Peak Signal to Noise Ratio (PSNR) adalah perbandingan antara nilai
maksimum dari sinyal yang diukur dengan besarnya derau yang berpengaruh pada
sinyal tersebut. PSNR diukur dalam satuan desibel. Pada penelitian ini, PSNR
digunakan untuk mengetahui perbandingan kualitas gambar sebelum dan sesudah
disisipkan pesan. Untuk menentukan PSNR, terlebih dahulu harus ditentukan
MSE (Mean Square Error). MSE secara matematis dapat dirumuskan sebagai
berikut:
22
Dimana :
MSE = Nilai Mean Square Error
m = Panjang citra watermarking (dalam pixel)
I(i,j) = nilai piksel dari citra cover
n = Lebar citra watermarking (dalam pixel)
K(i,j) = nilai piksel pada citra watermarking
Setelah diperoleh nilai MSE maka nilai PSNR dapat dihitung dari kuadrat
nilai maksimum dibagi dengan MSE. Secara matematis, nilai PSNR dirumuskan
sebagai berikut :
Dimana:
MSE = nilai MSE, MAXi = nilai maksimum dari pixel citra yang
digunakan. Semakin rendah Nilai MSE maka akan semakin baik, dan semakin
besar nilai PSNR maka semakin baik kualitas citra watermarking.
(Cheddad,2010)