Institutional Repository | Satya Wacana Christian University: Kriptografi pada Citra Digital dengan Vernam Cipher dan Selective Bitplane
Kriptografi pada Citra Digital dengan Vernam Cipher dan
Selective Bitplane
Artikel Ilmiah
Peneliti:
Erwin Kamajaya Yanuar (672014728)
Magdalena A. Ineke Pakereng, M.Kom.
Alz Danny Wowor, S.Si. M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen SatyaWacana
Salatiga
Juli 2015
Kriptografi pada Citra Digital dengan Vernam Cipher
dan Selective Bitplane
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti :
Erwin Kamajaya Yanuar (672014728)
Magdalena A. Ineke Pakereng, M.Kom.
Alz Danny Wowor, S.Si. M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Juli 2015
1
2
3
4
5
6
7
8
Kriptografi pada Citra Digital dengan Vernam Cipher
dan Selective Bitplane
1)
Erwin Kamajaya Y 2) M. A. Ineke Pakereng 3)Alz Danny Wowor
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1) sabiandvoileto@yahoo.com 2) inekep200472@yahoo.com
3)
alzdanny.wr@gmail.com
Abstract
Ease of communication raises new requirements, namely the security of
information transmitted on the communication network from sender to receiver. One form
of information that is sent is the image. Cryptography is a technique of encoding
information, which can be used to meet this requirement. Selective Bitplane an image
cryptography method that works by encrypting part of the information on the image with
the aim of accelerating the process, but does not reduce the level of security
(confidentiality). In the process of Vernam encryption algorithm used, which has a fast
performance. In this study image encoding methods are implemented using selective
methods Bitplane and Vernam. Produced an application that can encode 24-bit color
image files (True Color Image).
Keywords: Selective Bitplane, Vernam, True Colour Image Encryption,
Abstrak
Kemudahan berkomunikasi menimbulkan kebutuhan baru, yaitu pengamanan
informasi yang ditransmisikan pada jaringan komunikasi dari pengirim ke penerima.
Salah satu bentuk informasi yang dikirimkan adalah gambar. Kriptografi merupakan
suatu teknik penyandian informasi, yang dapat digunakan untuk memenuhi kebutuhan
ini. Selective Bitplane merupakan metode kriptografi gambar yang bekerja dengan cara
menyandikan sebagian informasi pada gambar dengan tujuan mempercepat proses,
namun tidak mengurangi tingkat keamanan (confidentiality). Pada proses penyandian
digunakan algoritma Vernam cipher, yang memiliki performa yang cepat. Pada penelitian
ini diimplementasikan metode penyandian gambar menggunakan metode Selective
Bitplane dan Vernam, dan menghasilkan suatu aplikasi yang dapat menyandikan file
gambar 24 bit warna (True Colour Image).
Kata Kunci: Selective Bitplane, Vernam, Enkripsi Gambar
1)
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya
Wacana
2)
Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
3)
Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
9
1.
Pendahuluan
Kemudahan berkomunikasi menimbulkan kebutuhan baru, yaitu
pengamanan informasi yang ditransmisikan pada jaringan komunikasi dari
pengirim ke penerima. Salah satu bentuk informasi yang dikirimkan adalah
gambar. Pengiriman sebuah data dalam bentuk gambar yang akan dikirim ke suatu
tujuan yang bersifat privasi, kemungkinan besar dapat terlihat oleh pihak lain. Hal
ini akan membuat orang tersebut mencari cara untuk menyembunyikannya
sehingga pihak lain tidak tahu.
Semakin banyaknya penggunaan perangkat mobile dan kemajuan
kecepatan koneksi Internet, meningkatkan jumlah data yang ditransmisikan dari
satu pihak ke pihak lain. Data yang dikirimkan salah satunya adalah citra digital.
Perangkat mobile saat pada umumnya memiliki daya komputasi yang lebih kecil
dibandingkan komputer pribadi. Untuk menyediakan perangkat kriptografi pada
platform mobile, maka perlu dipertimbangkan kompleksitas komputasi,
mengingat terbatasnya daya komputasi pada perangkat mobile. Pada saat ini,
sistem operasi untuk perangkat mobile didominasi oleh Android, sejumlah 78%
dari keseluruhan sistem operasi mobile [1]. Ketersediaan perangkat
pengembangan software (SDK) untuk Android [2], memungkinkan untuk
dikembangkannya aplikasi yang secara khusus diperuntukkan bagi sistem operasi
tersebut. Hal tersebut memberikan peluang untuk dibuatnya suatu aplikasi
kriptografi pada platform mobile Android.
Selective Bitplane merupakan metode pemilihan beberapa bit pada byte,
yang dapat diterapkan pada citra digital. Selective Bitplane bekerja dengan cara
mengambil sebagian bit dari tiap byte data. Selective bitplane dapat mengurangi
daya komputasi pada pemrosesan citra digital [3].
Selective Bitplane sendiri bukan merupakan metode kriptografi. Hasil dari
proses Selective Bitplane bukan merupakan cipher image, karena bit-bit yang
terpilih (selected), masih merupakan representasi dari citra digital aslinya.
Sehingga untuk menggunakan Selective Bitplane maka perlu dikombinasikan
dengan algoritma kriptografi. Kombinasi antara Selective Bitplane dengan
kriptografi memiliki tujuan untuk mempercepat proses (mengurasi komputasi),
namun tidak mengurangi tingkat keamanan (confidentiality) [3].
Implementasi kriptografi citra digital mengharuskan tidak adanya
perbedaan ukuran antara plaintext dengan ciphertext. Plaintext dan ciphertext
pada kriptografi citra digital adalah bit-bit pada piksel gambar. Hal tersebut
dimaksudkan agar ukuran dimensi gambar tidak berubah. Sebagai contoh dimensi
citra digital sebelum enkripsi adalah 40x40 piksel, maka total jumlah piksel
adalah 1600 piksel. Setelah proses enkripsi, jika jumlah piksel menjadi tidak sama
dengan 1600, maka dimensi gambar tidak akan sama dengan semula.
Algoritma kriptografi terbagi menjadi dua berdasarkan cara memproses
data, yaitu Block Cipher, dan stream Cipher. Block Cipher memproses data
dalam blok-blok ukuran tertentu. Jika ukuran data tidak mencapai ukuran blok,
maka dilakukan proses padding. Pada kriptografi citra digital dihindari adanya
proses padding. Maka pemilihan algoritma untuk kriptografi citra digital
1
mengarah pada Stream Cipher, yang tidak menggunakan padding dalam
memproses data. Salah satu Stream Cipher yang mudah diimplementasikan adalah
Vernam Cipher. Vernam Cipher adalah algoritma sederhana yang terbukti aman
jika menggunakan kunci yang tidak diulang [4][5]. Untuk mencapai hal tersebut,
salah satunya dapat digunakan proses pembangkitan bilangan semi acak sebagai
kunci.
Berdasarkan latar belakang tersebut, maka dilakukan penelitian yang
bertujuan untuk merancang dan mengimplementasikan aplikasi kriptografi pada
data citra digital menggunakan metode Selective Bitplane, serta menggunakan
algoritma enkripsi Vernam Cipher untuk menyandikan bit yang terpilih pada
metode Selective Bitplane. Penelitian ini menghasilkan aplikasi yang dapat
menyandikan citra digital 24 bit warna, dengan waktu proses yang cepat, dan
tidak mengorbankan kerahasiaan informasi citra.
2.
Tinjauan Pustaka
Pada penelitian berjudul “Selective bitplane encryption for secure
transmission of image data in mobile environments”, dibahas tentang teknik
enkripsi untuk menyediakan keamanan gambar untuk ditransmisikan lewat
jaringan komputer. Pada penelitian ini ditekankan masalah bahwa pada mobile
environments diperlukan penyandian gambar secara realtime, yang berarti
memiliki performa yang cepat, sebagai contoh TV broadcasting. Solusi yang
dipaparkan adalah selective atau partial encryption (SE) pada data visual,
contohnya gambar. Proses penyandian dilakukan pada selected bitplane pada
gambar, sehingga mempersingkat waktu proses. Kesimpulan yang diperoleh dari
hasil penelitian tersebut adalah 1 bit MSB tidaklah cukup, sehingga diperlukan
minimal 2 bit MSB. Untuk tingkat confidentiality yang lebih tinggi, diperlukan 4
bit MSB [3].
Banerjee dan Nath [6] pada penelitiannya, melakukan modifikasi pada
Vernam Cipher. Masalah yang ditekankan adalah pada serangan yang umum
dilakukan pada Vernam Cipher, yaitu differential attack dan known plain attack.
Benerjee dan Nath juga menyebutkan bahwa pada algoritma yang standar pada
umumnya, akan gagal mengenkripsi file yang semua karakternya bernilai ASCII 0
atau semua bernilai 255. Metode yang diajukan adalah metode Vernam Cipher
pada bit level, kemudian pada byte level dengan menggunakan umpan balik
(feedback). Modifikasi yang dilakukan memberikan keuntungan yaitu pada
perbandingan dua data yang dienkripsi, sekalipun kedua data tersebut memiliki
perbedaan yang kecil, hasil enkripsi (ciphertext) memiliki perbedaan yang besar.
Metode yang diajukan oleh Nath, efektif digunakan untuk menyandikan pesan
pendek, password, kunci rahasia, dan lain sebagainya.
Berdasarkan beberapa penelitian yang pernah dilakukan terkait penerapan
metode Selective Bitplane untuk penyandian citra digital, dan algoritma enkripsi
Vernam Cipher, maka dilakukan penelitian yang bertujuan untuk merancang dan
mengimplementasikan aplikasi kriptografi pada data citra digital menggunakan
metode Selective Bitplane, serta menggunakan algoritma enkripsi Vernam Cipher
untuk menyandikan bit yang terpilih pada metode Selective Bitplane. Aplikasi
2
diimplementasikan dalam bentuk aplikasi mobile berbasis sistem operasi Android,
dengan tujuan untuk menganalisis perbandingan enkripsi non-selective bitplane
dengan enkripsi Selective Bitplane.
Penelitian ini membahas tentang penggunaan metode enkripsi Selective
Bitplane. Keunggulan dari algoritma Selective Bitplane adalah dapat mengurangi
waktu dan proses komputasi yang ada dalam penyandian citra [1]. Untuk
menyandikan informasi yang terpilih (selected bits), digunakan algoritma
kriptografi Vernam Cipher dengan modifikasi pada proses pembangkitan kunci.
Vernam Cipher diciptakan oleh Mayor J. Maugborne dan G. Vernam pada
tahun 1917. Metode tersebut juga dikenal dengan nama One Time Pad (OTP).
Vernam cipher merupakan algoritma berjenis kriptografi simetris. Pada proses
enkripsi, plaintext diubah ke dalam kode ASCII dan kemudian dikenakan operasi
XOR terhadap kunci yang sudah diubah ke dalam kode ASCII. Pada proses
dekripsi, ciphertext diubah ke dalam kode ASCII, kemudian dikenakan operasi
XOR terhadap kunci yang sudah diubah ke dalam kode ASCII juga [7]. Contoh
enkripsi Vernam Cipher, dengan pesan "HELLO", kunci "XMCKL" ditunjukkan
pada Tabel 1.
Perlu diperhatikan, pada Tabel 1, hasil enkripsi dalam angka ASCII
mewakili karakter yang tidak bisa dicetak/ditampilkan (non-printable character),
sebagai contoh kode ASCII 8 mewakili karakter "Backspace" dan kode ASCII 7
mewakili perintah "Bell" [8].
Pesan
Tabel 1 Contoh Enkripsi Vernam cipher [9]
Pesan
Kunci
Kunci
⊕
ASCII
ASCII
DEC
HEX
DEC
HEX
H
72
48
X
88
58
=
E
69
L
76
45
M
77
4D
4C
C
67
43
L
76
4C
K
75
O
79
4F
L
76
Hasil XOR
ASCII
DEC
HEX
16
10
=
8
8
=
15
F
4B
=
7
7
4C
=
3
3
Salah satu operator logika utama yang digunakan pada proses
enkripsi adalah operator Exclusive-OR (XOR). Exclusive-OR (XOR) adalah
operasi logika pada dua nilai. Hasil operasi akan bernilai BENAR jika tepat salah
satu dari kedua variabel bernilai BENAR. Jika tidak, akan memberikan hasil
SALAH. Hal ini juga berarti bahwa hasil dari operasi 'XOR' akan bernilai
BENAR hanya jika kedua variabel masukan memiliki nilai yang berbeda. Nilai
yang sama akan menghasilkan nilai SALAH [4].
Pada penelitian ini, format file citra digital yang digunakan adalah PNG.
PNG merupakan True Color image, yang berarti tiap piksel direpresentasikan
dengan 3 byte, terbagi ke dalam red, green, dan blue masing-masing 1 byte. Hal
ini sering disebut dengan warna RGB, atau True Color 24 bit. Selain 24 bit warna,
file PNG juga mendukung 32 bit warna. True Color 32 bit sama dengan 24 bit,
dengan perbedaan adalah adanya 1 byte tambahan yang disebut komponen alpha
[10] [11].
3
Gambar 1 True Color 24 bit dan 32 bit [10]
3.
Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang
terbagi dalam empat tahapan, yaitu, (1) Tahap Identifikasi Masalah dan
Pengumpulan Data, (2) Perancangan Sistem, (3) Implementasi Sistem, (4)
Pengujian Sistem, serta Analisis Hasil Pengujian.
Gambar 2 Tahapan Penelitian
Tahapan penelitian pada Gambar 2, dijelaskan sebagai berikut: Tahap
pertama: mengidentifikasi masalah dan pengumpulan data, adalah bagaimana
sistem kriptografi yang dibuat dapat mengenkripsi dan mendekripsi data gambar
dengan metode enkripsi Selective Bitplane, serta bagaimana performa algoritma
Vernam Cipher dalam menyandikan suatu informasi.
Tahap kedua: merancang sistem yaitu proses enkripsi dan dekripsi
menggunakan algoritma Selective Bitplane dan Vernam Cipher, yang terjadi di
dalam sistem, serta rancangan antarmuka aplikasi yang digunakan oleh user.
Tahap ketiga: yaitu mengimplementasikan hasil perancangan sistem.
Membangun sistem berdasarkan proses yang telah didefinisikan pada tahap
perancangan. Yang dimaksud adalah mengimplementasikan suatu algoritma yang
ada dan terbukti memiliki performa yang baik, untuk menjaga kerahasiaan data
citra digital yang berformat BMP maupun PNG.
Tahap keempat: adalah melakukan pengujian sistem. Analisis dilakukan
pada hasil pengujian, sehingga dapat diperoleh kesimpulan
Tahap kedua dalam tahapan penelitian ini adalah merancang proses
enkripsi dan dekripsi. Proses enkripsi dan dekripsi secara umum memerlukan
masukan data berupa citra digital, dan kunci.
4
Mulai
Input
(Citra
Digital,
Kunci)
Generate
SEED
Baca
Warna
Baca 4
MSB
Generate
4 Bit
random
Enkripsi Vernam
(4 MSB warna, 4Bit
Random)
Semua Warna
Selesai diproses
FALSE
TRUE
Selesai
Gambar 3 Proses Enkripsi pada Gambar Menggunakan Metode Selective Bitplane dan Vernam
Gambar 3 merupakan proses enkripsi, yang dimulai dengan proses input
citra digital dan kunci enkripsi. Kemudian kunci digunakan untuk membangkitkan
angka SEED. Pada citra digital dibaca piksel, dan didalam piksel diperoleh warna.
Pada tiap warna dibaca nilai 4 bit MSB. Angka SEED digunakan untuk
membangkitkan 4 bit acak, kemudian digunakan sebagai masukkan pada enkripsi
Vernam cipher. Proses ini berlangsung sampai pada warna terakhir pada piksel
terakhir pada citra digital.
Mulai
Input
(Citra
Digital,
Kunci)
Generate
SEED
Baca
Warna
Baca 4
MSB
FALSE
Generate
4 Bit
random
Dekripsi Vernam
(4 MSB warna, 4Bit
Random)
Semua Warna
Selesai diproses
TRUE
Selesai
Gambar 4 Proses Dekripsi pada Gambar Menggunakan Metode Selective Bitplane dan Vernam
Gambar 4 menunjukkan proses dekripsi yang secara keseluruhan memiliki
langkah yang sama dengan proses enkripsi. Input yang diperlukan adalah citra
digital yang terenkripsi, dan kunci. Pada kunci dilakukan operasi XOR satu
karakter dengan karakter yang lain, sehingga menghasilkan 1 bilangan yang
digunakan sebagai SEED untuk proses pembangkitan bilangan acak. Kemudian
pada tiap warna di citra digital, dibaca 4 bit MSB. Proses ini disebut Selective
Bitplane. Kemudian 4 bit MSB terenkripsi tersebut di-XOR-kan dengan 4 bit
bilangan acak. Hasilnya adalah 4 bit MSB semula. Proses ini dilakukan untuk
semua warna pada citra digital, sampai pada akhirnya dihasilkan citra digital asli.
5
Gambar 5 Proses Enkripsi/Dekripsi Vernam Cipher dengan Kunci Semi Acak
Vernam cipher yang digunakan pada penelitian ini, memiliki proses yang
ditunjukkan pada Gambar 5. Vernam cipher pada dasarnya bekerja dengan cara
melakukan operasi XOR antara byte plain dengan byte kunci. Kunci diperoleh
dengan cara membangkitkan bilangan semi acak acak.
Selective Bitplane bekerja dengan cara memilih satu atau beberapa bit dari
keseluruhan bit. Sebagai contoh jika satu elemen warna bernilai 98 maka nilai
biner nya adalah 01100010 . Jika pada nilai biner tersebut dilakukan proses bit
selection 4 MSB, maka diperoleh 4 bit paling depan yaitu 0110. Jika dipilih 2 bit
LSB maka, diperoleh 10.
Spesifikasi kunci yang digunakan pada penelitian ini adalah minimal 12
karakter (96 bit kunci). Berdasarkan Georgia Tech Research Institute (GTRI),
untuk mengalahkan Encryption Software Cracking saat ini, password yang paling
aman digunakan minimal panjangnya adalah 12 karakter [12].
Berikut adalah contoh proses mengolah kunci menjadi SEED. Untuk
menyederhanakan contoh, kunci yang digunakan memiliki panjang 8 karakter,
yaitu “fti@uksw”. Langkah-langkah prosesnya adalah (1) mengubah tiap karakter
menjadi nilai ASCII; (2) mengakumulasi nilai ASCII tersebut menjadi satu
bilangan dengan operator XOR. Langkah proses tersebut ditunjukkan pada tabel
2. Kunci yang dimasukkan oleh user, diubah ke nilai ASCII yaitu 102, 116, 105,
64, 117, 107, 115, 119. Langkahnya adalah sebagai berikut:
102 XOR 116 = 18
18 XOR 105 = 123
123 XOR 64 = 59
6
59
37
37
86
XOR
XOR
XOR
XOR
117
107
115
119
=
=
=
=
78
37
86
33 -> nilai seed
Tabel 2 Contoh Proses Mengolah Kunci Menjadi SEED
Kunci
f
t
i
@
u
k
s
w
Ascii
102
116
105
64
117
107
115
119
Hasil XOR
33
Berikut adalah contoh proses enkripsi. Jika diketahui bahwa suatu gambar
memiliki komponen warna 98, 12, 133, 119, 81, 228, 199, 120, 100. Maka setelah
proses enkripsi, warna tersebut menjadi 146, 124, 85, 231, 65, 132, 119, 136, 84.
Langkah proses enkripsi ditunjukkan pada Tabel 3.
Tabel 3 Contoh Proses Enkripsi
Langkah
R
B
R
B
R
G
B
12
133
119
81
228
199
120
100
0110
0010
0000
1100
1000
0101
0111
0111
0101
0001
1110
0100
1100
0111
0111
1000
0110
0100
4 BIT MSB
0110
0000
1000
0111
0101
1110
1100
0111
0110
NILAI SEMI
ACAK
SEED=33
DIPEROLEH
DARI Tabel
1
246
127
212
153
26
101
176
254
15
BiNER
1111
0110
0111
1111
1101
0100
1001
1001
0001
1010
0110
0101
1011
0000
1111
1110
0000
1111
4 BIT MSB
1111
0111
1101
1001
0001
0110
1011
1111
0000
VERNAM
PLAIN
0110
0000
1000
0111
0101
1110
1100
0111
0110
VERNAM
KUNCI
1111
0111
1101
1001
0001
0110
1011
1111
0000
HASIL
1001
0111
0101
1110
0100
1000
0111
1000
0101
WARNA
CIPHER
BINER
10010
010
01111
100
01010
101
11100
111
01000
001
10000
100
01110
111
10001
000
01010
100
WARNA
CIPHER
146
124
85
231
65
132
119
136
84
SELISIH
PLAIN
dengan
CIPHER
48
112
48
112
16
96
80
16
16
WARNA
PLAIN
98
WARNA
PLAIN
BINER
G
G
7
Berikut ditunjukkan contoh proses dekripsi. Berdasarkan proses enkripsi
pada Tabel 3, maka proses dekripsi ditunjukkan pada Tabel 4.
Tabel 4 Contoh Proses Dekripsi
Langkah
R
G
146
124
85
231
1001
0010
0111
1100
0101
0101
1001
0111
NILAI
SEMI ACAK
SEED=33
DIPEROLEH
DARI
Tabel 1
246
BiNER
4 BIT MSB
WARNA
CIPHER
WARNA
CIPHER
BINER
4 BIT MSB
VERNAM
PLAIN
VERNAM
KUNCI
HASIL
WARNA
PLAIN
BINER
WARNA
PLAIN
B
R
G
B
R
G
B
65
132
119
136
84
1110
0111
0100
0001
1000
0100
0111
0111
1000
1000
0101
0100
0101
1110
0100
1000
0111
1000
0101
127
212
153
26
101
176
254
15
1111
0110
0111
1111
1101
0100
1001
1001
0001
1010
0110
0101
1011
0000
1111
1110
0000
1111
1111
0111
1101
1001
0001
0110
1011
1111
0000
1001
0111
0101
1110
0100
1000
0111
1000
0101
1111
0111
1101
1001
0001
0110
1011
1111
0000
0110
0000
1000
0111
0101
1110
1100
0111
0110
01100
010
00001
100
10000
101
01110
111
01010
001
11100
100
11000
111
01111
000
01100
100
98
12
133
119
81
228
199
120
100
Analisis Perbedaan Nilai Warna Plain dan Cipher
250
231
228
Nilai Warna
200
199
150
146
100
98
50
133
124
112
132
119
112
85
48
48
1
2
3
Plain
100
84
80
Cipher
Selisih
16
12
0
96
81
65
136
120
119
4
5
16
6
7
8
16
9
Urutan Warna
Gambar 6 Analisis Perbedaan Nilai Plain dan Cipher
Berdasarkan contoh enkripsi, dilakukan analisis berbedaan antara nilai
warna sebelum dan setelah enkripsi. Hasil analisis ditunjukkan pada Gambar 6.
Garis biru menunjukkan nilai byte plain, garis merah byte cipher, dan garis hijau
selisih keduanya. Berdasarkan grafik tersebut tidak ditemukan pola antara nilai
plain dan nilai cipher. Perbedaan pada byte plain pertama (98) dan byte cipher
8
pertama (146), adalah 48. Pada byte plain kedua (12), dan byte cipher kedua (124)
memiliki selisih 112. Angka-angka perbedaan ini tidak membentuk pola, sehingga
pada grafik tidak ditunjukkan garis liner (tidak berbanding lurus).
4.
Hasil dan Pembahasan
Hasil implementasi sistem berdasarkan perancangan yang telah dibuat,
dijelaskan sebagai berikut. Sistem dikembangkan untuk perangkat mobile dengan
sistem operasi Android 4.x keatas. Alat pengembangan yang digunakan adalah
Eclipse dengan dukungan ADT (Android Development Toolkit) versi 19.
Gambar 7 menampilkan form yang digunakan untuk melakukan enkripsi
gambar. Pada form ini, disediakan fasilitas untuk memilih file gambar,
memasukkan kunci enkripsi, dan memilih bitplane. Cipher image akan
ditampilkan bersebelahan dengan plain image. Gambar 8 menampilkan form yang
digunakan untuk melakukan dekripsi gambar, dengan susunan dan aturan yang
sama dengan form enkripsi.
Gambar 7 Form Enkripsi Gambar
Gambar 8 Form Dekripsi Gambar
Pengujian Pengaruh Pemilihan Bitplane terhadap hasil enkripsi (Pengujian
1), dilakukan untuk melihat pengaruh pemilihan bitplane, terhadap besarnya
perbedaan piksel antara plain image dan cipher image. Hasil pengujian 1
ditunjukkan pada Tabel 5 kolom Pengujian 1. Pada kolom bitplane, yang
dimaksud dengan angka 1 s/d 8 adalah posisi bitplane, 1 berarti MSB, 8 berarti
LSB. Berdasarkan hasil pengujian 1, disimpulkan bahwa pemilihan posisi dan
jumlah bitplane mempengaruhi hasil enkripsi. Bitplane pada posisi MSB
memberikan pengaruh yang signifikan terhadap perbedaan piksel antara plain
image dan cipher image. Hal ini berlaku sebaliknya untuk bitplane pada posisi
9
LSB. Jumlah bitplane juga memberi pengaruh besarnya perbedaan yang
dihasilkan. Semakin banyak bitplane MSB yang dipilih, maka semakin besar
perbedaan piksel yang ditemukan.
No.
Plain Image
Tabel 5 Hasil Pengujian 1 dan Pengujian 2
Bit
plane
Dimensi
Cipher Image
(posisi
(piksel)
bit yang
terpilih)
Pengujian
1
Pengujian
2
Perbedaan
Warna
Waktu
Proses
(detik)
1.
1
128 x
128
24335
0.462026
2.
2
128 x
128
24653
0.459026
3.
3
128 x
128
24572
0.479027
4.
4
128 x
128
24711
0.469027
5.
5
128 x
128
24501
0.451026
6.
6
128 x
128
24497
0.466027
10
7.
7
128 x
128
24459
0.456026
8.
8
128 x
128
24438
0.466027
9.
1,2
128 x
128
37224
0.850049
10.
1,2,3
128 x
128
43071
1.22907
11.
7,8
128 x
128
36915
0.844048
12.
6,7,8
128 x
128
43032
1.258072
13.
1,2,3,4,
5,6,7,8
(semua
bit)
128 x
128
48951
3.2021831
Pengujian Pengaruh Pemilihan Bitplane terhadap Kecepatan Proses
(Pengujian 2), dilakukan untuk melihat pengaruh pemilihan bitplane terhadap
11
lama waktu proses enkripsi/dekripsi. Hasil pengujian 2 ditunjukkan pada Tabel 5
kolom Pengujian 2. Berdasarkan hasil pengujian 2, disimpulkan bahwa pemilihan
jumlah bitplane mempengaruhi kecepatan proses enkripsi, seperti ditunjukkan
dengan lama waktu proses pada nomor uji 1, nomor uji 9, dan nomor uji 10. Hal
ini dikarenakan ketika jumlah bitplane yang dipilih semakin banyak, maka
semakin banyak pula bit yang harus diproses, dan semakin banyak pula waktu
yang diperlukan oleh proses.
Pengujian Visual untuk Gambar Homogen, Heterogen Berpola dan
Gambar Natural (Pengujian 3), dilakukan untuk melihat perbedaan yang
dihasilkan antara gambar homogen (satu warna) dan heterogen (banyak warna,
berpola) dan natural (foto). Pengujian dilakukan dengan cara menunjukkan plain
image dan cipher image terhadap 30 responden, dan menanyakan apakah kedua
gambar tersebut menunjukkan kesamaan pola. Gambar yang digunakan adalah
mono.png sebagai gambar homogen, pola.png sebagai gambar heterogen berpola,
dan lena.png sebagai gambar foto. Hasil pengujian 3 ditunjukkan pada Tabel 6.
No
Gambar
1.
Tabel 6 Hasil Pengujian 3
Bitplane Cipher Image
1
Respon
87.472% beda
12.528% sama
2.
1,2
100% beda
3.
1,2,3
100% berbeda
12
4.
1,2,3,4
100% berbeda
5.
1
88.816 % beda
11.184% sama
6.
1,2
98.752%
berbeda
1.248% sama
7.
1,2,3
100% berbeda
8.
1,2,3,4
100% berbeda
13
9.
1
87.561%
berbeda.
12.439% sama
10.
1,2
98.669%
berbeda
1.331% sama
11.
1,2,3
99.865%
berbeda
0.135% sama
12.
1,2,3,4
99.969%
berbeda
0.031% sama
Berdasarkan hasil pengujian 3, gambar homogen (nomor uji 1-4),
penyandian 1 bit MSB sudah dapat memberikan perbedaan secara visual, untuk
gambar heterogen berpola (nomor uji 4-8), diperlukan 4 bit MSB untuk dapat
menyembunyikan makna gambar, dan untuk gambar natural (nomor uji 9-12),
penyandian 2 bitplane MSB dapat menyandikan secara visual. Untuk gambar
homogen, disimpulkan bahwa panjang kunci memberi pengaruh yaitu: semakin
banyak perbedaan yang dihasilkan dan semakin lama waktu proses.
Pengujian Integritas Data (Pengujian 4), dilakukan untuk melihat apakah
setelah melalui proses enkripsi dan dekripsi, gambar mengalami perubahan
informasi piksel. Pengujian dilakukan dengan melihat perbedaan piksel antara
gambar sebelum enkripsi dan gambar setelah dekripsi. Hasil pengujian 4
ditunjukkan pada Tabel 7.
14
Tabel 7 Hasil Pengujian 4
Gambar
Dimensi
Perbedaan
Piksel
1.
lena1.png
128x128
0
2.
lena2.png
256x256
0
3.
chess1.png
250x300
0
4.
chess2.png
250x300
0
5.
chess3.png
250x300
0
6.
baboon.png
512x512
0
No.
15
7.
blondie.png
512x512
0
8.
jet.png
512x512
0
9.
tank.png
512x512
0
10. vegetables.png
512x512
0
11.
red.png
250x300
0
12.
wgr.png
250x300
0
Berdasarkan hasil pengujian 4, disimpulkan bahwa proses enkripsi dan
dekripsi tidak mengubah informasi piksel pada gambar, karena jumlah perbedaan
piksel antara gambar sebelum enkripsi dan gambar setelah dekripsi, adalah 0
(tidak ada perbedaan).
Pengujian yang terakhir adalah blackbox testing, yang bertujuan untuk
melihat fungsi-fungsi pada aplikasi apakah sudah berjalan dengan baik. Hasil
16
pengujian ditunjukkan pada Tabel 8. Berdasarkan hasil blackbox testing,
disimpulkan bahwa aplikasi telah berfungsi dan melakukan validasi masukkan
pengguna, dengan baik
No
1.
5.
Tabel 8 Hasil Blackbox Testing
Hasil yang
Hasil yang
Proses
diharapkan
Muncul
Enkripsi
Keluar pesan
Sesuai yang
dengan
gagal. Bahwa
diharapkan
panjang kunci kunci harus
kurang dari 12 minimal 12
Kesimpulan
Valid
2.
Enkripsi
dengan
panjang kunci
12 atau lebih.
Proses enkripsi
berlangsung
Sesuai yang
diharapkan
Valid
3.
Dekripsi
dengan kunci
yang berbeda
Gambar plain
text tidak
ditampilkan.
Sesuai yang
diharapkan
Valid
4.
Dekripsi
dengan kunci
yang sama
Gambar plain
text tidak
ditampilkan.
Sesuai yang
diharapkan
Valid
5.
Dekripsi
dengan kunci
yang mirip.
Contoh: kunci
enkripsi:
1234abcd,
Kunci dekripsi
1234ABCD
Gambar plain
text tidak
ditampilkan.
Sesuai yang
diharapkan
Valid
6.
Dekripsi
dengan kunci
yang berbeda
satu karakter.
Contoh: kunci
enkripsi:
1234abcd,
Kunci dekripsi
1234abce
Gambar plain
text tidak
ditampilkan.
Sesuai yang
diharapkan
Valid
Simpulan
Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka
dapat diambil kesimpulan sebagai berikut: (1) Kombinasi Selective Bitplane dan
vernam cipher menghasilkan metode enkripsi/dekripsi yang cepat, untuk citra
digital, pada lingkungan mobile Android; (2) Berdasarkan pengujian, proses
enkripsi gambar dapat dilakukan dengan menyandikan beberapa bit MSB dan
tidak perlu semua bit, sehingga mempersingkat waktu proses; (3) Untuk
menyandikan gambar berpola diperlukan 4 bit MSB untuk dapat menyamarkan
17
arti dari gambar sesungguhnya; (4) Untuk gambar natural (foto), 2 bit MSB sudah
dapat menyamarkan arti gambar sesungguhnya. Saran pengembangan yang dapat
diberikan untuk penelitian lebih lanjut adalah sebagai berikut: (1) Pengamanan
citra digital pada lingkungan Android, memiliki keterbatasan pada sumber daya
perangkat keras. Selain algoritma enkripsi, algoritma shuffle dapat digunakan
untuk mengacak bit yang terpilih setelah proses pemilihan (bitplane selection).
Untuk mencapai nilai keamanan yang lebih baik, maka dapat digunakan jenis
algoritma genetika, yang bekerja dengan cara membangkitkan beberapa
kemungkinan solusi penyandian, kemudian dipilih solusi yang memberikan
perbedaan nilai paling tinggi antara piksel awal dengan piksel akhir.
6.
Daftar Pustaka
[1].
International Data Corporation 2015. Smartphone OS Market Share, Q1
2015.
http://www.idc.com/prodserv/smartphone-os-market-share.jsp.
Diakses pada Juli 2015.
[2]. Android Open Source Project 2011. What is android? http://developer.
android. com/guide/basics/what-is-android. html, 2. Diakses tanggal 27
Oktober 2013
[3]. Podesser, M., Schmidt, H.-P. & Uhl, A. 2012. Selective bitplane encryption
for secure transmission of image data in mobile environments. Proceedings
of the 5th IEEE Nordic Signal Processing Symposium (NORSIG’02).
[4]. Sholeh, M. & Hamokwarong, J. V 2011. Aplikasi Kriptografi dengan
Metode Vernam Cipher dan Metode Permutasi Biner. Momentum 7, 8–13.
[5]. Alvarez, R. & Zamora, A. 2014. A Matrix PRNG with S-Box Output
Filtering. Journal of Applied Mathematics 2014.
[6]. Banerjee, P. & Nath, A. 2013. Bit and Byte Level Generalized Modified
Vernam Cipher Method with Feedback. International Journal of Computer
Applications 64, 9–15.
[7]. Bellovin, S. M. 2011. Frank Miller: Inventor of the One-Time Pad.
Cryptologia 35, 203–222.
[8]. Shirey, R. W. 2007. RFC 2828: Internet security glossary. The Internet
Society
[9]. Rosenberg, B. 2004. Vernam Cipher, A Perfect Cipher.
http://www.cs.miami.edu/home/burt/learning/Csc609.051/notes/02.html.
Diakses pada 4 Mei 2015
[10]. Willamette.edu In press. Image File Formats.
[11]. Boutell, T. 1997. PNG (Portable Network Graphics) Specification Version
1.0.
[12]. MSNBC 2010. Want to deter hackers? Make your password longer.
http://www.nbcnews.com/id/38771772/. Diakses pada 1 Mei 2015
18
Selective Bitplane
Artikel Ilmiah
Peneliti:
Erwin Kamajaya Yanuar (672014728)
Magdalena A. Ineke Pakereng, M.Kom.
Alz Danny Wowor, S.Si. M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen SatyaWacana
Salatiga
Juli 2015
Kriptografi pada Citra Digital dengan Vernam Cipher
dan Selective Bitplane
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti :
Erwin Kamajaya Yanuar (672014728)
Magdalena A. Ineke Pakereng, M.Kom.
Alz Danny Wowor, S.Si. M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Juli 2015
1
2
3
4
5
6
7
8
Kriptografi pada Citra Digital dengan Vernam Cipher
dan Selective Bitplane
1)
Erwin Kamajaya Y 2) M. A. Ineke Pakereng 3)Alz Danny Wowor
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1) sabiandvoileto@yahoo.com 2) inekep200472@yahoo.com
3)
alzdanny.wr@gmail.com
Abstract
Ease of communication raises new requirements, namely the security of
information transmitted on the communication network from sender to receiver. One form
of information that is sent is the image. Cryptography is a technique of encoding
information, which can be used to meet this requirement. Selective Bitplane an image
cryptography method that works by encrypting part of the information on the image with
the aim of accelerating the process, but does not reduce the level of security
(confidentiality). In the process of Vernam encryption algorithm used, which has a fast
performance. In this study image encoding methods are implemented using selective
methods Bitplane and Vernam. Produced an application that can encode 24-bit color
image files (True Color Image).
Keywords: Selective Bitplane, Vernam, True Colour Image Encryption,
Abstrak
Kemudahan berkomunikasi menimbulkan kebutuhan baru, yaitu pengamanan
informasi yang ditransmisikan pada jaringan komunikasi dari pengirim ke penerima.
Salah satu bentuk informasi yang dikirimkan adalah gambar. Kriptografi merupakan
suatu teknik penyandian informasi, yang dapat digunakan untuk memenuhi kebutuhan
ini. Selective Bitplane merupakan metode kriptografi gambar yang bekerja dengan cara
menyandikan sebagian informasi pada gambar dengan tujuan mempercepat proses,
namun tidak mengurangi tingkat keamanan (confidentiality). Pada proses penyandian
digunakan algoritma Vernam cipher, yang memiliki performa yang cepat. Pada penelitian
ini diimplementasikan metode penyandian gambar menggunakan metode Selective
Bitplane dan Vernam, dan menghasilkan suatu aplikasi yang dapat menyandikan file
gambar 24 bit warna (True Colour Image).
Kata Kunci: Selective Bitplane, Vernam, Enkripsi Gambar
1)
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya
Wacana
2)
Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
3)
Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
9
1.
Pendahuluan
Kemudahan berkomunikasi menimbulkan kebutuhan baru, yaitu
pengamanan informasi yang ditransmisikan pada jaringan komunikasi dari
pengirim ke penerima. Salah satu bentuk informasi yang dikirimkan adalah
gambar. Pengiriman sebuah data dalam bentuk gambar yang akan dikirim ke suatu
tujuan yang bersifat privasi, kemungkinan besar dapat terlihat oleh pihak lain. Hal
ini akan membuat orang tersebut mencari cara untuk menyembunyikannya
sehingga pihak lain tidak tahu.
Semakin banyaknya penggunaan perangkat mobile dan kemajuan
kecepatan koneksi Internet, meningkatkan jumlah data yang ditransmisikan dari
satu pihak ke pihak lain. Data yang dikirimkan salah satunya adalah citra digital.
Perangkat mobile saat pada umumnya memiliki daya komputasi yang lebih kecil
dibandingkan komputer pribadi. Untuk menyediakan perangkat kriptografi pada
platform mobile, maka perlu dipertimbangkan kompleksitas komputasi,
mengingat terbatasnya daya komputasi pada perangkat mobile. Pada saat ini,
sistem operasi untuk perangkat mobile didominasi oleh Android, sejumlah 78%
dari keseluruhan sistem operasi mobile [1]. Ketersediaan perangkat
pengembangan software (SDK) untuk Android [2], memungkinkan untuk
dikembangkannya aplikasi yang secara khusus diperuntukkan bagi sistem operasi
tersebut. Hal tersebut memberikan peluang untuk dibuatnya suatu aplikasi
kriptografi pada platform mobile Android.
Selective Bitplane merupakan metode pemilihan beberapa bit pada byte,
yang dapat diterapkan pada citra digital. Selective Bitplane bekerja dengan cara
mengambil sebagian bit dari tiap byte data. Selective bitplane dapat mengurangi
daya komputasi pada pemrosesan citra digital [3].
Selective Bitplane sendiri bukan merupakan metode kriptografi. Hasil dari
proses Selective Bitplane bukan merupakan cipher image, karena bit-bit yang
terpilih (selected), masih merupakan representasi dari citra digital aslinya.
Sehingga untuk menggunakan Selective Bitplane maka perlu dikombinasikan
dengan algoritma kriptografi. Kombinasi antara Selective Bitplane dengan
kriptografi memiliki tujuan untuk mempercepat proses (mengurasi komputasi),
namun tidak mengurangi tingkat keamanan (confidentiality) [3].
Implementasi kriptografi citra digital mengharuskan tidak adanya
perbedaan ukuran antara plaintext dengan ciphertext. Plaintext dan ciphertext
pada kriptografi citra digital adalah bit-bit pada piksel gambar. Hal tersebut
dimaksudkan agar ukuran dimensi gambar tidak berubah. Sebagai contoh dimensi
citra digital sebelum enkripsi adalah 40x40 piksel, maka total jumlah piksel
adalah 1600 piksel. Setelah proses enkripsi, jika jumlah piksel menjadi tidak sama
dengan 1600, maka dimensi gambar tidak akan sama dengan semula.
Algoritma kriptografi terbagi menjadi dua berdasarkan cara memproses
data, yaitu Block Cipher, dan stream Cipher. Block Cipher memproses data
dalam blok-blok ukuran tertentu. Jika ukuran data tidak mencapai ukuran blok,
maka dilakukan proses padding. Pada kriptografi citra digital dihindari adanya
proses padding. Maka pemilihan algoritma untuk kriptografi citra digital
1
mengarah pada Stream Cipher, yang tidak menggunakan padding dalam
memproses data. Salah satu Stream Cipher yang mudah diimplementasikan adalah
Vernam Cipher. Vernam Cipher adalah algoritma sederhana yang terbukti aman
jika menggunakan kunci yang tidak diulang [4][5]. Untuk mencapai hal tersebut,
salah satunya dapat digunakan proses pembangkitan bilangan semi acak sebagai
kunci.
Berdasarkan latar belakang tersebut, maka dilakukan penelitian yang
bertujuan untuk merancang dan mengimplementasikan aplikasi kriptografi pada
data citra digital menggunakan metode Selective Bitplane, serta menggunakan
algoritma enkripsi Vernam Cipher untuk menyandikan bit yang terpilih pada
metode Selective Bitplane. Penelitian ini menghasilkan aplikasi yang dapat
menyandikan citra digital 24 bit warna, dengan waktu proses yang cepat, dan
tidak mengorbankan kerahasiaan informasi citra.
2.
Tinjauan Pustaka
Pada penelitian berjudul “Selective bitplane encryption for secure
transmission of image data in mobile environments”, dibahas tentang teknik
enkripsi untuk menyediakan keamanan gambar untuk ditransmisikan lewat
jaringan komputer. Pada penelitian ini ditekankan masalah bahwa pada mobile
environments diperlukan penyandian gambar secara realtime, yang berarti
memiliki performa yang cepat, sebagai contoh TV broadcasting. Solusi yang
dipaparkan adalah selective atau partial encryption (SE) pada data visual,
contohnya gambar. Proses penyandian dilakukan pada selected bitplane pada
gambar, sehingga mempersingkat waktu proses. Kesimpulan yang diperoleh dari
hasil penelitian tersebut adalah 1 bit MSB tidaklah cukup, sehingga diperlukan
minimal 2 bit MSB. Untuk tingkat confidentiality yang lebih tinggi, diperlukan 4
bit MSB [3].
Banerjee dan Nath [6] pada penelitiannya, melakukan modifikasi pada
Vernam Cipher. Masalah yang ditekankan adalah pada serangan yang umum
dilakukan pada Vernam Cipher, yaitu differential attack dan known plain attack.
Benerjee dan Nath juga menyebutkan bahwa pada algoritma yang standar pada
umumnya, akan gagal mengenkripsi file yang semua karakternya bernilai ASCII 0
atau semua bernilai 255. Metode yang diajukan adalah metode Vernam Cipher
pada bit level, kemudian pada byte level dengan menggunakan umpan balik
(feedback). Modifikasi yang dilakukan memberikan keuntungan yaitu pada
perbandingan dua data yang dienkripsi, sekalipun kedua data tersebut memiliki
perbedaan yang kecil, hasil enkripsi (ciphertext) memiliki perbedaan yang besar.
Metode yang diajukan oleh Nath, efektif digunakan untuk menyandikan pesan
pendek, password, kunci rahasia, dan lain sebagainya.
Berdasarkan beberapa penelitian yang pernah dilakukan terkait penerapan
metode Selective Bitplane untuk penyandian citra digital, dan algoritma enkripsi
Vernam Cipher, maka dilakukan penelitian yang bertujuan untuk merancang dan
mengimplementasikan aplikasi kriptografi pada data citra digital menggunakan
metode Selective Bitplane, serta menggunakan algoritma enkripsi Vernam Cipher
untuk menyandikan bit yang terpilih pada metode Selective Bitplane. Aplikasi
2
diimplementasikan dalam bentuk aplikasi mobile berbasis sistem operasi Android,
dengan tujuan untuk menganalisis perbandingan enkripsi non-selective bitplane
dengan enkripsi Selective Bitplane.
Penelitian ini membahas tentang penggunaan metode enkripsi Selective
Bitplane. Keunggulan dari algoritma Selective Bitplane adalah dapat mengurangi
waktu dan proses komputasi yang ada dalam penyandian citra [1]. Untuk
menyandikan informasi yang terpilih (selected bits), digunakan algoritma
kriptografi Vernam Cipher dengan modifikasi pada proses pembangkitan kunci.
Vernam Cipher diciptakan oleh Mayor J. Maugborne dan G. Vernam pada
tahun 1917. Metode tersebut juga dikenal dengan nama One Time Pad (OTP).
Vernam cipher merupakan algoritma berjenis kriptografi simetris. Pada proses
enkripsi, plaintext diubah ke dalam kode ASCII dan kemudian dikenakan operasi
XOR terhadap kunci yang sudah diubah ke dalam kode ASCII. Pada proses
dekripsi, ciphertext diubah ke dalam kode ASCII, kemudian dikenakan operasi
XOR terhadap kunci yang sudah diubah ke dalam kode ASCII juga [7]. Contoh
enkripsi Vernam Cipher, dengan pesan "HELLO", kunci "XMCKL" ditunjukkan
pada Tabel 1.
Perlu diperhatikan, pada Tabel 1, hasil enkripsi dalam angka ASCII
mewakili karakter yang tidak bisa dicetak/ditampilkan (non-printable character),
sebagai contoh kode ASCII 8 mewakili karakter "Backspace" dan kode ASCII 7
mewakili perintah "Bell" [8].
Pesan
Tabel 1 Contoh Enkripsi Vernam cipher [9]
Pesan
Kunci
Kunci
⊕
ASCII
ASCII
DEC
HEX
DEC
HEX
H
72
48
X
88
58
=
E
69
L
76
45
M
77
4D
4C
C
67
43
L
76
4C
K
75
O
79
4F
L
76
Hasil XOR
ASCII
DEC
HEX
16
10
=
8
8
=
15
F
4B
=
7
7
4C
=
3
3
Salah satu operator logika utama yang digunakan pada proses
enkripsi adalah operator Exclusive-OR (XOR). Exclusive-OR (XOR) adalah
operasi logika pada dua nilai. Hasil operasi akan bernilai BENAR jika tepat salah
satu dari kedua variabel bernilai BENAR. Jika tidak, akan memberikan hasil
SALAH. Hal ini juga berarti bahwa hasil dari operasi 'XOR' akan bernilai
BENAR hanya jika kedua variabel masukan memiliki nilai yang berbeda. Nilai
yang sama akan menghasilkan nilai SALAH [4].
Pada penelitian ini, format file citra digital yang digunakan adalah PNG.
PNG merupakan True Color image, yang berarti tiap piksel direpresentasikan
dengan 3 byte, terbagi ke dalam red, green, dan blue masing-masing 1 byte. Hal
ini sering disebut dengan warna RGB, atau True Color 24 bit. Selain 24 bit warna,
file PNG juga mendukung 32 bit warna. True Color 32 bit sama dengan 24 bit,
dengan perbedaan adalah adanya 1 byte tambahan yang disebut komponen alpha
[10] [11].
3
Gambar 1 True Color 24 bit dan 32 bit [10]
3.
Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang
terbagi dalam empat tahapan, yaitu, (1) Tahap Identifikasi Masalah dan
Pengumpulan Data, (2) Perancangan Sistem, (3) Implementasi Sistem, (4)
Pengujian Sistem, serta Analisis Hasil Pengujian.
Gambar 2 Tahapan Penelitian
Tahapan penelitian pada Gambar 2, dijelaskan sebagai berikut: Tahap
pertama: mengidentifikasi masalah dan pengumpulan data, adalah bagaimana
sistem kriptografi yang dibuat dapat mengenkripsi dan mendekripsi data gambar
dengan metode enkripsi Selective Bitplane, serta bagaimana performa algoritma
Vernam Cipher dalam menyandikan suatu informasi.
Tahap kedua: merancang sistem yaitu proses enkripsi dan dekripsi
menggunakan algoritma Selective Bitplane dan Vernam Cipher, yang terjadi di
dalam sistem, serta rancangan antarmuka aplikasi yang digunakan oleh user.
Tahap ketiga: yaitu mengimplementasikan hasil perancangan sistem.
Membangun sistem berdasarkan proses yang telah didefinisikan pada tahap
perancangan. Yang dimaksud adalah mengimplementasikan suatu algoritma yang
ada dan terbukti memiliki performa yang baik, untuk menjaga kerahasiaan data
citra digital yang berformat BMP maupun PNG.
Tahap keempat: adalah melakukan pengujian sistem. Analisis dilakukan
pada hasil pengujian, sehingga dapat diperoleh kesimpulan
Tahap kedua dalam tahapan penelitian ini adalah merancang proses
enkripsi dan dekripsi. Proses enkripsi dan dekripsi secara umum memerlukan
masukan data berupa citra digital, dan kunci.
4
Mulai
Input
(Citra
Digital,
Kunci)
Generate
SEED
Baca
Warna
Baca 4
MSB
Generate
4 Bit
random
Enkripsi Vernam
(4 MSB warna, 4Bit
Random)
Semua Warna
Selesai diproses
FALSE
TRUE
Selesai
Gambar 3 Proses Enkripsi pada Gambar Menggunakan Metode Selective Bitplane dan Vernam
Gambar 3 merupakan proses enkripsi, yang dimulai dengan proses input
citra digital dan kunci enkripsi. Kemudian kunci digunakan untuk membangkitkan
angka SEED. Pada citra digital dibaca piksel, dan didalam piksel diperoleh warna.
Pada tiap warna dibaca nilai 4 bit MSB. Angka SEED digunakan untuk
membangkitkan 4 bit acak, kemudian digunakan sebagai masukkan pada enkripsi
Vernam cipher. Proses ini berlangsung sampai pada warna terakhir pada piksel
terakhir pada citra digital.
Mulai
Input
(Citra
Digital,
Kunci)
Generate
SEED
Baca
Warna
Baca 4
MSB
FALSE
Generate
4 Bit
random
Dekripsi Vernam
(4 MSB warna, 4Bit
Random)
Semua Warna
Selesai diproses
TRUE
Selesai
Gambar 4 Proses Dekripsi pada Gambar Menggunakan Metode Selective Bitplane dan Vernam
Gambar 4 menunjukkan proses dekripsi yang secara keseluruhan memiliki
langkah yang sama dengan proses enkripsi. Input yang diperlukan adalah citra
digital yang terenkripsi, dan kunci. Pada kunci dilakukan operasi XOR satu
karakter dengan karakter yang lain, sehingga menghasilkan 1 bilangan yang
digunakan sebagai SEED untuk proses pembangkitan bilangan acak. Kemudian
pada tiap warna di citra digital, dibaca 4 bit MSB. Proses ini disebut Selective
Bitplane. Kemudian 4 bit MSB terenkripsi tersebut di-XOR-kan dengan 4 bit
bilangan acak. Hasilnya adalah 4 bit MSB semula. Proses ini dilakukan untuk
semua warna pada citra digital, sampai pada akhirnya dihasilkan citra digital asli.
5
Gambar 5 Proses Enkripsi/Dekripsi Vernam Cipher dengan Kunci Semi Acak
Vernam cipher yang digunakan pada penelitian ini, memiliki proses yang
ditunjukkan pada Gambar 5. Vernam cipher pada dasarnya bekerja dengan cara
melakukan operasi XOR antara byte plain dengan byte kunci. Kunci diperoleh
dengan cara membangkitkan bilangan semi acak acak.
Selective Bitplane bekerja dengan cara memilih satu atau beberapa bit dari
keseluruhan bit. Sebagai contoh jika satu elemen warna bernilai 98 maka nilai
biner nya adalah 01100010 . Jika pada nilai biner tersebut dilakukan proses bit
selection 4 MSB, maka diperoleh 4 bit paling depan yaitu 0110. Jika dipilih 2 bit
LSB maka, diperoleh 10.
Spesifikasi kunci yang digunakan pada penelitian ini adalah minimal 12
karakter (96 bit kunci). Berdasarkan Georgia Tech Research Institute (GTRI),
untuk mengalahkan Encryption Software Cracking saat ini, password yang paling
aman digunakan minimal panjangnya adalah 12 karakter [12].
Berikut adalah contoh proses mengolah kunci menjadi SEED. Untuk
menyederhanakan contoh, kunci yang digunakan memiliki panjang 8 karakter,
yaitu “fti@uksw”. Langkah-langkah prosesnya adalah (1) mengubah tiap karakter
menjadi nilai ASCII; (2) mengakumulasi nilai ASCII tersebut menjadi satu
bilangan dengan operator XOR. Langkah proses tersebut ditunjukkan pada tabel
2. Kunci yang dimasukkan oleh user, diubah ke nilai ASCII yaitu 102, 116, 105,
64, 117, 107, 115, 119. Langkahnya adalah sebagai berikut:
102 XOR 116 = 18
18 XOR 105 = 123
123 XOR 64 = 59
6
59
37
37
86
XOR
XOR
XOR
XOR
117
107
115
119
=
=
=
=
78
37
86
33 -> nilai seed
Tabel 2 Contoh Proses Mengolah Kunci Menjadi SEED
Kunci
f
t
i
@
u
k
s
w
Ascii
102
116
105
64
117
107
115
119
Hasil XOR
33
Berikut adalah contoh proses enkripsi. Jika diketahui bahwa suatu gambar
memiliki komponen warna 98, 12, 133, 119, 81, 228, 199, 120, 100. Maka setelah
proses enkripsi, warna tersebut menjadi 146, 124, 85, 231, 65, 132, 119, 136, 84.
Langkah proses enkripsi ditunjukkan pada Tabel 3.
Tabel 3 Contoh Proses Enkripsi
Langkah
R
B
R
B
R
G
B
12
133
119
81
228
199
120
100
0110
0010
0000
1100
1000
0101
0111
0111
0101
0001
1110
0100
1100
0111
0111
1000
0110
0100
4 BIT MSB
0110
0000
1000
0111
0101
1110
1100
0111
0110
NILAI SEMI
ACAK
SEED=33
DIPEROLEH
DARI Tabel
1
246
127
212
153
26
101
176
254
15
BiNER
1111
0110
0111
1111
1101
0100
1001
1001
0001
1010
0110
0101
1011
0000
1111
1110
0000
1111
4 BIT MSB
1111
0111
1101
1001
0001
0110
1011
1111
0000
VERNAM
PLAIN
0110
0000
1000
0111
0101
1110
1100
0111
0110
VERNAM
KUNCI
1111
0111
1101
1001
0001
0110
1011
1111
0000
HASIL
1001
0111
0101
1110
0100
1000
0111
1000
0101
WARNA
CIPHER
BINER
10010
010
01111
100
01010
101
11100
111
01000
001
10000
100
01110
111
10001
000
01010
100
WARNA
CIPHER
146
124
85
231
65
132
119
136
84
SELISIH
PLAIN
dengan
CIPHER
48
112
48
112
16
96
80
16
16
WARNA
PLAIN
98
WARNA
PLAIN
BINER
G
G
7
Berikut ditunjukkan contoh proses dekripsi. Berdasarkan proses enkripsi
pada Tabel 3, maka proses dekripsi ditunjukkan pada Tabel 4.
Tabel 4 Contoh Proses Dekripsi
Langkah
R
G
146
124
85
231
1001
0010
0111
1100
0101
0101
1001
0111
NILAI
SEMI ACAK
SEED=33
DIPEROLEH
DARI
Tabel 1
246
BiNER
4 BIT MSB
WARNA
CIPHER
WARNA
CIPHER
BINER
4 BIT MSB
VERNAM
PLAIN
VERNAM
KUNCI
HASIL
WARNA
PLAIN
BINER
WARNA
PLAIN
B
R
G
B
R
G
B
65
132
119
136
84
1110
0111
0100
0001
1000
0100
0111
0111
1000
1000
0101
0100
0101
1110
0100
1000
0111
1000
0101
127
212
153
26
101
176
254
15
1111
0110
0111
1111
1101
0100
1001
1001
0001
1010
0110
0101
1011
0000
1111
1110
0000
1111
1111
0111
1101
1001
0001
0110
1011
1111
0000
1001
0111
0101
1110
0100
1000
0111
1000
0101
1111
0111
1101
1001
0001
0110
1011
1111
0000
0110
0000
1000
0111
0101
1110
1100
0111
0110
01100
010
00001
100
10000
101
01110
111
01010
001
11100
100
11000
111
01111
000
01100
100
98
12
133
119
81
228
199
120
100
Analisis Perbedaan Nilai Warna Plain dan Cipher
250
231
228
Nilai Warna
200
199
150
146
100
98
50
133
124
112
132
119
112
85
48
48
1
2
3
Plain
100
84
80
Cipher
Selisih
16
12
0
96
81
65
136
120
119
4
5
16
6
7
8
16
9
Urutan Warna
Gambar 6 Analisis Perbedaan Nilai Plain dan Cipher
Berdasarkan contoh enkripsi, dilakukan analisis berbedaan antara nilai
warna sebelum dan setelah enkripsi. Hasil analisis ditunjukkan pada Gambar 6.
Garis biru menunjukkan nilai byte plain, garis merah byte cipher, dan garis hijau
selisih keduanya. Berdasarkan grafik tersebut tidak ditemukan pola antara nilai
plain dan nilai cipher. Perbedaan pada byte plain pertama (98) dan byte cipher
8
pertama (146), adalah 48. Pada byte plain kedua (12), dan byte cipher kedua (124)
memiliki selisih 112. Angka-angka perbedaan ini tidak membentuk pola, sehingga
pada grafik tidak ditunjukkan garis liner (tidak berbanding lurus).
4.
Hasil dan Pembahasan
Hasil implementasi sistem berdasarkan perancangan yang telah dibuat,
dijelaskan sebagai berikut. Sistem dikembangkan untuk perangkat mobile dengan
sistem operasi Android 4.x keatas. Alat pengembangan yang digunakan adalah
Eclipse dengan dukungan ADT (Android Development Toolkit) versi 19.
Gambar 7 menampilkan form yang digunakan untuk melakukan enkripsi
gambar. Pada form ini, disediakan fasilitas untuk memilih file gambar,
memasukkan kunci enkripsi, dan memilih bitplane. Cipher image akan
ditampilkan bersebelahan dengan plain image. Gambar 8 menampilkan form yang
digunakan untuk melakukan dekripsi gambar, dengan susunan dan aturan yang
sama dengan form enkripsi.
Gambar 7 Form Enkripsi Gambar
Gambar 8 Form Dekripsi Gambar
Pengujian Pengaruh Pemilihan Bitplane terhadap hasil enkripsi (Pengujian
1), dilakukan untuk melihat pengaruh pemilihan bitplane, terhadap besarnya
perbedaan piksel antara plain image dan cipher image. Hasil pengujian 1
ditunjukkan pada Tabel 5 kolom Pengujian 1. Pada kolom bitplane, yang
dimaksud dengan angka 1 s/d 8 adalah posisi bitplane, 1 berarti MSB, 8 berarti
LSB. Berdasarkan hasil pengujian 1, disimpulkan bahwa pemilihan posisi dan
jumlah bitplane mempengaruhi hasil enkripsi. Bitplane pada posisi MSB
memberikan pengaruh yang signifikan terhadap perbedaan piksel antara plain
image dan cipher image. Hal ini berlaku sebaliknya untuk bitplane pada posisi
9
LSB. Jumlah bitplane juga memberi pengaruh besarnya perbedaan yang
dihasilkan. Semakin banyak bitplane MSB yang dipilih, maka semakin besar
perbedaan piksel yang ditemukan.
No.
Plain Image
Tabel 5 Hasil Pengujian 1 dan Pengujian 2
Bit
plane
Dimensi
Cipher Image
(posisi
(piksel)
bit yang
terpilih)
Pengujian
1
Pengujian
2
Perbedaan
Warna
Waktu
Proses
(detik)
1.
1
128 x
128
24335
0.462026
2.
2
128 x
128
24653
0.459026
3.
3
128 x
128
24572
0.479027
4.
4
128 x
128
24711
0.469027
5.
5
128 x
128
24501
0.451026
6.
6
128 x
128
24497
0.466027
10
7.
7
128 x
128
24459
0.456026
8.
8
128 x
128
24438
0.466027
9.
1,2
128 x
128
37224
0.850049
10.
1,2,3
128 x
128
43071
1.22907
11.
7,8
128 x
128
36915
0.844048
12.
6,7,8
128 x
128
43032
1.258072
13.
1,2,3,4,
5,6,7,8
(semua
bit)
128 x
128
48951
3.2021831
Pengujian Pengaruh Pemilihan Bitplane terhadap Kecepatan Proses
(Pengujian 2), dilakukan untuk melihat pengaruh pemilihan bitplane terhadap
11
lama waktu proses enkripsi/dekripsi. Hasil pengujian 2 ditunjukkan pada Tabel 5
kolom Pengujian 2. Berdasarkan hasil pengujian 2, disimpulkan bahwa pemilihan
jumlah bitplane mempengaruhi kecepatan proses enkripsi, seperti ditunjukkan
dengan lama waktu proses pada nomor uji 1, nomor uji 9, dan nomor uji 10. Hal
ini dikarenakan ketika jumlah bitplane yang dipilih semakin banyak, maka
semakin banyak pula bit yang harus diproses, dan semakin banyak pula waktu
yang diperlukan oleh proses.
Pengujian Visual untuk Gambar Homogen, Heterogen Berpola dan
Gambar Natural (Pengujian 3), dilakukan untuk melihat perbedaan yang
dihasilkan antara gambar homogen (satu warna) dan heterogen (banyak warna,
berpola) dan natural (foto). Pengujian dilakukan dengan cara menunjukkan plain
image dan cipher image terhadap 30 responden, dan menanyakan apakah kedua
gambar tersebut menunjukkan kesamaan pola. Gambar yang digunakan adalah
mono.png sebagai gambar homogen, pola.png sebagai gambar heterogen berpola,
dan lena.png sebagai gambar foto. Hasil pengujian 3 ditunjukkan pada Tabel 6.
No
Gambar
1.
Tabel 6 Hasil Pengujian 3
Bitplane Cipher Image
1
Respon
87.472% beda
12.528% sama
2.
1,2
100% beda
3.
1,2,3
100% berbeda
12
4.
1,2,3,4
100% berbeda
5.
1
88.816 % beda
11.184% sama
6.
1,2
98.752%
berbeda
1.248% sama
7.
1,2,3
100% berbeda
8.
1,2,3,4
100% berbeda
13
9.
1
87.561%
berbeda.
12.439% sama
10.
1,2
98.669%
berbeda
1.331% sama
11.
1,2,3
99.865%
berbeda
0.135% sama
12.
1,2,3,4
99.969%
berbeda
0.031% sama
Berdasarkan hasil pengujian 3, gambar homogen (nomor uji 1-4),
penyandian 1 bit MSB sudah dapat memberikan perbedaan secara visual, untuk
gambar heterogen berpola (nomor uji 4-8), diperlukan 4 bit MSB untuk dapat
menyembunyikan makna gambar, dan untuk gambar natural (nomor uji 9-12),
penyandian 2 bitplane MSB dapat menyandikan secara visual. Untuk gambar
homogen, disimpulkan bahwa panjang kunci memberi pengaruh yaitu: semakin
banyak perbedaan yang dihasilkan dan semakin lama waktu proses.
Pengujian Integritas Data (Pengujian 4), dilakukan untuk melihat apakah
setelah melalui proses enkripsi dan dekripsi, gambar mengalami perubahan
informasi piksel. Pengujian dilakukan dengan melihat perbedaan piksel antara
gambar sebelum enkripsi dan gambar setelah dekripsi. Hasil pengujian 4
ditunjukkan pada Tabel 7.
14
Tabel 7 Hasil Pengujian 4
Gambar
Dimensi
Perbedaan
Piksel
1.
lena1.png
128x128
0
2.
lena2.png
256x256
0
3.
chess1.png
250x300
0
4.
chess2.png
250x300
0
5.
chess3.png
250x300
0
6.
baboon.png
512x512
0
No.
15
7.
blondie.png
512x512
0
8.
jet.png
512x512
0
9.
tank.png
512x512
0
10. vegetables.png
512x512
0
11.
red.png
250x300
0
12.
wgr.png
250x300
0
Berdasarkan hasil pengujian 4, disimpulkan bahwa proses enkripsi dan
dekripsi tidak mengubah informasi piksel pada gambar, karena jumlah perbedaan
piksel antara gambar sebelum enkripsi dan gambar setelah dekripsi, adalah 0
(tidak ada perbedaan).
Pengujian yang terakhir adalah blackbox testing, yang bertujuan untuk
melihat fungsi-fungsi pada aplikasi apakah sudah berjalan dengan baik. Hasil
16
pengujian ditunjukkan pada Tabel 8. Berdasarkan hasil blackbox testing,
disimpulkan bahwa aplikasi telah berfungsi dan melakukan validasi masukkan
pengguna, dengan baik
No
1.
5.
Tabel 8 Hasil Blackbox Testing
Hasil yang
Hasil yang
Proses
diharapkan
Muncul
Enkripsi
Keluar pesan
Sesuai yang
dengan
gagal. Bahwa
diharapkan
panjang kunci kunci harus
kurang dari 12 minimal 12
Kesimpulan
Valid
2.
Enkripsi
dengan
panjang kunci
12 atau lebih.
Proses enkripsi
berlangsung
Sesuai yang
diharapkan
Valid
3.
Dekripsi
dengan kunci
yang berbeda
Gambar plain
text tidak
ditampilkan.
Sesuai yang
diharapkan
Valid
4.
Dekripsi
dengan kunci
yang sama
Gambar plain
text tidak
ditampilkan.
Sesuai yang
diharapkan
Valid
5.
Dekripsi
dengan kunci
yang mirip.
Contoh: kunci
enkripsi:
1234abcd,
Kunci dekripsi
1234ABCD
Gambar plain
text tidak
ditampilkan.
Sesuai yang
diharapkan
Valid
6.
Dekripsi
dengan kunci
yang berbeda
satu karakter.
Contoh: kunci
enkripsi:
1234abcd,
Kunci dekripsi
1234abce
Gambar plain
text tidak
ditampilkan.
Sesuai yang
diharapkan
Valid
Simpulan
Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka
dapat diambil kesimpulan sebagai berikut: (1) Kombinasi Selective Bitplane dan
vernam cipher menghasilkan metode enkripsi/dekripsi yang cepat, untuk citra
digital, pada lingkungan mobile Android; (2) Berdasarkan pengujian, proses
enkripsi gambar dapat dilakukan dengan menyandikan beberapa bit MSB dan
tidak perlu semua bit, sehingga mempersingkat waktu proses; (3) Untuk
menyandikan gambar berpola diperlukan 4 bit MSB untuk dapat menyamarkan
17
arti dari gambar sesungguhnya; (4) Untuk gambar natural (foto), 2 bit MSB sudah
dapat menyamarkan arti gambar sesungguhnya. Saran pengembangan yang dapat
diberikan untuk penelitian lebih lanjut adalah sebagai berikut: (1) Pengamanan
citra digital pada lingkungan Android, memiliki keterbatasan pada sumber daya
perangkat keras. Selain algoritma enkripsi, algoritma shuffle dapat digunakan
untuk mengacak bit yang terpilih setelah proses pemilihan (bitplane selection).
Untuk mencapai nilai keamanan yang lebih baik, maka dapat digunakan jenis
algoritma genetika, yang bekerja dengan cara membangkitkan beberapa
kemungkinan solusi penyandian, kemudian dipilih solusi yang memberikan
perbedaan nilai paling tinggi antara piksel awal dengan piksel akhir.
6.
Daftar Pustaka
[1].
International Data Corporation 2015. Smartphone OS Market Share, Q1
2015.
http://www.idc.com/prodserv/smartphone-os-market-share.jsp.
Diakses pada Juli 2015.
[2]. Android Open Source Project 2011. What is android? http://developer.
android. com/guide/basics/what-is-android. html, 2. Diakses tanggal 27
Oktober 2013
[3]. Podesser, M., Schmidt, H.-P. & Uhl, A. 2012. Selective bitplane encryption
for secure transmission of image data in mobile environments. Proceedings
of the 5th IEEE Nordic Signal Processing Symposium (NORSIG’02).
[4]. Sholeh, M. & Hamokwarong, J. V 2011. Aplikasi Kriptografi dengan
Metode Vernam Cipher dan Metode Permutasi Biner. Momentum 7, 8–13.
[5]. Alvarez, R. & Zamora, A. 2014. A Matrix PRNG with S-Box Output
Filtering. Journal of Applied Mathematics 2014.
[6]. Banerjee, P. & Nath, A. 2013. Bit and Byte Level Generalized Modified
Vernam Cipher Method with Feedback. International Journal of Computer
Applications 64, 9–15.
[7]. Bellovin, S. M. 2011. Frank Miller: Inventor of the One-Time Pad.
Cryptologia 35, 203–222.
[8]. Shirey, R. W. 2007. RFC 2828: Internet security glossary. The Internet
Society
[9]. Rosenberg, B. 2004. Vernam Cipher, A Perfect Cipher.
http://www.cs.miami.edu/home/burt/learning/Csc609.051/notes/02.html.
Diakses pada 4 Mei 2015
[10]. Willamette.edu In press. Image File Formats.
[11]. Boutell, T. 1997. PNG (Portable Network Graphics) Specification Version
1.0.
[12]. MSNBC 2010. Want to deter hackers? Make your password longer.
http://www.nbcnews.com/id/38771772/. Diakses pada 1 Mei 2015
18