Implementasi Operasi XOR dan Teknik Transposisi Segitiga Untuk Pengamanan Citra JPEG Berbasis Android

BAB 2
LANDASAN TEORI

2.1. Kriptografi
2.1.1. Definisi 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 (Purnama & Rohayani, 2015). 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) (Singh. 2015). 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 (Devipriya & Sasikala, 2015).

Secara umum, proses enkripsi dan dekripsi dapat digambarkan sebagai berikut :

Plaintext

Enkripsi

Chipertext

Dekripsi

Plaintext

Gambar 2.1 Skema proses enkripsi dan dekripsi

Universitas Sumatera Utara

6

Pada proses enkripsi, masukan berupa pesan asli (plaintext) dan menghasilkan
keluaran berupa pesan rahasia (ciphertext). Pada proses dekripsi, masukan berupa

ciphertext dan menghasilkan keluaran berupa plaintext yang sama dengan
plaintext sebelum dienkripsi (Munir, 2006).

2.1.2. Komponen Kriptografi
Dalam kriptografi terdapat beberapa istilah penting (Akbar. 2015) antara lain :
1.

Pesan, Plaintext, dan Ciphertext
Pesan merupakan data atau informasi yang dapat dibaca dan dimengerti
maknanya. Nama lain untuk pesan adalah plaintext. Pesan dapat berupa data
atau informasi yang dikirim atau yang disimpan dalam media penyimpanan.
Pesan yang tersimpan bisa berbentuk teks, citra (image), suara/bunyi (audio)
dan video. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain maka,
pesan dapat disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk
pesan yang tersandi disebut ciphertext.

2.

Pengirim dan Penerima
Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim

(sender) adalah entitas yang mengirim pesan kepada entitasnya yang lain.
Penerima (receiver) adalah entitas yang menerima pesan. Entitas di sini dapat
berupa orang, mesin (komputer), kartu kredit, dan sebagainya.

3.

Enkripsi dan Dekripsi
Proses menyandikan pesan asli (plaintext) menjadi pesan tersandi (ciphertext)
disebut enkripsi (encryption) sedangkan proses untuk mengembalikan pesan
tersandi (ciphertext) menjadi plaintext semula dinamakan dekripsi
(decryption).

4.

Cipher dan Kunci
Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan
dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan
dekripsi. Keamanan algoritma kriptografi sering diukur dari banyaknya kerja
(work) yang dibutuhkan untuk memecahkan ciphertext menjadi plaintext
tanpa mengetahui kunci yang digunakan. Kunci (key) merupakan parameter

yang digunakan untuk transformasi enciphering dan deciphering. Kunci
biasanya berupa string atau deretan bilangan.

Universitas Sumatera Utara

7

5.

Sistem kriptografi
Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi.
Sistem kriptografi (cryptosystem) terdiri dari algoritma kriptografi, semua
plaintext ,ciphertext dan kunci.

6.

Penyadap (eavesdropper)
Penyadap merupakan orang yang mencoba menangkap pesan selama
ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi
sebanyak-banyaknya mengenai sistem kriptogafi yang digunakan untuk

berkomunikasi dengan maksud untuk memecahkan ciphertext. Nama lain
penyadap : enemy, adversary, intruder, interceptor, bad guy.

7.

Kriptanalisis
Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang
berlawanan yaitu kriptanalisis. kriptanalisis (cryptanalysis) adalah ilmu dan
seni untuk memecahkan ciphertext menjadi plaintext tanpa mengetahui kunci
yang digunakan. Pelakunya disebut kriptanalis.

2.1.3. Tujuan Kriptografi
Ada beberapa tujuan utama kriptografi yang terkait dengan isu keamanan data
(Mollin, R. A. 2007) yaitu:
1. Confidentiality
Memberikan jaminan kerahasiaan pesan dan menyimpan data dengan
menyembunyikan informasi lewat teknik-teknik enkripsi.
2. Message Integrity
Memberikan jaminan untuk tiap bagian bahwa pesan tidak akan mengalami
perubahan dari saat ia dibuat sampai saat ia dibuka.

3. Nonrepudiation
Mencegah pengirim maupun penerima mengingkari bahwa mereka telah
mengirimkan atau menerima suatu pesan/informasi. Jika sebuah pesan
dikirim, penerima dapat membuktikan bahwa pesan tersebut memang
dikirim oleh pengirim yang tertera.

Universitas Sumatera Utara

8

