WATERMARKING PADA CITRA DIGITAL … 2.pdf · Implementasi digital image watermarking dalam makalah...

23
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

Transcript of WATERMARKING PADA CITRA DIGITAL … 2.pdf · Implementasi digital image watermarking dalam makalah...

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)

23