`7
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. Sebagai contoh, ketika sebuah paket akan dikirimkan kepada seseorang, maka paket tersebut dikemas sedemikian rupa agar
isi paket tersebut tidak terlihat oleh orang lain. Untuk menambah kerahasiaan dari isi paket tersebut, ditambahkan sebuah mekanisme tertentu untuk membuka isi
paket tersebut.
Salah satu cara untuk menjaga keamanan dan kerahasiaan suatu data maupun informasi adalah dengan teknik enkripsi dan dekripsi. Teknik ini berguna
untuk membuat pesan, data, maupun informasi tidak dapat dibaca atau dimengerti oleh orang lain, kecuali untuk penerima yang berhak dan mengetahui teknik
dekripsinya. Teknik enkripsi dan dekripsi dikenal dan dipelajari dalam bidang ilmu kriptografi [1].
Kriptografi visual pada citra digital memiliki peran penting dalam proses transfer gambar di jaringan komunikasi. Enkripsi citra digital bertujuan untuk
melindungi kerahasiaan gambar, menghindari perubahan isi gambar, mencegah penambahan informasi palsu, atau menghapus sebagian dari isi gambar [2].
Algoritma kriptografi dalam proses enkripsi, terbagi ke dalam block cipher dan stream cipher. Block Cipher adalah algoritma enkripsi yang akan membagi-
bagi plaintext yang akan diproses, ke dalam ukuran tertentu disebut blok dengan panjang tertentu, dan setiap blok dienkripsi dengan menggunakan kunci yang
sama. Stream Cipher adalah algoritma enkripsi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per 5 bit. Tiap proses enkripsi satu satuan data,
digunakan kunci yang merupakan hasil pembangkitan dari kunci sebelumnya.
CryptMT Versi 3 CryptMT3 adalah stream cipher yang dikembangkan oleh Makoto Matsumoto, Mutsuo Saito, Takuji Nishimura, dan Mariko Hagita.
CryptMT ver. 3 berdasarkan pada operasi 128 bit [3]. CryptMT dikembangkan untuk CPU modern, yang bertujuan untuk memanfaatkan operasi SIMD single
instruction multiple data dengan efisien [4].
Berdasarkan latar belakang masalah tersebut, maka dilakukan penelitian yang berjudul “Perancangan dan Implementasi Kriptografi Menggunakan
Algoritma CryptMT Pada Data Citra ”.
2. Tinjauan Pustaka
Pada penelitian yang berjudul “Penyandian Citra Menggunakan Metode Playfair Cipher
”, dibahas mengenai pemanfaatan algoritma playfair untuk enkripsi citra digital. Playfair Cipher merupakan salah satu metode yang
`8 digolongkan dalam kriptogafi klasik yang proses enkripsinya menggunakan
pemrosesan dalam bentuk blok-blok yang sangat besar. Metode ini merupakan salah satu cara untuk mengatasi kelemahan metode kriptografi klasik lainnya yang
mudah tertebak karena terdapat korespondensi satu-satu antara plainteks dengan cipherteks. Dari hasil pengujian didapatkan bahwa playfair merupakan metode
penyandian klasik yang cocok diterapkan untuk citra dengan kualitas yang baik dan pada citra dengan kategori citra detil. Hal ini terlihat dari keacakan intensitas
warna pada citra yang telah tersandikan. Selain itu karena matrik kunci yang digunakan
ukurannya cukup
besar mengakibatkan
kriptanalisis akan
membutuhkan waktu yang cukup lama untuk menemukan matrik kuncinya, karena terdapat 256kemungkinan bentuk matrik kunci [5].
Pada penelitian Kurnia [6], dirancang aplikasi kriptografi dengan menggunakan algoritma Caesar cipher dan PRNG. Pada penelitian tersebut,
dibahas tentang masalah keamanan citra digital, yang 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, salah satunya dengan menggunakan Caesar cipher.
Caesar cipher merupakan algoritma kriptografi klasik yang bekerja dengan cara menggeser karakter sebesar nilai angka tertentu. Untuk meningkatkan keamanan
Caesar cipher, angka yang digunakan untuk pergeseran dibuat bervariasi. Pada penelitian tersebut dihasilkan aplikasi enkripsi dan dekripsi citra digital dengan
menggunakan Caesar cipher termodifikasi. Hasil penelitian menunjukkan bahwa pengamanan citra digital dapat dilakukan dengan algoritma Caesar cipher, dengan
meningkatkan keamanan dengan cara menggunakan pergeseran yang semi acak.
Berdasarkan penelitian-penelitian yang telah dilakukan tentang kriptografi pada citra digital, maka dilakukan penelitian yang mengimplementasikan
algoritma CryptMT stream cipher untuk kriptografi citra digital. Pada penelitian ini dikembangkan aplikasi kriptografi citra digital dengan algoritma CryptMT.
Aplikasi dikembangkan pada sistem operasi Microsoft Windows. Batasan masalah dalam penelitian ini adalah sebagai berikut: 1 Data yang dienkripsi
adalah data citra digital; 2 Algoritma yang dibandingkan adalah CryptMT stream cipher; 3 Bahasa pemrograman yang digunakan untuk membuat aplikasi
adalah C .net framework 4.5;
Kriptografi cryptography merupakan ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Kriptografi Cryptography berasal dari bahasa
Yunani yaitu dari kata Crypto dan Graphia yang berarti penulisan rahasia [7]. Kriptografi merupakan bagian dari suatu cabang ilmu matematika yang disebut
Cryptology. Dalam mengenkripsi dan mendekripsi data, kriptografi membutuhkan suatu algoritma cipher dan kunci key. Cipher adalah fungsi matematika yang
digunakan untuk mengenkripsi dan mendekripsi. Sedangkan kunci merupakan sederetan bit yang diperlukan untuk mengenkripsi dan mendekripsi data [8].
Secara umum proses kriptografi dibagi menjadi dua bagian yaitu enkripsi dan dekripsi. Data yang telah dienkripsi disebut ciphertext karena data asli telah
mengalami proses di dalam sebuah algoritma kriptografi atau lebih dikenal dengan nama cipher. Kebalikannya, proses mengubah pesan yang telah dienkripsi
ciphertext menjadi pesan asli plaintext disebut sebagai proses dekripsi.
`9 CryptMT ver. 3 adalah sebuah variasi baru yang dikembangkan oleh
Makoto Matsumoto, Mutsuo Saito, Takuji Nishimura, dan Mariko Hagita. CryptMT ver. 3 berdasarkan pada operasi 128 bit. Pada CPU modern, sering
memiliki operasi single instruction multiple data SIMD. Biasanya 4 kali lipat dari register 32-bit dianggap sebagai 1 register 128-bit. CryptMT v3 terdiri dari
generator F
2
-linear dari kata, ukuran, dan bilangan bulat berurutan dengan suatu keadaan ruang besar dan sebuah filter dengan satu kata, ukuran memori,
berdasarkan pada perkalian bilangan bulat akumulatif [3]. Pada penelitian ini, format file citra digital yang digunakan adalah PNG.
PNG merupakan True Coulor image. Suatu true colour image memiliki komponen red, green dan blue yang terpisah untuk tiap pikselnya. Pada sebagian
besar true colour image, tiap komponen diwakilkan dengan satu byte yang terdiri dari 8 bit, sehingga setiap piksel memiliki 24 bit informasi warna. Oleh karena itu,
mode ini sering disebut sebagai “24-bit warna”. Pada Gambar 1 ditunjukkan contoh potongan dari file gambar. Potongan ini memiliki dimensi 6 x 6
piksel.Pada tiap piksel terdapat tiga bagian warna yaitu red, green dan blue. Pada lokasi piksel 1,1 terdapat warna red bernilai 96, green bernilai 143, dan blue
bernilai 179. Pada lokasi piksel 1,2 terdapat warna red 61, green 125, dan green 198 [9].
Gambar 1 Komponen RGB pada File Gambar 24 Bit Warna [9]
3.
Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam empat tahapan, yaitu: 1 Identifikasi masalah dan studi literatur, 2
Perancangan sistem, 3 Implementasi sistem yaitu Perancangan aplikasiprogram, dan 4 Pengujian sistem serta analisis hasil pengujian.
`10
Identi fikasi Masalah dan Studi Literatur
Perancangan Sistem
Implementasi Sistem
Pengujian S istem dan Analisi s Hasil Pengujian
Gambar 2
Tahapan Penelitian
Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai berikut. Tahap pertama: identifikasi masalah, yaitu keamanan citra digital. Studi literatur
dilakukan untuk mencari metode yang dapat diterapkan untuk menyelesaikan masalah yang telah teridentifikasi. Tahap kedua: perancangan sistem yang
meliputi perancangan proses deteksi kemiripan citra digital; Tahap ketiga: implementasi sistem, yaitu membuat aplikasi sesuai perancangan proses pada
tahap kedua; dan Tahap keempat: pengujian sistem dan analisis hasil pengujian, yaitu dilakukan pengujian terhadap proses yang telah dirancang, dan melihat
kesesuaian solusi terhadap masalah yang telah teridentifikasi sebelumnya.
Plain Image Enkripsi
Cipher Image
Kunci
Cipher Image
Dekripsi Plain Image
Kunci
Gambar 3 Desain Sistem
Sistem yang dikembangkan, memiliki desain yang ditunjukkan pada Gambar 3. CryptMT merupakan algoritma kritografi kunci simetris, sehingga
diperlukan kunci yang sama untuk proses enkripsi dan dekripsi.
`11
Mulai Input gambar
Input kunci
Jika Semua Komponen
Warna telah dienkripsi
Baca Komponen Warna
Enkripsi Komponen Warna
Selesai False
True
Gambar 4 Alur Proses Enkripsi Citra Digital
Mulai Input gambar
Input kunci
Jika Semua Komponen
Warna telah didekripsi
Baca Komponen Warna
Dekripsi Komponen Warna
Selesai False
True
Gambar 5 Alur Proses Dekripsi Citra Digital
Pada proses enkripsi Gambar 4 dengan algoritma CryptMT, dilakukan pada komponen-komponen warna, tanpa pembentukan blok. Hal ini
mengakibatkan tidak perlunya dilakukan proses padding. Proses dekripsi Gambar 5 dilakukan dengan langkah yang sama dengan proses enkripsi. Komponen
warna RGB diperoleh dari proses membaca piksel. Pada 1 piksel terdapat 3 warna, tiap warna berkapasitas 1 byte. Sehingga dalam 1 piksel terdapat 3 byte.
Proses enkripsi dan dekripsi dilakukan byte per byte.
`12
mulai
selesai Mother generator
Input key 128 bit
Input plaintext
Akumulasi bilangan acak
Baca tiap karakter
Output 8 most
significant 8 bit of accum
Gambar 6 Proses Enkripsi CryptMT [4]
mulai
selesai Mother generator
Input key 128 bit
Input ciphertext
Akumulasi bilangan acak
Baca tiap karakter
Output most significant 8
bit of accum
Gambar 7 Proses Dekripsi CryptMT [4]
Langkah proses enkripsi dan dekripsi pada CryptMT memiliki urutan yang sama. Input yang diperlukan adalah kunci 128 bit, dan deretan data yang akan
dienkripsidekripsi. Untuk tiap byte data, dilakukan proses “mother generator”,
yaitu membangkitkan deretan bilangan pseudorandom dengan algoritma Mersenne Twister MT. Hasil bilangan acak diakumulasikan, kemudian diambil
8 bit terdepat dari hasil akumulasi. 4.
Hasil dan Pembahasan
Aplikasi pada penelitian ini, dibuat dalam bentuk aplikasi berbasis desktop. Software yang digunakan adalah Visual Studio 2012 Express for
Windows Desktop.
`13
Gambar 8 Form Enkripsi
Form enkripsi Gambar 8, memerlukan dua input, yaitu plainimage, dan kunci. Output dari proses enkripsi adalah cipherimage yang merupakan hasil
enkripsi. Ukuran piksel selama proses enkripsi tidak mengalami perubahan.
`14
Gambar 9 Form Dekripsi
Form dekripsi Gambar 9, memerlukan dua input, yaitu cipherimage hasil enkripsi dan kunci. Jika kunci yang digunakan untuk proses dekripsi sama dengan
proses enkripsi, maka plainimage yang muncul adalah sesuai aslinya. Pada aplikasi yang dikembangkan, dilakukan beberapa pengujian.
Pengujian pertama adalah pengujian kecepatan proses enkripsi dan dekripsi. Hasil dari pengujian ini ditunjukkan pada Tabel 1.
Tabel 1 Perbandingan Kecepatan Enkripsi dan Dekripsi
No Ukuran Piksel Gambar
Kecepatan Enkripsi
detik Kecepatan
Dekripsi detik
1 100x100
0.04 0.040
2 200x200
0.08 0.086
3 300x300
0.09 0.097
4 400x400
0.09 0.131
5 500x500
0.1 0.160
6 600x600
0.119 0.188
7 700x700
0.132 0.217
8 800x800
0.145 0.245
9 900x900
0.158 0.274
10 1000x1000
0.171 0.302
`15 Berdasarkan hasil pengujian pengaruh ukuran gambar pada Tabel 1, dapat
dibuktikan bahwa proses enkripsi dan dekripsi sangat dipengaruhi oleh ukuran piksel gambar.
Pengujian kedua adalah pengujian pengaruh panjang kunci terhadap waktu proses enkripsi dan dekripsi. Pengujian ini bertujuan untuk melihat apakah
perbedaan panjang kunci, memberikan efek pada waktu proses.
Tabel 2 Perbandingan Pengaruh Panjang Kunci terhadap Waktu
No Panjang kunci
byte Kunci
Enkripsi detik
Dekripsi detik
1 1
F
0.1008 0.1310
2 2
FT
0.1157 0.1459
3 3
FTI
0.1298 0.1582
4 4
UKSW
0.1361 0.1694
5 5
SATYA
0.1364 0.1609
6 6
WACANA
0.1387 0.1664
7 7
FTIUKSW
0.1648 0.1870
8 8
UKSWUKSW
0.1558 0.1854
9 9
SATYAUKSW
0.1605 0.1993
10 10
SATYASATYA
0.1966 0.2209
11 11
SATYAWACANA
0.1889 0.2088
12 12
SALATIGAUKSW
0.2170 0.2185
13 13
FTIFTIFTIFTIF
0.1741 0.2254
14 14
FTIUKSWFTIUKSW
0.2286 0.2353
15 15
SATYASATYASATYA
0.2265 0.2408
16 16
UKSWUKSWUKSWUKSW
0.2974 0.2739
Berdasarkan hasil pengujian pengaruh kunci pada Tabel 2, diketahui bahwa panjang kunci memberikan pengaruh pada kecepatan proses enkripsi
maupun dekripsi. Semakin panjang kunci, semakin meningkat pula waktu yang dibutuhkan untuk proses enkripsi dan dekripsi.
Pengujian ketiga adalah pengujian hubungan kunci dengan hasil cipherimage. Pengujian dilakukan dengan cara melakukan enkripsi pada satu
gambar, dengan beberapa kunci yang berbeda. Cipherimage yang dihasilkan dengan kunci yang satu dibandingkan dengan cipherimage yang dihasilkan
dengan kunci yang berbeda. Hasil pengujian ketiga ditunjukkan pada Tabel 3.
Tabel 3 Hasil Pengujian Hubungan Kunci
No File
Dimensi Panjang
Kunci Kunci1
Kunci2 Jumlah
Piksel Cipher 1
Dan 2
1 gambar1.png 300x250 128
abcdeabc deabcde1
abcdeabc deabcde2
74998 2 gambar1.png 300x250
128 abcdeabc
deabcde1 abcdeabc
deabcde3 74998
3 gambar1.png 300x250 128
abcdeabc deabcde2
abcdeabc deabcde2
74998
Berdasarkan hasil pengujian hubungan kunci, pada Tabel 3, disimpulkan bahwa sekalipun kunci yang digunakan hanya berbeda 1 bit
abcdeabcdeabcde1
`16 dan
abcdeabcdeabcde2
berbeda 1 bit terakhir, cipherimage yang dihasilkan sangat berbeda, yaitu 74,998 piksel berbeda dari total keseluruhan 75,000 piksel.
Dengan kata lain, hanya 2 piksel yang sama pada posisi yang sama memiliki nilai piksel yang sama.
Pengujian keempat adalah pengujian kompleksitas cipher image.
Tabel 4 Perbandingan Pengaruh Panjang Kunci terhadap Kompleksitas Cipher Image
No Panjang kunci
byte Kunci
Perbedaan Piksel
Cipher Image
dengan Plain Image
Persentase Perbedaan
1 1
F
262142 99.998
2 2
FT
262142 99.998
3 3
FTI
262143 99.999
4 4
UKSW
262143 99.999
5 5
SATYA
262143 99.9996
6 6
WACANA
262143 99.9996
7 7
FTIUKSW
262144 100
8 8
UKSWUKSW
262144 100
9 9
SATYAUKSW
262144 100
10 10
SATYASATYA
262144 100
11 11
SATYAWACANA
262144 100
12 12
SALATIGAUKSW
262144 100
13 13
FTIFTIFTIFTIF
262144 100
14 14
FTIUKSWFTIUKSW
262144 100
15 15
SATYASATYASATYA
262144 100
16 16
UKSWUKSWUKSWUKSW
262144 100
Berdasarkan hasil pengujian pengaruh kunci pada Tabel 4, diketahui bahwa sekalipun panjang kunci adalah 1 karakter, cipherimage yang dihasilkan
memiliki perbedaan yang sangat besar terhadap plainimage. Kunci dengan 1 karakter memberikan perbedaan sampai dengan 99. Semakin panjang kunci,
maka semakin kompleks cipherimage yang dihasilkan.
5. Simpulan