Implementasi Operasi XOR dan Teknik Transposisi Segitiga ...
Transcript of Implementasi Operasi XOR dan Teknik Transposisi Segitiga ...
JURNAL ILMIAH CORE IT e-ISSN: 2548-3528 p-ISSN: 2339-1766
Implementasi Operasi XOR dan Teknik Transposisi Segitiga
untukPengamanan Citra JPEG
Berbasis Android
Nurhasanah1)
, Mohammad Andri Budiman2)
, Amer Sharif3)
Program Studi S1 Ilmu Komputer,Fasilkom-TI Universitas Sumatera Utara
Jalan Universitas No. 9 Kampus Universitas Sumatera Utara Medan 20155
e-mail: [email protected], [email protected], [email protected]
Abstrak
Keamanan data khususnya citra adalah hal yang sangat penting bagi pengguna yang memiliki
pesan bersifat rahasia. citra sangat rentan terhadap tindakan penyalahgunaan seperti diduplikasi,
dimodifikasi, bahkan dipalsukan. Untuk meningkatkan pengamanan citra salah satunya dengan
menggabungkan pemakaian kriptografi simetris dengan teknik Transposisi. Salah satu teknik kriptografi
simetris yang umum dipakai adalah operasi XOR. Untuk memperkuat operasi XOR digunakan teknik
transposisi segitiga, yang mampu mengubah susunan piksel citra sesuai bentuk segitiga yang digunakan.
Sistem dibangun menggunakan bahasa pemrograman Java. Pengujian sistem dilakukan terhadap citra
berukuran 200x200 piksel, 300x300 piksel, 400x400 piksel, 500x500 piksel, 600x600 piksel, 800x800
piksel, dan 1000x1000 piksel. Hasil penelitian menunjukkan bahwa operasi XOR dan teknik transposisi
segitiga dapat mengembalikan citra awal secara utuh. Sehingga dapat disimpulkan bahwa operasi XOR
dan teknik transposisi segitiga untuk pengamanan citra memenuhi parameter keutuhan data.
Kata kunci: Kriptografi, Operasi XOR, Transposisi Segitiga , Citra JPEG.
Abstract Data security especially image is very important for users who have a secret message. images
are particularly vulnerable to abuse actions such as duplicated, modified, even falsified. To improve the
security of one image by combining the use of symmetric cryptography with Transposition technique. One
common symmetric cryptography technique is the XOR operation. To strengthen the XOR operation a
triangular transposition technique is used, which is able to alter the pixel arrangement of images
according to the shape of the triangle used. The system is built using the Java programming language.
System tests are performed on images of 200x200 pixels, 300x300 pixels, 400x400 pixels, 500x500 pixels,
600x600 pixels, 800x800 pixels, and 1000x1000 pixels. The results show that XOR operation and
triangular transposition technique can restore the initial image as a whole. So it can be concluded that
XOR operation and triangular transposition technique for image security meets the parameters of data
integrity.
Keywords: Cryptography, XOR Operation, Triangle Transposition, JPEG Image.
1. Pendahuluan Kemudahan akses media komunikasi membawa pengaruh terhadap keamanan informasi yang
menggunakan media komunikasi sebagai media penyampaian. Informasi menjadi sangat rentan untuk
diketahui, diambil atau bahkan dimanipulasi dan disalah gunakan oleh pihak lain yang tidak berhak. Citra
yang dikirim khususnya melalui internet membuka peluang adanya ancaman terhadap pengubahan dan
pencurian data. Sebuah citra yang melintasi jaringan publik seperti internet diasumsikan dapat diakses
oleh siapapun. Oleh karena itu, dibutuhkan layanan untuk melindungi data terhadap akses asing yang
diwujudkan dengan menggunakan keamanan jaringan. Salah satu hal yang membutuhkan keamanan
adalah data atau informasi. Berbagai macam metode keamanan telah dikembangkan untuk melindungi
dan menjaga keamanan informasi , salah satunya yaitu metode kriptografi.
Kriptografi berasal dari bahasa yunani, menurut bahasa tersebut kata kriptografi dibagi menjadi dua,
yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan graphia berarti writing (tulisan). Dalam
kriptografi, nama lain untuk pesan adalah plainteks (plaintext). Agar pesan tidak dapat dimengerti
maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk
�
2
pesan yang tersandi disebut cipherteks (ciphertext). Cipherteks harus dapat ditransformasikan kembali
menjadi plainteks semula agar pesan yang dikirim bisa dibaca oleh penerima.
Banyak Operasi atau metode yang dapat digunakan untuk proses kriptografi. Maka disini penulis
menggunakan metode operasi XOR dan teknik transposisi segitiga. Operasi XOR merupakan operasi
logika bitwise yang bekerja dengan membandingkan dua buah bit (0 dan 1) yang apabila pada salah satu
bit nya bernilai 1, maka hasil akhir operasi XOR tersebut adalah 1. Namun, bila kedua bit yang akan
dibandingkan bernilai 0 atau keduanya bernilai 1 maka hasil akhir operasi XOR tersebut adalah 0.
operasiXOR sering dijadikan sebagai salah satu komponen dalam pembentukan cipher yang lebih
kompleks. Keutamaan dari teknik ini adalah mudah diimplementasikan [1].
Teknik transposisi segitiga memiliki pola pada baris pertama dimulai dari satu karakter dan baris
selanjutnya bertambah 2 karakter dari baris sebelumnya. Bentuk ini memberi pola bilangan ganjil baris
pertama 1 karakter, baris kedua 3 karakter, baris ketiga 5 karakter dan selanjutnya. Pola ini tergantung
banyak digit dari plaintext yang akan ditransposisikan. Untuk enkripsi, pola ini ditulis per baris dimulai
dari baris paling atas, kemudian dibaca per kolom yang dimulai dari kolom paling kiri untuk
menghasilkan ciphertext[5].
Agar tulisan ini tidak menyimpang dari ruang lingkup pembahasan diperlukan batasan masalah
sebagai berikut :
1. Metode yang digunakan untuk mengenkripsi adalah operasi XOR dan teknik transposisi segitiga,
dengan menggunakan kunci yang di-generate secara acak.
2. Pada transposisi segitiga jika bilangan pada file yang akan dienkripsi kurang untuk memenuhi
jumlah bilangan segitiga maka akan dimasukkan bilangan “-1”.
3. Bahasa yang digunakan adalah bahasa pemrograman Java dengan softwareEclipse.
4. Teknik pengamanan hanya dilakukan pada file citra dengan ekstensi (.*JPEG).
5. Ukuran file citra adalah 600 piksel x 600 piksel
2. Tinjauan Pustaka
A. Pengertian Kriptografi
Kriptografi adalah ilmu atau metode yang memungkinkan informasi yang akan dikirim aman sehingga
dengan cara ini orang yang dapat memperoleh informasi ini adalah penerima pesan yang ditujukan [12].
Kriptografi berasal dari bahasa yunani, menurut bahasa tersebut kata kriptografi dibagi menjadi dua, yaitu
kripto dan graphia. Kripto berarti secret (rahasia) dan graphia berarti writing (tulisan). Dalam kriptografi,
nama lain untuk pesan adalah plainteks (plaintext). kriptografi adalah transformasi pesan biasa untuk
membuat pesan tersebut aman dan kebal dari penyusup.
Kriptografi dilakukan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi
maknanya sehingga pesan atau kunci ataupun keduanya tetap terjaga kerahasiaannya dari penyadap
(attacker)[10]. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan
ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext).
Ciphertext harus dapat ditransformasikan kembali menjadi plaintext semula agar pesan yang dikirim bisa
dibaca oleh penerima. Enkripsi adalah cara yang paling efektif untuk mencapai keamanan data. Dekripsi
adalah proses mengubah data yang telah dienkripsi kembali ke bentuk terenkripsinya [5].
B. Operasi XOR (Ekslusive OR)
XOR merupakan operasi ExclusiveOR yang dilambangkan dengan tanda “⊕”. Operasi Xor merupakan
operasi logika bitwise yang bekerja dengan membandingkan dua buah bit (0 dan 1) yang apabila pada
salah satu bit nya bernilai 1, maka hasil akhir operasi Xor tersebut adalah 1. Namun, bila kedua bit yang
akan dibandingkan bernilai 0 atau keduanya bernilai 1 maka hasil akhir operasi Xor tersebut adalah 0 [1].
Aturan yang berlaku untuk operasi Xor dapat dilihat pada Tabel 1.
Tabel 1. operasi Xor [9]
�
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
Berbasis Android (Nurhasanah, Mohammad Andri Budiman, Amer Sharif )
3
Jika nilai A di-Xor-kan dengan nilai B sebanyak 2 (dua) kali, maka akan didapatkan nilai A kembali.
Karena sifat istimewa yang dimiliki operasi Xor tersebut sehingga operasi Xor cenderung dipakai dalam
proses enkripsi dan dekripsi yang memiliki algoritma yang sama.
Contoh operasi XOR:
1 0 0 1 0 1 1 1 0 1 0 1 0 1 0 0
1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 ⊕
Berikut ini contoh Enkripsi menggunakan operasi XOR:
jika ingin mengenkripsi kata “NURHASANAH” (Plaintext). Diketahui kunci pengirim yaitu K=
00001001. Maka enkripsi dapat dilihat pada Tabel 2 berikut ini:
Tabel 2. Proses Perhitungan Enkripsi XOR
Pada tabel 2 didapatlah hasil enkripsi berupa Ciphertext yaitu “01000111 01011100 01011011
01000001 01001000 01011010 01001000 01000111 01001000 01000001”. Selanjutkan untuk
mengembalikan pesan aslinya, maka Ciphertextharus didekripsi dengan kunci yang sama, sehingga
didapatlah hasil dekripsi pada tabel berikut:
Tabel 3. Proses Perhitungan Dekripsi XOR
Ciphertext
(C) P=C⊕K ASCII Plaintext (P)
01000111 01001110 78 N
01011100 01010101 85 U
01011011 01010010 82 R
01000001 01001000 72 H
01001000 01000001 65 A
01011010 01010011 83 S
01001000 01000001 65 A
01000111 01001110 78 N
01001000 01000001 65 A
01000001 01001000 72 H
Pada Tabel 3. ditunjukkan bahwa hasil dekripsi sesuai dengan plaintext sebelum dienkripsi yaitu
NURHASANAH. Itu berarti penggunaan operasi XOR memenuhi parameter keutuhan data.
C. Teknik Transposisi Segitiga Teknik transposisi segitiga memiliki pola pada baris pertama dimulai dari satu karakter dan baris
selanjutnya bertambah 2 karakter dari baris sebelumnya. Bentuk ini memberi pola bilangan ganjil baris
pertama 1 karakter, baris kedua 3 karakter, baris ketiga 5 karakter dan selanjutnya. Pola ini tergantung
banyak digit dari plaintext yang akan ditransposisikan. Untuk enkripsi, pola ini ditulis per baris dimulai
�
4
dari baris paling atas, kemudian dibaca per kolom yang dimulai dari kolom paling kiri untuk
menghasilkan ciphertext.[4]
Berikut contoh Transposisi Segitiga:
Diberikan plaintext : NURHASANAH
Maka hasil Transposisi yang didapat adalah
N
U R H
A S A N A
H # # # # # #
Gambar 1.Enkripsi Transposisi segitiga
Dari gambar 1 dapat dilihat hasil transposisi yang dilakukan dengan plaintext yang diberikan. Jika
karakter tidak memenuhi semua kolom pada baris terakhir maka akan dimasukkan karakter # sebagai
pengisinya. Untuk membaca hasil transposisi terlebih dahulu dibaca dari kolom paling kiri, sehingga hasil
yang didapat adalah “HA#US#NRA#HN#A##”.
Untuk mengembalikan plaintext yang telah ditransposisi, dilakukan penyusunan kembali karakter
kedalam segitiga, dengan karakter pertama menduduki kolom paling kiri dan dibaca dari baris atas ke
bawah. Sehingga hasil dari ciphertext “HA#US#NRA#HN#A##” dapat dilihat pada gambar 2.
N
U R H
A S A N A
H # # # # # #
Gambar 2.Dekripsi Transposisi segitiga
Dan hasilnya adalah NURHASANAH######. Dan setiap karakter “#” akan dihapus dari plaintext
sehingga menghasilkan NURHASANAH. Itu berarti penggunaan teknik Transposisi segitigamemenuhi
parameter keutuhan data.
D. Citra
Citra Digital adalah representasi dari sebuah citra dua dimensi sebagai sebuah kumpulan nilai digital yang
disebut elemen gambar atau piksel. Piksel adalah elemen terkecil yang menyusun citra dan mengandung
nilai yang mewakili kecerahan dari sebuah warna pada sebuah titik tertentu. Citra juga merupakan salah
satu bentuk multimedia yang memegang peranan sangat penting sebagai bentuk informasi visual. Citra
memiliki beberapa jenis format yaitu JPG, PNG, Bitmap, GIF dan lain-lain. Diantara multimedia lainnya,
citra sangat rentan untuk disalah gunakan seperti diduplikasi, dimodifikasi bahkan dipalsukan. Maka dari
itu keamanan suatu citra sangat dibutuhkan.
Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y
adalah koordinat spasial dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan
dari citra pada titik tersebut. Indeks baris dan kolom (x,y) dari sebuah pixel dinyatakan dalam bilangan
bulat [6]
E. Citra JPEG
Format file Joint Photographic Exprest Group (JPEG) atau yang biasa disingkat JPG terkenal karena
ukurannya yang mini dibandingkan dengan format-format citra lainnya. Mampu menayangkan warna
dengan kedalaman 24-bit true color. JPG mendukung mode warna RGB, CMYK (Cyan, Magenta,
Yellow, Black) dan Grayscale. Tetapi tidak mampu menampilkan citra dengan latar belakang
transparan.
F. Android
Android adalah suatu sistem operasi yang didasarkan pada kernel Linux dan digunakan di banyak gadget
yang berbeda, yaitu : ponsel, tablet, komputer, laptop, televisi, jam tangan dan perangkat lainnya [8].
Android merupakan sistem operasi open source. Ada empat keuntungan dari sistem operasi open source.
Keuntungan pertama, sistem operasi ini gratis. Kedua, semua orang bebas memodifikasi sistem yang ada.
Ketiga, pengguna tidak harus menggunakan perangkat lunak berbayar yang hanya bisa bersinergi dengan
perangkat lunak berbayar yang lain dari perusahaan yang sama. Keempat, banyaknya orang yang ikut
�
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
Berbasis Android (Nurhasanah, Mohammad Andri Budiman, Amer Sharif )
5
mengembangkan sistem membuat sistem operasi open source selalu diperbaharui, dan sistem
keamannnya pun lebih baik [2].
Menurut Safaat & Nazruddin [7], Android merupakan sebuah sistem operasi berbasis Linux yang
dirancang untuk perangkat seluler layar sentuh seperti smartphone atau komputer tablet. Android berjalan
di dalam Dalvik Virtual Machine (DVM) bukan di Java Virtual Machine (JVM). Sebenarnya DVM
memiliki banyak kesamaan dengan Java Virtual Machine, seperti Java ME (Java Mobile Edition), tetapi
Android menggunakan Virtual Machine sendiri yang dikustomisasi dan dirancang untuk memastikan
bahwa beberapa fitur berjalan lebih efisien pada perangkat mobile.
G. Penelitian Terdahulu
1. Liza Alfira Ali (2014) [1] dalampenelitianyang berjudul Analisis dan Implementasi Algoritma
Exclusive OR Least Significant Bit untuk Penyisipan File Gambar Pada Gambar. Setelah
menganalisis antara kedua algoritma Exclusive Or dan algoritma Least Significant Bit dapat
diambil kesimpulan bahwa untuk menjaga kerahasiaan suatu data yaitu apabila menggunakan
algoritma Exclusive Or bahwa citra sisipan diubah kedalam bit biner RGB dan dilakukan penyisipan
pada bit biner RGB citra cover dengan menggunakan operasi logika XOR serta dihasilkannya citra
stego XOR. Sedangkan pada proses penyisipan dengan menggunakan algoritma Least Significant Bit
(LSB) sama halnya dengan algoritma sebelumnya mengubah citra sisipan maupun citra cover
kedalam bit biner RGB, tetapi proses penyisipannya hanya mengganti nilai bit terakhir pada citra
cover dengan nilai bit citra yang akan disipkan satu per satu secara berurutan serta dihasilkannya citra
stego LSB. Pengamanan hasil sisipan citra itu dengan menggunakan password yang disisipkan pada
bit terakhir yaitu titik (299,299) pada citra stego. Pada hasil pengujian terlihat secara jelas bahwa
proses penyisipan dengan algoritma LSB lebih baik dari algoritma XOR yang memiliki kerusakan
yang lebih banyak diketahui berdasarkan hasil nilai MSE yang lebih tinggi dan hasil nilai PSNR yang
rendah pada algoritma XOR.
2. Brikson Hara Donald Barus (2012) [3] dalam penelitian yang berjudul Perancangan Add On
Keamanan Email Mozilla Thunderbird Dengan Algoritma Kriptografi Xor Dan Three Pass Protocol
Serta Kompresi Lempel Ziv Welch. Dalam penelitian ini, dapat disimpulkan bahwa, Kombinasi
algoritma kriptografi XOR, Pembangkit kunci Linear Congruential Generator, Kompresi data Lempel
Ziv Welch (LZW) dan base64 encoding dapat diterapkan menggunakan Three Pass Protocol.
Implementasi XOR dengan Three Pass Protocol memiliki kelemahan, yaitu sangat rentan terhadap
serangan jenis chipertext only attack selama pesan dikirimkan mengikuti mekanisme yang terdapat
pada Three Pass Protocol.
3. Tahapan Penelitian
Tahapan penelitian yang dilakukan adalah :
1. Studi Literatur
Pada tahap ini dilakukan peninjauan terhadap buku, artikel, jurnal, maupun hasil penelitian terdahulu
sebagai referensi yang diperlukan dalam melakukan penelitian.Ini dilakukan untuk memperoleh informasi
yang terkait dengan operasi XOR dan teknik transposisi segitiga serta pemrograman Java untuk
pemrograman berbasis android.
2. Analisis dan Perancangan
Tahap ini digunakan untuk mengolah data dari hasil studi literatur yang kemudian dilakukan analisis
dan perancangan menggunakan operasiXOR dan teknik transposisi segitiga sehingga menjadi suatu
aplikasi yang tersetruktur dan jelas. Proses ini meliputi pembuatan algoritma program, Use case
Scenario,flowchart sistem, flowchart algoritma, rancangan aplikasi, dan pembuatan User Interface
aplikasi.
3. Implementasi
OperasiXOR dan teknik transposisi segitiga diimplementasi dalam pembuatan suatu aplikasi berbasis
android dengan menggunakan bahasa pemrograman Java.
4. Pengujian
Menguji apakah aplikasi yang di buat telah berhasil berjalan sesuai dengan keinginan dan melakukan
perbaikan kesalahan jika masih tedapat error pada aplikasi.
5. Dokumentasi
Pada tahap ini berisi laporan dan kesimpulan akhir dari hasil akhir analisis dan pengujian.
�
6
4. Analisis dan Perancangan
A. Analisis Sistem Analisis sistem (systems analysis) adalah sebuah teknik pemecahan masalah di mana sistem diuraikan
menjadi komponen-kompenen dengan tujuan untuk mempelajari kinerja masing-masing komponen
tersebut dalam mencapai tujuan sistem [11] Analisis sistem bertujuan untuk memecah sistem ke dalam
komponen-komponen subsistem yang lebih kecil untuk mengetahui hubungan setiap komponen tersebut
dalam mencapai tujuan.
B. Analisis Masalah Sistem ini mengimplemantasikan operasi XOR dan teknik transposisi segitiga, pengurutan karakter yang
didasarkan pada bentuk segitiga yang dibangun akan memperkuat keamanan dari sistem yang akan
dipakai.
Masalah-masalah pada penelitian ini diidentifikasikan dengan menggunakan diagram Ishikawa.
Diagram Ishikawa atau yang sering dikenal dengan Cause and EffectDiagram adalah diagram yang
digunakan untuk memahami dan mengidentifikasi serta menggambarkan beberapa masalah yang terjadi
pada sistem dan akibat yang ditimbulkan oleh masalah. Permasalahan pada penelitian ini secara umum
dapat ditunjukkan pada diagram Ishikawa. Gambar 3.
Gambar 3. Diagram Ishikawa
C. Use Case Diagram Use-case diagram merupakan gambaran dari interaksi antara sistem dan aktor yang berisi requirement
yang terdapat pada sistem tersebut. Use-case diagram dapat dilihat pada Gambar 4.
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
D. Activity Diagram Activity diagram adalah diagram
sedang berjalan. Activity diagram
secara berurut. Activity diagram
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
Berbasis Android (Nurhasanah, Mohammad Andri Budiman, Amer Sharif
Gambar 4.Use Case Diagram
diagram aktivitas yang mendeskripsikan proses kerja dalam sebuah sistem yang
Activity diagram ini menggambarkan interaksi aktifitas antara pengguna dengan sistem
Activity diagram dari sistem yang dirancang dapat dilihat pada gambar dibawah ini.
Gambar 5.Activity Diagram Enkripsi
�
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
(Nurhasanah, Mohammad Andri Budiman, Amer Sharif )
7
aktivitas yang mendeskripsikan proses kerja dalam sebuah sistem yang
menggambarkan interaksi aktifitas antara pengguna dengan sistem
ncang dapat dilihat pada gambar dibawah ini.
�
8
Gambar 6
E. SequenceDiagram Sequence Diagram adalah suatu diagram yang menggambarkan interaksi antar objek pada sistem dalam
sebuah urutan waktu atau rangkaian waktu
dilihat pada Gambar 7.
Gambar 7.
F. Flowchart Flowchart merupakan suatu bagan yang menggambarkan urutan suatu proses secara rinci menggunakan
simbol-simbol tertentu dan menggambarkan hubungan antara satu proses dengan proses lainnya dengan
menggunakan tanda panah.Flowchart sistem dapat dilihat pada Gambar 8.
Gambar 6 Activity Diagram Dekripsi
adalah suatu diagram yang menggambarkan interaksi antar objek pada sistem dalam
utan waktu atau rangkaian waktu.Sequence diagram dari sistem yang akan dibangun dapat
Gambar 7.Sequence Diagram
merupakan suatu bagan yang menggambarkan urutan suatu proses secara rinci menggunakan
simbol tertentu dan menggambarkan hubungan antara satu proses dengan proses lainnya dengan
sistem dapat dilihat pada Gambar 8.
adalah suatu diagram yang menggambarkan interaksi antar objek pada sistem dalam
gun dapat
merupakan suatu bagan yang menggambarkan urutan suatu proses secara rinci menggunakan
simbol tertentu dan menggambarkan hubungan antara satu proses dengan proses lainnya dengan
�
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
Berbasis Android (Nurhasanah, Mohammad Andri Budiman, Amer Sharif )
9
Gambar 8.Flowchart Sistem
F. Arsitektur Umum Sistem Arsitektur Umum Sistemadalah gambaran sistem secara menyeluruh yang menunjukkan langkah-langkah
proses interaksi terhadap sebuah sistem, yang meliputi proses kriptografi, yaitu proses enkripsi-dekripsi
citra. Beberapa proses langkah yang dapat dilakukan pengguna pada sistem dapat dilihat pada gambar 9.
Gambar 9.Arsitektur Umum Sistem
Dilihat dari Arsitektur Umum Sistem pada gambar 9. menjelaskan bahwa Alice merupakan pengguna
yang berperan sebagai pengirim yang melakukan proses enkripsi, dan Bob merupakan pengguna yang
berperan sebagai penerima yang melakukan proses dekripsi. Langkah pertama yaitu Alice mengekripsi
�
10
citra menggunakan operasi XOR lalu mengenkripsi lagi citra yang sudah terenkripsi menggunakan teknik
Transposisi segitiga dan menghasilkan citra terenkripsi. proses selanjutnya adalah proses dekripsi yang
dilakukan oleh Bob dengan menggunakan teknik Transposisi Segitiga, proses dekripsi tersebut masih
menghasilkan citra terenkripsi. Untuk mengembalikan citra asli makan Bob mendekripsi lagi citra
terenskripsi menggunakan Operasi XOR dan menghasilkan citra asli yang dikirim oleh pengirim pesan.
5. Implementasi dan Pengujian A. Implementasi
Setelah sistem dianalisis dan dirancang seperti yang telah diuraikan pada bab sebelumnya, tahap
selanjutnya adalah mengimplementasikan sistem tersebut kedalam bahasa pemrograman. Sistem ini
dibangun dengan menggunakan bahasa pemrograman Java dan IDE Eclipse. Pada sistem ini terdapat
empat halaman, yaitu : halaman Home, halaman Enkripsi, halaman Dekripsi, dan halaman Help.
B. Pengujian Sistem
Pada tahap ini akan dilakukan pengujian apakah sistem berhasil melakukan proses enkripsi serta dekripsi
citra menggunakan operasi XOR dan teknik transposisi segitiga. Citra yang akan dienkripsi adalah citra
yang berukuran 200 x 200 piksel. Tampilan dari citra yang akan dienkripsi dapat dilihat pada Gambar 10.
Gambar 10.Citra 200 x 200 piksel
a. Pengujian Proses Pengacakan Kunci
Proses pengacakan kunci dapat dilihat pada Gambar 11.
Gambar 11.Tampilan Proses Pengacakan Kunci
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
a. Pengujian Enkripsi Operasi XOR
Proses enkripsi dapat dilakukan jika pengguna telah melakukan pengacakan kunci. Enkripsi
menggunakan operasi XOR
terdapat bacaan “Operasi XOR
perhitungan waktu eksekusi proses. Tampilan dari hasil proses enkripsi menggunakan operasi
dilihat pada Gambar 12.
b. Pengujian Enkripsi Transposisi
Enkripsi tahap kedua ini dilakukan dengan cara menekan
bacaan “Transposisi segitiga” dan kemudian sistem akan menampilkan hasil enkripsi citra serta hasil
perhitungan waktu eksekusi proses. Tampilan da
Gambar 13.
Gambar 13.
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
Berbasis Android (Nurhasanah, Mohammad Andri Budiman, Amer Sharif
Enkripsi Operasi XOR
Proses enkripsi dapat dilakukan jika pengguna telah melakukan pengacakan kunci. Enkripsi
ini dilakukan dengan cara menekan button “Enkripsi” yang di atas
XOR” dan kemudian sistem akan menampilkan hasil enkripsi citra dan hasil
perhitungan waktu eksekusi proses. Tampilan dari hasil proses enkripsi menggunakan operasi
Gambar 12.Hasil Proses Enkripsi Operasi XOR
Enkripsi Transposisi segitiga
Enkripsi tahap kedua ini dilakukan dengan cara menekan button “Enkripsi” yang di atas
bacaan “Transposisi segitiga” dan kemudian sistem akan menampilkan hasil enkripsi citra serta hasil
perhitungan waktu eksekusi proses. Tampilan dari hasil proses enkripsi tahap kedua ini dapat dilihat pada
Gambar 13.Hasil Proses Enkripsi Transposisi Segitiga
�
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
(Nurhasanah, Mohammad Andri Budiman, Amer Sharif )
11
Proses enkripsi dapat dilakukan jika pengguna telah melakukan pengacakan kunci. Enkripsi
ini dilakukan dengan cara menekan button “Enkripsi” yang di atas image
enkripsi citra dan hasil
perhitungan waktu eksekusi proses. Tampilan dari hasil proses enkripsi menggunakan operasi XOR dapat
“Enkripsi” yang di atas image terdapat
bacaan “Transposisi segitiga” dan kemudian sistem akan menampilkan hasil enkripsi citra serta hasil
ri hasil proses enkripsi tahap kedua ini dapat dilihat pada
�
12
c. Pengujian Dekripsi Transposisi Segitiga
Dekripsi transposisi segitiga dilakukan dengan cara menekan
terdapat bacaan “Transposisi segitiga” dan kemudian sistem akan menampilkan hasil dekripsi citra serta
hasil perhitungan waktu eksekusi proses. Tampilan dari hasil proses dekripsi transposisi segitiga ini dapat
dilihat pada Gambar 14.
Gambar 14.Hasil Proses Dekripsi Transposisi Segitiga
d. Pengujian Dekripsi Operasi XOR
Proses dekripsi ini dilakukan dengan cara menekan
“Operasi XOR” dan kemudian sistem akan menampilkan citra asli yang telah dikembalikan dan hasil
perhitungan waktu eksekusi proses ini. Tampilan dari hasil proses dekripsi ini dapat dilihat pada Gambar
15.
Gambar 15.Hasil
Pengujian Dekripsi Transposisi Segitiga
Dekripsi transposisi segitiga dilakukan dengan cara menekan button “Dekripsi” yang di atas
terdapat bacaan “Transposisi segitiga” dan kemudian sistem akan menampilkan hasil dekripsi citra serta
hasil perhitungan waktu eksekusi proses. Tampilan dari hasil proses dekripsi transposisi segitiga ini dapat
Hasil Proses Dekripsi Transposisi Segitiga
Proses dekripsi ini dilakukan dengan cara menekan button “Dekripsi” yang di atas image terdapat bacaan
” dan kemudian sistem akan menampilkan citra asli yang telah dikembalikan dan hasil
perhitungan waktu eksekusi proses ini. Tampilan dari hasil proses dekripsi ini dapat dilihat pada Gambar
.Hasil Proses Dekripsi Operasi XOR
“Dekripsi” yang di atas image
terdapat bacaan “Transposisi segitiga” dan kemudian sistem akan menampilkan hasil dekripsi citra serta
hasil perhitungan waktu eksekusi proses. Tampilan dari hasil proses dekripsi transposisi segitiga ini dapat
terdapat bacaan
” dan kemudian sistem akan menampilkan citra asli yang telah dikembalikan dan hasil
perhitungan waktu eksekusi proses ini. Tampilan dari hasil proses dekripsi ini dapat dilihat pada Gambar
�
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
Berbasis Android (Nurhasanah, Mohammad Andri Budiman, Amer Sharif )
13
Gambar 15. menunjukkan hasil pengembalian citra asli. Hasil ini didapat dari hasil operasi XOR
antara piksel-piksel hasil dekripsi transposisi segitiga dengan kunci yang telah diacak sebelumnya.
e. Perhitungan Manual
Berdasarkan gambar 4.5 yang digunakan dalam pengujian sistem di atas, akan dilakukan perhitungan
manual dengan mengambil piksel (1,1). Nilai citra JPEG R,G,B pixel (1,1) yaitu (35,45,63) dan kunci
(K) yaitu : 00100101 00100101 00100101, maka proses perhitungan enkripsi dan dekripsi dapat dilihat
dibawah ini :
Gambar 16. Pengambilan piksel (1,1)
1. Pertama ubah R,G,B Desimal ke Biner:
Maka akan di dapat “00100011 00101101 00111111” sebagai Plainteks (P)
2. Lalu Plainteks (P) dienkripsi meggunakan Operasi XOR:
Tabel 4. Proses Perhitungan Enkripsi Menggunakan XOR
3. Ubah Ciphertext (C1)ke Desimal maka diperolah angka desimal 6 8 26 lalu Ciphertext (C1) :
6 8 26 dienkripsi lagi menggunakan teknik transposisi segitiga, maka hasil transposisi yang
didapat adalah:
6
8 26 -1
Gambar 17.Enkripsi Transposisi segitiga
Dari gambar 4.16 dapat dilihat hasil transposisi yang dilakukan dengan Ciphertext (C1) yang
diberikan. Jika karakter tidak memenuhi semua kolom pada baris terakhir maka akan dimasukkan
bilangan -1 sebagai pengisinya. Untuk membaca hasil transposisi terlebih dahulu dibaca dari kolom
paling kiri, sehingga hasil Ciphertext (C2) yang didapat adalah “6 8 26 -1”.
(R G B)
35 45 63
�
14
4. Untuk mengembalikan Ciphertext (C1)yang telah ditransposisi, dilakukan penyusunan
kembali karakter kedalam segitiga, dengan karakter pertama menduduki kolom paling kiri
dan dibaca dari baris atas ke bawah. Sehingga hasil dari Ciphertext (C2) “6 8 26 -1” dapat
dilihat pada Gambar 18.
6
8 26 -1
Gambar 18.Dekripsi Transposisi segitiga
Dan hasilnya adalah 6 8 26 -1 dan setiap karakter “-1” akan dihapus dari Ciphertext (C1) sehingga
menghasilkan 6 8 26.
5. Untuk mengembalikan Plaintext maka Ciphertext (C1) ” 6 8 26” diubah ke biner menjadi
“000001100000100000011010” lalu Ciphertext (C1) didekripsi menggunakan Operasi XOR,
berikut proses perhitungannya:
Tabel 5.Proses Perhitungan Dekripsi Menggunakan XOR
Plaintext (P) “00100011 00101101 00111111” diubah menjadi desimal “35 45 63” maka
R,G,B dari Pixel citra JPEG yang telah dienkripsi akan kembali seperti semula. Itu berarti
penggunaan Operasi XOR dan Transposisi segitigamemenuhi parameter keutuhan data
f. Pengujian Algoritma terhadap Waktu Proses
Pengujian ini menggunakan tujuh citra yang mempunyai ukuran yang berbeda, yaitu citra 200x200 piksel,
citra 300x300 piksel, citra 400x400 piksel, citra 500x500, citra 600x600, citra 700x700, dan citra
800x800 piksel. Setiap citra akan diuji terhadap waktu proses yang digunakan. Waktu proses pada citra
dapat dilihat pada Tabel 6.
�
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
Berbasis Android (Nurhasanah, Mohammad Andri Budiman, Amer Sharif )
15
Tabel 6.Perbandingan Ukuran Citra denganWaktu Proses
�
16
Pada Tabel 6, terdapat lima buah kolom. Kolom pertama adalah citra asli dengan berbagai macam
ukuran, kolom kedua adalah hasil enkripsi citra dari operasi XOR, kolom ketiga adalah hasil enkripsi citra
dari transposisi segitiga, kolom keempat adalah hasil dekripsi citra dari transposisi segitiga, dan kolom
kelima adalah hasil dekripsi citra menggunakan operasi XOR. Dari pengujian proses enkripsi dan dekripsi
menggunakan citra dengan ukuran citra 200x200 piksel, citra 300x300 piksel, citra 400x400 piksel, citra
500x500, citra 600x600, citra 700x700, dan citra 800x800 piksel didapatlah waktu rata-rata untuk
masing-masing eksekusi yaitu 0.426 sekon, 0.913 sekon, 1.609 sekon, 2.750 sekon, 3.662 sekon, 5.105
sekon dan 6.915 sekon.Hubungan waktu proses enkripsi terhadap ukuran dari suatu citra dapat dilihat
pada Gambar 19.
Gambar 19.Grafik Hubungan Ukuran Citra dengan Waktu
Pada Gambar 19 ditunjukkan waktu yang dibutuhkan untuk mengeksekusi citra berukuran 200x200
piksel adalah 0.4 sekon, waktu yang dibutuhkan untuk mengeksekusi citra 300x300 piksel adalah 0.9
sekon, waktu yang dibutuhkan untuk mengeksekusi citra 400x400 piksel adalah 1.6 sekon, waktu yang
dibutuhkan untuk mengeksekusi citra 500x500 piksel adalah 2.7 sekon, waktu yang dibutuhkan untuk
mengeksekusi citra 600x600 piksel adalah 3.6 sekon, waktu yang dibutuhkan untuk mengeksekusi citra
700x700 piksel adalah 5.1 sekon sedangkan waktu yang dibutuhkan untuk mengenkripsi citra berukuran
800x800 piksel adalah 6.9 sekon. Pada Gambar 4.18 dapat dilihat bahwa hubungan antara ukuran piksel
dari suatu citra berbanding lurus linear terhadap waktu proses enkripsi. Artinya, semakin besar ukuran
piksel, maka waktu yang digunakan untuk eksekusi program juga semakin lama.
�
Implementasi Operasi XOR dan Teknik Transposisi Segitiga untukPengamanan Citra JPEG
Berbasis Android (Nurhasanah, Mohammad Andri Budiman, Amer Sharif )
17
6. Kesimpulan dan Saran A. Kesimpulan
Berdasarkan analisis, perancangan, dan pengujian dari penelitian pengamanan citra menggunakan Operasi
XORdan Teknik Transposisi Segitiga, maka diperoleh beberapa kesimpulan :
1. Proses enkripsi dan dekripsi pada pengamanan citra menggunakan operasi XORdan teknik transposisi
sgitigamemenuhi parameter keutuhan data.
2. Citra hasil dekripsi sama persis seperti citraawal sebelum dilakukan proses enkripsi.
3. Berdasarkan perubahan hasil citra yang dienkripsi pada pengujian, penggunaan operasi XOR dan
teknik transposisi segitiga ini relatif aman dan sederhana untuk mengamankan citra.
4. Citra yang sudah di enkripsi menggunakan teknik transposisi segitiga menjadi citra hasil enkripsi
memiliki bilangan yang lebih banyak atau panjang dibandingkan dengan citra sebelum dilakukan
proses enkripsi.
5. Berdasarkan grafik hubungan antara waktu proses enkripsi citra dengan ukuran piksel citra tersebut
menunjukkan bahwa ukuran piksel citra berbanding lurus dengan waktu. Semakin besar ukuran piksel
citra tersebut maka semakin lama waktu proses enkripsinya.
B. Saran
Adapun saran-saran yang dapat dipertimbangkan untuk pengembangan penelitian ini antara lain :
1. Sistem ini hanya dapat mengamankan citra yang berformat *.JPEG, sehingga untuk penelitian
selanjutnya diharapkan dapat mengamankan citra berformat *.bmp, *.TIF, *.PNG, dan format citra
lainnya.
2. Untuk penelitian selanjutnya diharapkan dapat mengombinasikan operasi XOR denganberbagai
macam teknik kriptografi seperti Transposisi Zigzag dan yang lainnya.
3. Untuk penelitian selanjutnya diharapkan dapat menambahkan jenis data yang dapat diamankan seperti
audio dan video.
Referensi :
[1] Ali, Liza Alfira. 2014. Analisis dan Implementasi Algoritma Exclusive OR Least Significant Bit
untuk Penyisipan File Gambar pada Gambar. Skripsi. Universitas Sumatera Utara.
[2] Asror, K. 2015. Peningkatan sistem keamanan pesan pada perangkat mobile android dengan
enkripsi dekripsi menggunakan algoritma affine cipher dan vigenere cipher. Skripsi. Universitas
Dian Nuswantoro Semarang.
[3] Barus, Brikson Hara Donald. 2012. Perancangan Add On Keamanan Email Mozilla
Thunderbird Dengan Algoritma Kriptografi XOR dan Three Pass Protocol Serta Kompresi
Lempel Ziv Welch. Skripsi. Universitas Sumatera Utara.
[4] Department Of The Army. 1990. Basic Cryptanalysis. Washington D.C.:Aegean Park Press.
[5] Devipriya, M & Sasikala, G. 2015. A New Technique for One Time Pad Security Scheme with
Complement Method. International Journal of Advanced Research in Computer Science and
Software Engineering. Volume 5, Issue 6, June 2015 : 220 – 223.
[6] Kadir, A. & Susanto, A. 2013. Teori dan Aplikasi Pengolahan Citra. Penerbit ANDI:
Yogyakarta.
[7] Shabara, S. 2015. Enkripsi SMS pada smartphone berbasis android dengan metode vigenere dan
transposisi kolom. Skripsi. Universitas Dian Nuswantoro Semarang.
[8] Saparkhojayev, N., Shakhov, E. & Mailybayev, Y. 2016. Mobile Attendance Checking System
on Android Platform for Kazakhstani University. Journal of Physics: Conference Series 710.
[9] Shashank, Vinay Yadav. 2015. Implementation of Exclusive-OR Algorithm. International Journal
of Technology Management & Humanities (IJTMH).
[10] Singh, Rashmidan Shiv Kumar. 2012. Elgamal’s Algorithm in Cryptography. International
Journal of Scientific & Engineering Research. Vol. 3. Issue 12. December 2012:1-4.
[11] Whitten, J.L. & Bentley, L.D. 2007. System Analysis and Design Methods. 7th Edition.
McGraw-Hill/Irwin: New York.
[12] Zaeniah & Purnama, B.E. 2015. An Analysis of Encryption and Decryption Application by Using
One Time Pad Algorithm. International Journal of Advanced Computer Science and
Applications. Vol.6, No.9, 2015 : 292 – 297.