4. Authentication
Baik pada saat mengirim atau menerima informasi, kedua belah pihak perlu
mengetahui bahwa pengirim dari pesan tersebut adalah orang yang
sebenarnya seperti yang diklaim.
2.1.4. Jenis-jenis Algoritma Kriptografi
Secara umum ada dua jenis kriptografi berdasarkan kuncinya, yaitu Algoritma
Simetris dan Algoritma Asimetris.
2.1.4.1. Algoritma Simetris
Algoritma simetris adalah algoritma yang menggunakan kunci enkripsi yang sama
dengan kunci dekripsinya (Wandani, 2012). Bila pesan dikirim dengan algoritma

ini, si penerima pesan harus tahu kunci dari pesan tersebut agar bisa
mendekripsikan pesan yang dikirim. Keamanan dari pesan yang menggunakan
algoritma ini tergantung pada kunci.
Jika kunci tersebut diketahui oleh orang lain maka orang tersebut dapat
melakukan enkripsi dan dekripsi pada pesan (Sadikin, 2012). Yang termasuk
algoritma kunci simetris adalah OTP, DES, RC2, RC4, RC5, IDEA, Twofish,
Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5,
Kasumi dan lain-lainnya. Skema kriptografi simetris dapat dilihat pada Gambar
2.2.

Plaintext

Algoritma

Ciphertext

Enkripsi

Algoritma


Plaintext

Dekripsi
Kunci Rahasia

Gambar 2.2. Skema Algoritma Simetris

Pada Gambar 2.2 ditunjukkan skema algoritma simetris, yang mana dalam
gambar tersebut dilakukan proses enkripsi dan dekripsi dengan menggunakan
kunci yang sama. Sebelum melakukan pengiriman pesan, pengirim dan penerima
harus memilih suatu kunci tertentu yang sama untuk dipakai bersama, dan kunci

Universitas Sumatera Utara

9

ini haruslah rahasia bagi pihak yang tidak berkepentingan sehingga algoritma ini
disebut juga algoritma kunci rahasia (secret-key algorithm).
2.1.4.2. Algoritma Asimetris
Algoritma asimetris disebut juga dengan kriptografi kunci publik karena algortima

ini memiliki kunci yang berbeda untuk enkripsi dan dekripsi, dimana enkripsi
menggunakan public key dan untuk dekripsinya menggunakan private key. Public
key dan private key harus saling berpasangan secara matematis. Dengan
memberikan public key, pembuat kunci berhak memberikan dan mendapatkan
public key agar pesan aman dan hanya bisa dibaca oleh si pembuat kunci. Dalam
kriptografi kunci asimetri, hampir semua algoritma kriptografinya menggunakan
konsep kunci publik, seperti Rivest-Shamir-Adleman (RSA), El-Gamal, Rabin dan
sebagainya (Harahap, 2014). Kecuali algoritma Pohlig˗Hellman karena kunci
enkripsi maupun kunci dekripsinya bersifat rahasia. Untuk Skema Kriptografi
Asimetris dapat dilihat pada gambar 2.3

Plaintext

Algoritma

Ciphertext

Algoritma

Enkripsi


Dekripsi

Kunci Publik

Kunci Rahasia

Plaintext

Gambar 2.3. Skema Algoritma Asimetris

Pada Gambar 2.3 ditunjukkan skema algoritma asimetris, yang mana dalam
gambar tersebut dilakukan proses enkripsi dengan menggunakan kunci publik dan
proses dekripsi dengan menggunakan kunci rahasia. Kriptografi asimetri ini dapat
dianalogikan seperti kotak surat yang terkunci dan memiliki lubang untuk
memasukan surat. Setiap orang dapat memasukkan surat ke dalam kotak surat
tersebut, tetapi hanya pemilik surat yang memiliki kunci dan yang dapat membuka
kotak surat tersebut. Kunci publik dapat dikirim ke penerima melalui saluran yang
sama dengan saluran yang digunakan untuk mengirim pesan, tidak perlu takut,


Universitas Sumatera Utara

10

karena pihak yang tidak berkepentingan tidak akan dapat mendekripsi pesan
tersebut, karena tidak memiliki kunci privat.

2.2. Operasi dan Teknik
2.2.1. Operasi XOR (Ekslusive OR)
XOR merupakan operasi Exclusive OR 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 (Ali. 2014). Aturan yang berlaku untuk operasi Xor
dapat dilihat pada tabel berikut:

A
1
1
0
0

B
1
0
1
0

AB
0
1
1
0

Tabel 2.1. operasi Xor (Shashank. 2015)

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:
1001011101010100
1101111010010101 
0100100111000001
Berikut ini adalah contoh Enkripsi menggunakan operasi XOR:
jika ingin mengenkripsi kata “NURHASANAH” (Plaintext). Diketahui kunci
pengirim yaitu K= 00001001. Maka enkripsi dapat dilihat pada Tabel 8.2 berikut
ini:

