Peranca
Menggunakan
untuk
Mag
Pr
U
i
angan
dan
Implementasi
Kriptog
an
Vigenere
Cipher
dan
Fisher
Ya
Pada Data Citra Digital
Artikel
Ilmiah
Diajukan
kepada
Fakultas
Teknologi
Informasi
untuk
memperoleh
gelar
Sarjana
Komputer
Peneliti:
Rulianto
Lalu
Pada
(672013725)
Magdalena
A.
Ineke
Pakereng,
M.Kom.
rogram
Studi
Teknik
Informatika
Fakultas
Teknologi
Informasi
Universitas
Kristen
Satya
Wacana
Salatiga
Mei
2015
grafi
ates
Shuffle
puter
1
Perancangan
dan
Implementasi
Kriptografi
Menggunakan
Vigenere
Cipher
dan
Fisher
Yates
Shuffle
Pada Data Citra Digital
1)RuliantoLaluPada,2)MagdalenaA.InekePakereng
Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1)672013725@student.uksw.edu,2)ineke.pakereng@staff.uksw.edu
Abstract
Securityaspectsintheexchangeofinformationis veryimportantbecausearemote datacommunicationmaynotnecessarilyhaveasecuretransmissionpath.Informationin the form of digital images has been widely used in various fields such as government, military, financialinstitutions, hospitals,tradingcompanies, andsoforth. Digitalimage storedinacomputerandtransmittedthroughacomputernetworkandtheInternetareat risktobeknown,alteredordestroyedbycertainparties.Cryptographictechniquescanbe appliedtoprotectdigitalimagesoftheseproblems.Cryptographyinthedigitalimagecan beimplementedusingacombinationofFisherYatesandVigenerealgorithm.Inthisstudy produced an application for encryption and decryption of digital image by using a combinationofthesetwoalgorithms.Theresultsshowthatsmallchangesinthekey,give large changes in the results of encryption. Encryption and decryption processdoes not damage the pixels in a digital image, so that the integrity of the digital image can be maintained.
Keywords:ImageCryptography,VigenereCipher,FisherYatesShuffle
Abstrak
Aspek keamanan dalam pertukaran informasi menjadi sangat penting karena suatu komunikasi data jarak jauh belum tentu memiliki jalur transmisi yang aman. Informasi berupa citra digital telah digunakan secara luas dalam berbagai macam bidang seperti pemerintahan, militer, badan keuangan, rumah sakit, perusahaan perdagangan, dan lain sebagainya. Citra digital yang tersimpan dalam komputer maupun dikirimkan lewat jaringan komputer dan internet memiliki resiko untuk diketahui, diubah dan dirusak oleh pihak tertentu. Teknik kriptografi dapat diterapkan untuk melindungi citra digital dari masalah-masalah tersebut. Kriptografi pada citra digital dapat diimplementasikan dengan menggunakan kombinasi algoritma Fisher Yates dan Vigenere. Pada penelitian ini dihasilkan suatu aplikasi untuk enkripsi dan dekripsi citra digital dengan menggunakan kombinasi dua algoritma tersebut. Hasil pengujian menunjukkan bahwa perubahan kecil pada kunci, memberikan perubahan yang besar pada hasil enkripsi. Proses enkripsi dan dekripsi tidak merusak piksel pada citra digital, sehingga keutuhan citra digital dapat dipertahankan.
KataKunci: Kriptografi Citra Digital, VigenereCipher, FisherYatesShuffle
1) Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
2
1. Pendahuluan
Pada era modern saat ini banyak sekali kemungkinan penyadapan data, maka aspek keamanan dalam pertukaran informasi menjadi sangat penting karena suatu komunikasi data jarak jauh belum tentu memiliki jalur transmisi yang aman dari penyadapan sehingga keamanan informasi menjadi bagian penting dalam dunia informasi itu sendiri [1].
Informasi berupa citra digital telah digunakan secara luas dalam berbagai macam bidang seperti pemerintahan, militer, badan keuangan, rumah sakit, perusahaan perdagangan, dan lain sebagainya. Citra digital digunakan untuk menyimpan informasi penting, misalnya hasil pemeriksaan pasien dalam bidang rumah sakit, area geografi dalam bidang penelitian, posisi musuh dalam bidang militer, produk baru dalam perusahaan, dan lain sebagainya. Citra digital yang tersimpan dalam komputer maupun dikirimkan lewat jaringan komputer dan internet memiliki resiko untuk diketahui, diubah dan dirusak oleh pihak tertentu. Teknik kriptografi dapat diterapkan untuk melindungi citra digital dari masalah-masalah tersebut. Algoritma Fisher Yates adalah algoritma yang berfungsi untuk mengacak posisi elemen dalam sebuah himpunan. Algoritma Fisher Yates dapat diimplementasikan untuk mengacak (shuffle) piksel pada suatu citra digital, sehingga menghilangkan makna sebenarnya. Proses pengacakan dapat mengguna- kan suatu nilai seed sebagai nilai awal pengacakan. Nilai seed ini digunakan kembali ketika proses pembalikan (deshuffle) diperlukan, untuk mendapatkan citra digital yang semula. Untuk meningkatkan keamanan, pada hasil shuffle dapat dilakukan proses enkripsi. Algoritma Vigenere yang merupakan algoritma klasik dapat digunakan untuk tujuan tersebut.
Berdasarkan uraian latar belakang masalah tersebut, maka pada penelitian ini dirancang aplikasi kriptografi citra digital, dengan melakukan penggabungan antara algoritma Fisher Yates shuffle dan algoritma Vigenere. Berdasarkan hasil perancangan, dilakukan implementasi dalam bentuk aplikasi berbasis Windows, yang dibuat dengan menggunakan teknologi .NetFramework.
2. TinjauanPustaka
Penelitian tentang Vigenere cipher termodifikasi telah dilakukan sebelumnya. Pada penelitian Setyaningsih, dkk., [2] dibahas mengenai masalah keamanan pesan multimedia (MMS) yang dikirimkan melalui smartphone. Pesan tersebut sebelum sampai ke penerima, terlebih dahulu melewati server operator seluler. Melihat permasalahan tersebut, maka diperlukan mekanisme untuk mengamankan, yaitu dengan menyandikan pesan multimedia, terutama citra digital, sebelum dikirimkan. Teknik yang digunakan adalah kombinasi antara Vigenere
cipher dengan Playfair Cipher. Hasil percobaan menunjukkan histogram
cipher image memiliki distribusi keragaman dan perbedaan yang signifikan
memberikan petunjuk untuk dilakukan Penelitian yan
kombinasi antara algo algoritma tersebut dig digital, untuk tujuan men
Perbedaan pen sebelumnya adalah, mengacak piksel yan pengacakan (shuffle)
Vigenere Ciphe
algoritma kriptografi algoritma kriptografi
VigenereCipher terma
dari sejumlah cipher a
Vigenere Cipher telah
Namun, metode aslin seperti tertulis di dalam demikian, VigenereCip
Vigenere Cipher meng
melakukan enkripsi. huruf-huruf kunci, dan b karakter lainnya menun dengan menggunakan p ditentukan oleh nilai y = 24, z = 25). Vigen
tabula recta (Gambar
Gambar Tabula recta
menggunakan kunci daripada panjang plaintek Jika panjang kunci ad
3
ikan petunjuk untuk dilakukan statisticalattack.
ng lain adalah yang dilakukan oleh Li [3], y oritma berbasis chaostheory dan Vigenereciphe
gunakan untuk melakukan proses pengacakan uan mengamankan citra digital tersebut.
penelitian yang dilakukan ini dengan pene pada penelitian ini, citra digital dienkrip ng ada di dalamnya dengan algorima Fishe
kemudian dienkripsi menggunakan algoritma
ipher merupakan algoritma kriptografi klasik.
klasik berbasis pada operasi karakter, sedangk modern berbasis pada operasi bit. Dalam kr masuk ke dalam cipher substitusi abjad majemuk,
abjad tunggal, masing-masing dengan kunci y telah berkali-kali diciptakan ulang dengan cukup
nya digambarkan oleh Giovan Batista Belaso lam bukunya La Cifra del Sig. Giovan Batista B
Cipher dipopulerkan oleh Blaise de Vigenere p
menggunakan Bujur Sangkar Vigenere (Ga Pada bujur sangkar tersebut, kolom paling i, dan baris paling atas menyatakan plainteks seda menunjukkan karakter cipherteks. Karakter ciphe
an prinsip CaesarCipher. Pergeseran huruf menj desimal dari huruf kunci yang bersangkutan
nereCipher menggunakan tabel Vigenere yang
r 1)..
1 Tabula Recta yang Digunakan oleh VigenereCipher
digunakan untuk mendapatkan ciphe yang telah ditentukan. Jika panjang kunci plainteks, maka kunci diulang penggunaannya (s
adalah m, maka periodenya adalah m. Secara
yang melakukan
ipher. Kombinasi
piksel pada citra elitian-penelitian ipsi dengan cara
her Yates. Hasil
itma Vigenere. ik. Operasi pada
kan operasi pada riptografi klasik, emuk, yang terbuat yang berbeda [4]. cukup bervariasi. pada tahun 1553 Belaso. Meskipun pada tahun 1586. ambar 1) untuk kiri menyatakan angkan karakter-cipherteks ditentukan
menjadi cipherteks (a = 0, b = 1, ..., g dikenal dengan
er [5]
4
dapat digambarkan sebagai berikut: p (plainteks) : KRIPTOGRAFI k (kunci) : LAMPIONLAMP c (cipherteks) : VRUEBCTCARX
Pada penelitian ini digunakan algoritma shuffle FisherYates. FisherYates
shuffle(diambil dari nama Ronald Fisher dan Frank Yates) atau juga dikenal dengan
nama Knuth shuffle (diambil dari nama Donald Knuth), adalah sebuah algoritma untuk menghasilkan suatu permutasi acak dari suatu himpunan terhingga, dengan kata lain untuk mengacak suatu himpunan tersebut [6]. Jika diimplementasikan dengan benar, maka hasil dari algoritma ini tidak akan berat sebelah, sehingga setiap permutasi memiliki kemungkinan yang sama. Metode dasar yang digunakan untuk menghasilkan suatu permutasi acak untuk angka 1 sampai N adalah sebagai berikut [7]:
1. Tuliskan angka dari 1 sampai N.
2. Pilih sebuah angka acak K di antara 1 sampai dengan jumlah angka yang belum dicoret.
3. Dihitung dari bawah, coret angka K yang belum dicoret, dan tuliskan angka tersebut di lain tempat.
4. Ulangi langkah 2 dan langkah 3 sampai semuat angka sudah tercoret. 5. Urutan angka yang dituliskan pada langkah 3 adalah permutasi acak dari
angka awal.
Pada versi modern yang digunakan sekarang, angka yang terpilih tidak dicoret, tetapi posisinya ditukar dengan angka terakhir dari angka yang belum terpilih. Contoh pengerjaan dari versi modern ditunjukkan pada Tabel 1. Range
adalah jumlah angka yang belum terpilih, roll adalah angka acak yang terpilih,
scratch adalah daftar angka yang belum terpilih, dan result adalah hasil permutasi
yang akan didapatkan.
Tabel1 Contoh Langkah FisherYatesShuffle
Range Roll Scratch Result
5
Gambar2TrueColor24bit dan 32bit [8]
Sebuah metode otentikasi yang efektif memiliki beberapa kriteria sebagai berikut: (1) Dapat mengetahui apakah sebuah gambar telah mengalami perubahan atau tidak; (2) Dapat menunjukkan lokasi perubahan yang terjadi; (3) Dapat mengintegrasikan (menggabungkan) antara data otentikasi dengan citra digital yang akan diamankan; dan (4) Data otentikasi yang disisipkan tidak terlihat oleh mata manusia [10].
3. MetodedanPerancangan Sistem
Sistem yang dikembangkan, memiliki desain yang ditunjukkan pada Gambar 3. Sistem terdiri dari dua proses, yaitu proses enkripsi dan proses dekripsi. Pada proses enkripsi diperlukan masukan berupa citra digital dan kunci enkripsi. Hasil dari proses enkripsi adalah cipher image. Pada proses dekripsi, masukan yang diperlukan adalah cipherimage dan kunci dekripsi. Kunci enkripsi dan kunci dekripsi adalah sama.
Encryptor Citra Digiital +
Kunci Enkripsi
Proses Shuffle
Piksel
Proses Enkripsi dengan
Vigenere Cipher Image
Decryptor Cipher Image +
Kunci Dekripsi
Proses Dekripsi dengan
Vigenere
Proses
Deshuffle Piksel Citra Digital Original
Gambar3 Desain Sistem
6
Gambar 4 Tahapan Penelititan
Tahapan penelitian pada Gambar 4, dijelaskan sebagai berikut: Tahap
pertama: mengidentifikasi masalah keamanan data terutama citra digital, dan
mempelajari solusi-solusi yang dapat diterapkan. Tahapkedua: berdasarkan solusi-solusi yang dipilih, dirancang suatu modifikasi dari algoritma yang sudah ada, untuk digunakan sebagai penyelesaian masalah. Tahap ketiga: meng-implementasikan hasil perancangan ke dalam bentuk aplikasi Windows dengan menggunakan teknologi .Net Framework. Tahap keempat: adalah melakukan pengujian sistem dan kemudian melakukan analisis terhadap hasil pengujian tersebut.
Gambar 4 Rancangan Proses Enkripsi pada Citra Digital
Mulai
Input gambar dan kunci
Modulasi kunci menjadi angka seed
Baca semua elemen warnapadagambar
Shuffle warna
Proses enkripsi d engan Vigenere
Masukkan kembali Warna ke dalam gambar
Output Chiper Image
7
Pada Gambar 4 ditunjukkan proses enkripsi pada citra digital dengan Vigenere cipher termodifikasi. Masukan yang diperlukan adalah citra digital dan kunci yang panjangnya 6-12 karakter. Kunci yang digunakan kemudian dilakukan modulasi dengan XOR sehingga dihasilkan satu bilangan byte. Bilangan tersebut menjadi seed untuk proses pembangkitan bilangan acak. Untuk tiap elemen warna padagambar,dilakukanproses enkripsi dengan caramenggesernilai warnatersebut dengan nilai yangdihasilkan dari prosespembangkitan acak. Prosesiniberlangsung terus sampai pada elemen warna terakhir. Hasil dari proses pergeseran ini adalah citra digital terenkripsi (cipher image).
Gambar 5 Rancangan Proses Dekripsi Citra Digital
Pada Gambar 5 ditunjukkan diagram proses dekripsi. Seperti halnya pada proses enkripsi, pada proses dekripsi diperlukan masukan yaitu cipher image, dan kunci dekripsi. Kunci dekripsi digunakan untuk membangkitkan bilangan acak. Proses selanjutnya sama dengan proses enkripsi, yaitu menggeser nilai warnaseusai dengan nilai hasil pembangkitan acak. Perbedaannya adalah proses geser yang dilakukan dengan arah yang sebaliknya dari proses enkripsi.
Detail dari rancangan proses yang dikembangkan pada penelitian ini dijelaskan melalui urutan sebagai berikut.
1. Proses shuffle. Pada citra digital 24 bit warna tersusun dari piksel-piksel. Piksel tersebut kemudian dikocok (shuffle) sehingga posisinya tersusun
Mulai
Input Chiper Image dan kunci
Modulasi kunci menjadi angka seed
Baca semua elemen warnapadagambar
Proses enkripsi d engan Vigenere
Deshuffle warna
Masukkan kembali Warna ke dalam gambar
Output plain Image
secara acak. Algoritma yang digunakan
Yates. Agar proses shuffle yang telah dilakukan, dapat dikembalikan lagi
ke urutan semula
pada proses pembangkitan urutan masukkan pengguna.
2. Proses enkripsi. Piksel yang telah dikocok, kemudian dienkripsi dengan menggunakan algoritma Vigenere. Kunci yang digunakan untuk proses enkripsi adalah kunc
pada proses shuffle
3. Proses dekripsi. Citra digital yang telah terenkripsi tersebut, diterima oleh pihak kedua (penerima). Oleh penerima, dengan menggunakan kunci yang sama, citra digital didekripsi dengan menggunakan algoritma Vigenere. 4. Proses deshuffle
kondisi acak. Untuk mengembalikan ke urutan asli deshuffle. Proses
proses shuffle, sehingga dapat diperoleh urutan seperti pada awal
Sebagai contoh, jika dilakukan proses pada citra digital 24 warna, 4x4 px dengan susunan warna sebagai berikut:
Warna 255
Kunci yang dim
Kunci Ascii
Hasil Modulasi Kunci
Contoh proses
Urutan Semula 255 Hasil Shuffle 243
Contoh proses enkripsi:
Citra digital terenkripsi ditunjukkan pada G
Contoh proses dekripsi:
Warna (C) 89
Kunci (K) 102
8
Algoritma yang digunakan untuk proses shuffle
Agar proses shuffle yang telah dilakukan, dapat dikembalikan lagi ke urutan semula (deshuffle), maka diperlukan satu kunci yang digunakan pada proses pembangkitan urutan shuffle. Kunci ini diperoleh dari masukkan pengguna.
Proses enkripsi. Piksel yang telah dikocok, kemudian dienkripsi dengan menggunakan algoritma Vigenere. Kunci yang digunakan untuk proses adalah kunci yang dimasukkan oleh pengguna, sama dengan kunci
shuffle.
Proses dekripsi. Citra digital yang telah terenkripsi tersebut, diterima oleh pihak kedua (penerima). Oleh penerima, dengan menggunakan kunci yang sama, citra digital didekripsi dengan menggunakan algoritma Vigenere.
deshuffle. Setelah proses dekripsi, piksel-piksel berada dalam
kondisi acak. Untuk mengembalikan ke urutan asli perlu dilakukan proses Proses deshuffle memerlukan kunci yang sama digunakan pada proses shuffle, sehingga dapat diperoleh urutan seperti pada awal
Sebagai contoh, jika dilakukan proses pada citra digital 24 warna, 4x4 px dengan susunan warna sebagai berikut:
Gambar 6 Contoh Citra Awal
7 7 83 32 187 32 163 187 243
Kunci yang dimasukkan oleh pengguna adalah fti@uksw.
f t i @ u k
102 116 105 64 117 107
33 angka yang digunakan untuk lakukan shuffle
Contoh proses shuffle:
255 7 7 83 32 187 32 163 187
l terenkripsi ditunjukkan pada Gambar 7.
Gambar 7 Contoh Citra Hasil Shuffle dan Enkripsi
Contoh proses dekripsi:
100 115 63 124 114 198 151 33 116 105 64 117 107 115 119 102
shuffle adalah Fisher
Agar proses shuffle yang telah dilakukan, dapat dikembalikan lagi satu kunci yang digunakan Kunci ini diperoleh dari Proses enkripsi. Piksel yang telah dikocok, kemudian dienkripsi dengan menggunakan algoritma Vigenere. Kunci yang digunakan untuk proses i yang dimasukkan oleh pengguna, sama dengan kunci Proses dekripsi. Citra digital yang telah terenkripsi tersebut, diterima oleh pihak kedua (penerima). Oleh penerima, dengan menggunakan kunci yang sama, citra digital didekripsi dengan menggunakan algoritma Vigenere.
piksel berada dalam perlu dilakukan proses memerlukan kunci yang sama digunakan pada proses shuffle, sehingga dapat diperoleh urutan seperti pada awalnya. Sebagai contoh, jika dilakukan proses pada citra digital 24 warna, 4x4 px
240 10
s w
115 119
angka yang digunakan untuk lakukan shuffle
243 240 10
Contoh Citra Hasil Shuffle dan Enkripsi
C-K -13
4. HasildanPem
Berdasarkan bentuk aplikasi desktop menggunakan bahasa dienkripsi, dan kunci digital semula. Gamba Skema tampilan sama den
Kode Program 1 Perintah untuk Proses
Kode Program nilai data. Proses shuf
Algoritma tersebut me
1. public static T[] Shuffle<T>(T[] array, int seed) 2. {
Contoh proses deshuffle:
243 240 10 255 7 7 83 32 187
255 7 7 83 32 187 32 163 187
mbahasan
hasil perancangan, maka dilakukan implementa ktop berbasis Windows. Aplikasi dikemban a pemrograman C#, dengan pustaka .Net F
ngan yang digunakan adalah Visual Studio E
tuk Proses Enkripsi Gambar9Form untuk Pro
merupakan form yang digunakan untuk melakuk ebut menyediakan masukan berupa citra di
enkripsi. Hasil enkripsi ditampilkan bersebela ambar 9 merupakan form yang digunakan untuk
ama dengan form untuk proses enkripsi.
Perintah untuk Proses Shuffle denganAlgoritma Fisher-Yates
m 1 merupakan perintah untuk proses shuffle
huffle dilakukan dengan menggunakan algoritma
memanfaatkan fungsi acak. Pada .NetFramewo
public static T[] Shuffle<T>(T[] array, int seed) T[] copy = new T[array.Length];
array.CopyTo(copy, 0); Random r = new Random(seed);
for (int i = copy.Length - 1; i > 0; i--)
plementasi dalam dikembangkan dengan
Framework 4.5.
Express 2012 for
Proses Dekripsi
melakukan proses igital yang akan lahan dengan citra untuk proses dekripsi.
dari sekumpulan itma FisherYates.
10
class Random yang dapat membangkitkan bilangan acak (perintah pada baris 5).
Angka acak diperoleh dengan memanggil fungsi next (perintah pada baris 8). KodeProgram 2 Perintah untuk proses Deshuffle dengan Algoritma Fisher Yates
Kode Program 2 merupakan perintah untuk proses deshuffle dari sekumpulan nilai data. Deshuffle berarti proses menata ulang kembali sekumpulan data yang telah melalui proses shuffle sebelumnya. Langkah ini dicapai dengan cara membangkitkan urutan shuffle (perintah pada baris 10-16). Urutan proses shuffle
tersebut, digunakan untuk membalikkan kembali ke susunan awal (perintah pada baris 19-23).
KodeProgram 3 Perintah untuk Proses Enkripsi dengan Vigenere Chiper
Kode Program 3 merupakan perintah untuk proses enkripsi dengan algoritma Vigenere. Proses dimulai dengan menyusun kunci sepanjang data yang akan dienkripsi. Kemudian untuk tiap nilai byte pada data, dilakukan operasi penjumlahan, dan hasilnya dimodulus 256 (jangkauan nilai data bertipe byte). KodeProgram 4 Perintah untuk Proses Dekripsi dengan Vigenere Chiper
1. public static T[] DeShuffle<T>(T[] array, int seed)
2. {
21. int originalIndex = traces[i].Index;
22. copy[originalIndex] = array[i];
23. }
11
Kode Program 4 merupakan perintah untuk proses dekripsi dengan algoritma Vigenere. Proses dimulai dengan menyusun kunci sepanjang data yang akan didekripsi. Kemudian proses pengurangan dilakukan antara data dengan nilai kunci.
Pengujian aplikasi dilakukan untuk mengetahui apakah aplikasi telah memenuhi rancangan yang dibuat, dan memenuhi kebutuhan pembuatan aplikasi, serta mengetahui performa aplikasi. Pengujian dilakukan dengan melihat 3 (tiga) faktor, yaitu kecepatan, keamanan, dan keutuhan data.
Pengujian kecepatan dilakukan dengan menguji beberapa ukuran citra digital, kemudian mencatat waktu proses yang dihasilkan.
Tabel 1 Hasil Pengujian Kecepatan
No Jumlah Piksel Enkripsi Dekripsi
1 90000 0.2741812 0.2878835
2 202500 0.48743324 0.511792889
3 315000 0.76161444 0.799676389
4 427500 0.82376218 0.864929982
5 540000 1.0967248 1.151534
Hasil pengujian pada Tabel 1, ditampilkan dalam bentuk grafik batang, ditunjukkan pada Gambar 10.
1. public static byte[] Decrypt(byte[] data, byte[] key)
2. {
3. key = ExpandKey(key, data.Length);
4. List<byte> result = new List<byte>();
27. return result.ToArray();
Berdasarkan ha yaitu panjang dan dekripsi. Perbedaan w kedua proses melalui sangat dipengaruhi ol
Pengujian Ke yang mirip, kemudian kunci.Gambar 11 dan 12
menggunakan kunci ABCDEFGH
Gambar 11 Gambar yang Digunakan
untuk Pengujian Keamanan
Gambar 10 Hasil Pengujian Kecepatan
hasil pengujian kecepatan, dibuktikan bah lebar mempengaruhi kecepatan proses e waktu proses enkripsi dan dekripsi tidak si alui langkah-langkah yang sama. Tentu saja w
leh spesifikasi komputer yang digunakan. eamanan dilakukan dengan cara mengujikan mudian membandingkan hasil enkripsi dari m
11 dan 12 menunjukkan gambar asli, gambar hasil enkripsi dengan
ABCDEFGH.
Gambar yang Digunakan
untuk Pengujian Keamanan Gambar 12 Hasil Enkripsi dengan Kunci ABCDEFGH
Tabel 2 Hasil Pengujian Keamanan
Kunci1 Kunci 2 yang Dihasilkan Cipher Image Perbedaan Kunci (byte
ABCDEFGH 1BCDEFGH 1
ABCDEFGH 12CDEFGH 2
0
bahwa ukuran citra enkripsi maupun ignifikan, karena waktu proses ini
n beberapa kunci i masing-masing menunjukkan gambar asli, gambar hasil enkripsi dengan
3 40000 ABCDEFGH
4 40000 ABCDEFGH
5 40000 ABCDEFGH
Hasil pengujian pada Tabel 2, ditampilkan dalam bentuk grafik garis, ditunjukkan pada Gambar
Berdasarkan ha menghasilkan cipher
digunakan mirip. An angka perbedaan piks
ABCDEFGH 123DEFGH 3
ABCDEFGH 1234EFGH 4
ABCDEFGH 12345FGH 5
Hasil pengujian pada Tabel 2, ditampilkan dalam bentuk grafik garis, ditunjukkan pada Gambar 13.
Gambar 13 Hasil Pengujian Keamanan
hasil pengujian keamanan, diketahui bahw
image yang memiliki perbedaan besar, sekalipun
ngka perbedaan kunci berbanding secara sig sel.
eutuhan dilakukan dengan cara membanding awal (sebelum proses enkripsi), dengan cit ipsi).
Tabel 3 Hasil Pengujian Keutuhan
Gambar Akhir Kunci
0
Jumlah Perbedaan Kunci (byte)
Perbedaan ekalipun kunci yang gnifikan dengan gkan nilai piksel citra digital akhir
Perbedaan Piksel
1
2
3
4
5
Berdasarkan aplikasi dapat menjaga nilai piksel antara cit (setelah dekripsi).
5. Simpulan
Berdasarkan pe pengamaman citra di
14
1BCDEFGH
12CDEFGH
123DEFGH
1234EFGH
12345FGH
hasil pengujian keutuhan pada Tabel 3, diketa dapat menjaga keutuhan citra digital. Terbukti dari tidak
a citra digital awal (sebelum enkripsi) dengan c
perancangan dan pengujian diperoleh kesimpulan igital dapat dilakukan dengan algoritma pen
0
0
0
0
0
diketahui bahwa tidak ada perbedaan citra digital akhir
15
Yates, dan dikombinasikan dengan Vigenere cipher; (2) Berdasarkan hasil
pengujian, sekalipun kunci yang digunakan hanya berbeda 1 byte, namun memberikan hasil enkripsi yang hampir secara keseluruhan berbeda; (3) Berdasarkan hasil pengujian, tidak terjadi perubahan antara citra digital asli, dengan citra digital hasil dekripsi, dengan demikian aplikasi berhasil menjaga keutuhan informasi pada citra digital yang diproses. Saran yang dapat diberikan untuk penelitian dan pengembangan lebih lanjut adalah: (1) Pada penelitian ini, obyek yang diacak (shuffle) adalah elemen warna pada piksel. Perlu diteliti kelebihan dan kekurangan jika obyek yang diacak adalah piksel, bukan elemen warna di dalam piksel. Karena di dalam 1 piksel terdapat 3 warna, maka pengacakan piksel seharusnya akan lebih cepat dari pengacakan warna, namun tingkat keamanan perlu diteliti lebih lanjut.
6. Daftar Pustaka
[1]. Kaufman, C., Perlman, R. & Speciner, M. 2002. Network security:
privatecommunicationinapublicworld. Prentice Hall Press.
[2]. Setyaningsih, E., Iswahyudi, C. & Widyastuti, N. 2012. Imageencryption
on mobile phone using super encryption algorithm.
TELKOMNIKA (Telecommunication Computing Electronics and Control) 10, 815–824.
[3]. Li, S., Zhao, Y., Qu, B. & others 2013. Image scrambling based on
chaotic sequencesand Veginerecipher. Multimedia tools and applications
66, 573– 588.
[4]. Abrihama, D. 2008. Keystream Vigenere Cipher: Modifikasi
Vigenere Cipher dengan Pendekatan Keystream Generator.
Program Studi Informatika ITB. Bandung
[5] Salomon, D. 2005. Coding for data and computer
communications. (doi:10.1007/b102531)
[6]. Ade-Ibijola, A. O. 2012. A Simulated Enhancement of
Fisher-YatesAlgorithmforShufflinginVirtualCardGamesusing
Domain-Specific Data Structures. International Journal of
Computer Applications 54.
[7]. Black, P. E. 2005. Fisher-Yates shuffle. Dictionary of Algorithms and Data Structures 19.
[8]. Willamette.edu In press. ImageFileFormats.
[9]. Boutell, T. 1997. PNG (Portable Network Graphics)
Specification Version1.0.