TEKNIK CANONICAL GRAY CODE PADA ENKRIPSI Andysah Putera Utama Siahaan1, M Mesran2, Robbi Rahim3, Muhammad Donni Lesmana Siahaan4 1,4
Fakultas Ilmu Komputer, Universitas Pembangunan Panca Budi, Medan, Indonesia 2 Departemen Teknik Informatika, STMIK Budi Darma, Medan, Indonesia 3 Department of Health Information, Akademi Perekam Medik dan Infokes Imelda, Medan, Indonesia 1,3 School of Computer and Communication Engineering, Universiti Malaysia Perlis, Kangar, Malaysia 1
[email protected],
[email protected],
[email protected], 4
[email protected] Abstrak Pure Binary Code (PB) dan Canonical Gray Code (CGC) adalah bagian dari pengolahan steganografi. Istilah ini tidak asing lagi jika menggunakan metode Bit-plane Complexity Segmentation (BPCS). Pembahasan kali ini adalah bagaimana menerapkan teknik ini kedalam proses enkripsi murni. Seperti yang diketahui CGC berfungsi untuk mengubah pola warna agar dapat disisipkan informasi. Pada proses enkripsi ini, perubahan dari PBC ke CGC merupakan teknik enkripsi tersebut. Pada PBC, nilai ASCII diperoleh dari konversi karakter menjadi byte. Nilai dari byte tersebut akan dikonversi menjadi bilangan biner. Sebelum menjadi ciphertext, biner tersebut akan dilakukan proses konversi dari PBC menjadi CGC sehigga biner yang yang dihasilkan adalah merupakan hasil proses enkripsi. Metode ini sangat cepat dalam pengerjaannya karena tidak ada perhitungan matematika yang kompleks dan rumit. Metode ini hanya menggunakan proses XOR pada bit yang saling berdampingan. Akan tertapi selain mempunyai keunggulan, teknik enkripsi ini mempunyai kelemahan dimana enkripsi ini tidak menggunakan kunci untuk mengubah plaintext menjadi ciphertext. Kata Kunci: Kriptografi, PBC, GCG, Enkripsi
1. PENDAHULUAN Informasi[ CITATION Rah17 \l 1033 ] adalah hal yang sangat penting untuk dijaga kerahasiaannya. Dalam menerapkan teknik-teknik menyimpan informasi, beberapa metode kriptografi dapat membantu proses tersebut. Kriptografi itu sendiri dapat disandingkan dengan steganografi. Pada dasarnya, kriptografi berfungsi untuk menyandikan suatu teks sehingga teks tersebut menjadi suatu deretan karakter yang tidak dapat difahami[ CITATION Rah16 \l 1033 ][ CITATION Rah161 \l 1033 ][ CITATION And17 \l 1033 ]. Sementara steganografi adalah teknik yang digunakan untuk menyembunyikan teks dalam suatu media seperti gambar, suara, video, dan lain-lain[ CITATION Pra131 \l 1033 ][ CITATION Isn16 \l 1033 ] [ CITATION Sap17 \l 1033 ]. Pada kenyataannya, informasi yang disembunyikan pada media-media tersebut hanya memiliki perbedaan yang tidak terlalu besar antara media asli dan media stegonya tetapi tidak menutup kemungkinan dapat dicuri oleh pihak yang tidak bertanggung jawab. Penggunaan XOR pada proses enrkrpsi adalah sangat baik dilakukan karena XOR dapat memanipulasi bit pada suatu bilangan biner dengan bilangan biner lainnya[ CITATION Isn161 \l 1033 ][ CITATION Muh16 \l 1033 ]. Bit-plane Complexity Segmentation (BPCS) adalah salah satu teknik steganografi yang melakukan penyembunyian teks dengan cara memotong citra gambar dengan membuat beberapa segmentasi. Setiap segment akan dibagi dengan jumlah bit-plane tertentu. Dalam teknik ini ada yang dinamakan perubahan mode warna dari PBC ke CGC. Ini bertujuan agar informasi yang disimpan pada gambar tidak memiliki perbedaan jauh antara gambar asli dan gambar hasil proses steganografi. Proses ini mengolah nilai biner pada tiap pixel yang ada pada citra. Menerapkan proses ini pada enkripsi adalah suatu kombinasi yang dapat mengubah fungsi steganografi tadi menjadi kriptografi[ CITATION Eko161 \l 1033 ]. Konversi warna dari PBC ke CGC dapat diterapkan pada kode ASCII dari plaintext. Teknik ini memanfaatkan intensitas warna pada citra pada citra asli. Pada kriptografi, citra tersebut merupakan plaintext yang akan dienkripsi. Prosesnya tidak jauh berbeda dengan apa yang dilakukan pada proses steganografi. Tetapi pada proses kriptografi ini tidak ada pembagian segmen terhadap plaintext. Penerapan teknik ini diharapkan dapat menemukan teknik baru dari enkripsi menggunakan konversi warna dari PBC ke CGC. 2. LANDASAN TEORI
BPCS adalah singkatan dari Bit-plane Complexity Segmentation. Eiji Kawaguchi dan Richard O. Eason merupakan orang yang pertama sekali mengenalkan teknik ini[ CITATION And17 \l 1033 ][ CITATION And163 \l 1033 ]. Metode ini dikembangkan untuk memperbaiki teknik-teknik penyembunyian informasi dengan Least Significant Bit (LSB), teknik penyisipan Transform, teknik penyamaran perseptual. Teknikteknik terdahulu memiliki daya tampung yang lebih sedikit sehingga informasi yang disembunyikan akan sangat terbatas sebesar 10% hingga 20% dari besar kapasitas media. Metode BPCS menggunakan teknik penyimpanan random yang dibagi dua jenis yaitu daerah informative dan noiselike. Penyimpanan ini memanfaatkan teknik penglihatan manusia pada suatu citra. Pada umumnya citra yang memiliki jumlah kombinasi warna pada suatu area tertentu akan gampang diketahui perbedaan warnanya jika ada sebuah blok warna yang berada pada daerah tersebut. Berbeda dengan daerah warna yang memiliki komplesitas tinggi atau kombinasi warna yang banyak, mata manusia tidak akan jelas dapat membedakan kecurigaan warna terhadap blok warna yang ada.
Gambar 1. Diagram segmentasi BPCS Gambar 1 menjelaskan pembentukan segmen dari suatu citra. Pertama-tama gambar dibentuk segmen dengan ukuran 8 x 8 pixel. Setiap segment memiliki delapan buah bit-plane. Ini terbentuk sebanyak delapan kolom dengan satu baris. Tiap baris memiliki satu bit-plane.
Gambar 2. Pembentukan biner pada bit-plane Gambar 2 adalah hasil segmentasi berupa nilai intensitas warna yang menghasilkan 64 buah nilai byte. Setiap baris pada segmen akan menghasilkan sebuah bit-plane dengan kode biner tertentu. Nilai biner setiap baris pada bit-plane merupakan hasil konversi angka desimal pada tiap sel segementasi menjadi bilangan biner. BPCS mempunyai teknik menyembunyikan gambar hingga 70% dari kapasitas media. Penyimpanan sebesar itu biasanya mempunyai efek distorsi pada metode LSB. Efek ini dapat dihilangkan dengen cara mengubah pola warna dari PBC ke CGC. Pada PBC, perubahan warna yang kecil mempengaruhi banyak bit nilai warna. Sebagai contoh, jika ada intensitas warna yang sangat berdekatan seperti 127 dan 128, maka pada PBC 127 diwakili sebagai 01111111 dan 128 diwakili sebagai 10000000. Kedua piksel tampak identik dengan mata manusia namun sangat berbeda dalam penulisa kode binernya. Jika ada informasi disembunyikan pada daerah tersebut, maka ada kemungkinan 01111111 berubah menjadi 11111111 dan 10000000 berubah menjadi 00000000. Pada saat data belum tersimpan, hanya ada satu bit perbedaan tingkat abu-abu yang bisa diabaikan mata manusia. Pada saat penyimpanan dilakukan, perbedaan tingkat abu-abu adalah 255. Perbedaan ini sangat mencolok jika dilihat dari citra dan dengan mudah terlihat pada mata manusia. Kelemahan ini dapat diantisipasi dengan konversi warna menjadi CGC. Angka 127 yang terwakili dalam bentuk biner sebagai 01111111 akan menjadi 01000000 di CGC dan angka 128 yang diwakili dalam CGC sebagai 11000000. Setelah proses BPCS, 01000000 menjadi 11000000, dan 11000000 menjadi 01000000. Kedua nilai intensitas warna berada dalam jarak yang tidak jauh sehingga tidak terlihat oleh mata[ CITATION Shr10 \l 1033 ]. Berikut ini adalah rumus untuk mengkonversi dari PBC ke CGC dan sebaliknya.
CGC ( i )=PBC ( i−1 ) ⊕ PBC ( i )
(1)
PBC ( i )=CGC ( i )−1⊕ PBC ( i−1 )
(2)
3. PEMBAHASAN Untuk mendapatkan hasil enkripsi pada metode ini, akan dilakukan percobaan terhadap sebuah kalimat. Plaintext tersebut adalah “HALO APA KABAR!”. Tabel 1. Kode ASCII plaintext H 72 A 65
A 65
L 76 K 75
32
L 76 A 65
O 79 B 66
32 A 65
A 65 R 82
P 80 ! 33
Tabel 1 adalah kode ASCII untuk tiap-tiap karakter pada plaintext. Ada sebanyak 16 karakter pada pengujian untuk mencari hasil ciphertext. Perhitungan CGC dapat dilakukan setelah tiap kode ASCII dikonversi ke bilangan biner terlebih dahulu. Tabel 2. Kode biner untuk tiap karakter plaintext Cha r
ASCII
H
72
A
65
Binary 0100100 0 0100000 1
L L O
76 76 79 32
A
65
P
80
A
65 32
K
75
A
65
B
66
A
65
R
82
!
33
01001100 01001100 01001111 0010000 0 0100000 1 0101000 0 0100000 1 0010000 0 01001011 0100000 1 0100001 0 0100000 1 0101001 0 0010000 1
Berikut adalah contoh proses konversi pada karakter pertama yaitu “H” dengan ASCII = 72 dan biner = 01001000. Pure Binary Code (Plaintext) PBC
:
0112030415060708
Canonical Gray Code (Ciphertext) CGC1
:
CGC2
:
CGC3
:
CGC4
:
CGC5
:
CGC6
:
PBC1 0 PBC2 ⊕ PBC1 1⊕0 1 PBC3 ⊕ PBC2 0⊕1 1 PBC4 ⊕ PBC3 0⊕0 0 PBC5 ⊕ PBC4 1⊕0 1 PBC6 ⊕ PBC5 0⊕1
CGC7
:
CGC8
:
1 PBC7 ⊕ PBC6 0⊕0 0 PBC8 ⊕ PBC7 0⊕0 0
Hasil dari proses CGC adalah 01101100. Proses ini akan diulang sampai seluruh karakter menghasilkan nilai CGC. Tabel berikut adalah hasil karakter yang telah melalui tahap konversi PBC ke CGC. Tabel 3. Hasil enkripsi PBC ke CGC ASCI I
Cha r
108
l
97
a
106
j
106
j
104
h
48
0
97
a
120
x
97
a
48
0
110
n
97
a
99
c
97
a
01111011
123
{
0011000 1
49
1
PBC
CGC
0100100 0 0100000 1 0100110 0 0100110 0 0100111 1 0010000 0 0100000 1 0101000 0 0100000 1 0010000 0 0100101 1 0100000 1 0100001 0 0100000 1 0101001 0 0010000 1
0110110 0 0110000 1 0110101 0 0110101 0 0110100 0 0011000 0 0110000 1 0111100 0 0110000 1 0011000 0 0110111 0 0110000 1 0110001 1 0110000 1
Tabel 3 menunjukkan hasil enkripsi menggunakan CGC. Nilai biner yang diperoleh merupakan hasil konversi PBC ke CGC untuk tiap karakter pada plaintext. Ciphertext yang terbentuk adalah “1ajjh0axa0naca{1”.
4. KESIMPULAN Pembentukan CGC pada BPCS dapat digunakan dalam proses enkripsi. Nilai intensitas warna diganti menjadi karakter pada plaintext. Konversi warna dari PBC menjadi CGC menggantikan fungsi pada steganografi menjadi kriptografi. Proses enkripsi ini sangat cepat dan mudah dilakukan. Tetapi metode ini mempunyai kelemahan dimana dalam proses enkripsi, metode ini tidak memiliki kunci yang memperkuat sistem keamanannya. Referensi
CITATION Rah17 \l 1033 : , [1], CITATION Rah16 \l 1033 : , [2], CITATION Rah161 \l 1033 : , [3], CITATION And17 \l 1033 : , [4], CITATION Pra131 \l 1033 : , [5], CITATION Isn16 \l 1033 : , [6], CITATION Sap17 \l 1033 : , [7], CITATION Isn161 \l 1033 : , [8], CITATION Muh16 \l 1033 : , [9], CITATION Eko161 \l 1033 : , [10], CITATION And163 \l 1033 : , [11], CITATION Shr10 \l 1033 : , [12], [1] R. Rahim, “128 Bit Hash of Variable Length in Short Message Service Security,” International Journal of Security and Its Applications, vol. 11, no. 1, pp. 45-58, 2017. [2] R. Rahim dan A. Ikhwan, “Cryptography Technique with Modular Multiplication Block Cipher and Playfair Cipher,” IJSRST, vol. II, no. 6, pp. 71-78, 2016. [3] R. Rahim dan A. Ikhwan, “Study of Three Pass Protocol on Data Security,” International Journal of Science and Research (IJSR), vol. 5, no. 11, pp. 102-104, 2016. [4] A. P. U. Siahaan, “Vernam Conjugated Manipulation of Bit-Plane Complexity Segmentation,” International Journal of Security and Its Applications, vol. 11, no. 9, 2017. [5] P. P. Khairnar dan V. S. Ubale, “Steganography Using BPCS Technology,” International Journal Of Engineering and Science, vol. 3, no. 2, pp. 08-16, 2013. [6] I. Sumartono, A. P. U. Siahaan dan N. Mayasari, “An Overview of the RC4 Algorithm,” IOSR Journal of Computer Engineering, vol. 18, no. 6, pp. 67-73, 2016. [7] I. Saputra, Mesran, N. A. Hasibuan dan R. Rahim, “Vigenere Cipher Algorithm with Grayscale Image Key Generator for Secure Text File,” International Journal of Engineering Research & Technology (IJERT), vol. 6, no. 1, pp. 266-269, 2017. [8] I. Sumartono, A. P. U. Siahaan dan Arpan, “Base64 Character Encoding and Decoding Modeling,” International Journal of Recent Trends in Engineering & Research, vol. 2, no. 12, pp. 63-68, 2016. [9] M. Iqbal, Y. Sahputra dan A. P. U. Siahaan, “The Understanding of GOST Crytography,” Inter national Journal of Engineering Trends and Technology, vol. 39, no. 3, pp. 168-172, 2016. [10] E. Hariyanto dan R. Rahim, “Arnold’s Cat Map Algorithm in Digital Image Encryption,” International Journal of Science and Research, vol. 5, no. 10, pp. 1363-1365, 2016. [11] A. P. U. Siahaan, “High Complexity Bit-Plane Security Enhancement in BPCS Steganography,” International Journal of Computer Applications, vol. 148, no. 3, pp. 17-22, 2016. [12] S. S. Khaire dan S. L. Nalbalwar, “Review: Steganography - Bit Plane Complexity Segmentation (BPCS) Technique,” International Journal of Engineering Science and Technology, vol. 2, no. 9, pp. 4860-4868, 2010.