Universitas Sumatera Utara

11

Tabel 2.2. Proses Perhitungan Enkripsi Menggunakan XOR
Plaintext (P)

ASCII

Biner

C = (P  K)

Ciphertext (C)

N

78

01001110

01000111

01000111

U

85

01010101

01011100

01011100

R

82

01010010

01011011

01011011

H

72

01001000

01000001

01000001

A

65

01000001

01001000

01001000

S

83

01010011

01011010

01011010

A

65

01000001

01001000

01001000

N

78

01001110

01000111

01000111

A

65

01000001

01001000

01001000

H

72

01001000

01000001

01000001

Pada tabel 2.2 didapatlah hasil enkripsi berupa Ciphertext yaitu “01000111
01011100 01011011 01000001 01001000 01011010 01001000 01000111
01001000 01000001”. Selanjutkan untuk mengembalikan pesan aslinya, maka
Ciphertext harus didekripsi dengan kunci yang sama, sehingga didapatlah hasil
dekripsi pada tabel berikut:

Tabel 2.3. Proses Perhitungan Dekripsi Menggunakan 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

Universitas Sumatera Utara

12

Pada Tabel 2.3 ditunjukkan bahwa hasil dekripsi sesuai dengan plaintext sebelum
dienkripsi yaitu NURHASANAH. Itu berarti penggunaan operasi XOR memenuhi
parameter keutuhan data.

2.2.2. 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 dari baris paling atas, kemudian dibaca per kolom yang dimulai dari kolom
paling kiri untuk menghasilkan ciphertext. (Department of The Army, 1990).
Berikut contoh Transposisi Segitiga:
Diberikan plaintext : NURHASANAH
Maka hasil Transposisi yang didapat adalah

N

H

U

R

H

A

S

A

N

A

#

#

#

#

#

#

Gambar 2.4. Enkripsi Transposisi segitiga

Dari gambar 2.4 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.5.

Universitas Sumatera Utara

13

N

H

U

R

H

A

S

A

N

A

#

#

#

#

#

#

Gambar 2.5. Dekripsi Transposisi segitiga
Dan hasilnya adalah NURHASANAH######. Dan setiap karakter “#”
akan dihapus dari plaintext sehingga menghasilkan NURHASANAH. Itu berarti
penggunaan teknik Transposisi segitiga memenuhi parameter keutuhan data.

2.3. File 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
(Kadir, 2013).

2.3.1. 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

Universitas Sumatera Utara

14

Grayscale. Tetapi tidak mampu menampilkan citra dengan latar belakang
transparan (luca, 2014).

2.4 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 (Saparkhojayev et al, 2013). 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 mengembangkan sistem membuat sistem operasi open source selalu
diperbaharui, dan sistem keamannnya pun lebih baik (Asror, 2015).
Menurut Safaat & Nazruddin (Shabara, 2015), 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.
2.5. Penelitian Relevan
Berikut ini beberapa penelitian yang terkait dengan algoritma XOR dan Algoritma
Transposisi Segitiga:
1. Liza Alfira Ali (2014) dalam skripsi yang 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
Exclusive Or

apabila

menggunakan algoritma

bahwa citra sisipan diubah kedalam bit biner RGB dan

dilakukan penyisipan pada bit biner RGB citra cover dengan menggunakan

Universitas Sumatera Utara

15

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) dalam skripsi yang berjudul Perancangan
Add On Keamanan Email Mozilla Thunderbird Dengan Algoritma
Kriptografi Xor Dan Three Pass Protocol Serta Kompresi Lempel Ziv Welch.
Dalam skripsi 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.

Ismail Fata Lubis (2014) dalam skripsi yang berjudul Implementasi Super
Enkripsi Algoritma ElGamal dengan Teknik Transposisi Segitiga. Dalam
skripsi ini, dapat disimpulkan bahwa, Enkripsi dan dekripsi sistem dengan
algoritma ElGamal dan teknik transposisi segitiga, tidak mengubah,
menambah maupun mengurangi plaintext, ukuran file ciphertext lebih besar
dari plaintext karena setiap satu karakter dalam plaintext akan menghasilkan
dua ciphertext. Enkripsi membutuhkan waktu lebih lama, jika bilangan prima
yang digunakan semakin besar, lama waktu enkripsi ditentukan oleh
perhitungan 2 ciphertext yang akan dibentuk.

Universitas Sumatera Utara