1
Perancangan dan Implementasi Kriptografi
Menggunakan Algoritma CryptMT Pada Data Citra
Artikel Ilmiah
Peneliti:
Erik Wijaya(672011140)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
`2
Perancangan dan Implementasi Kriptografi
Menggunakan Algoritma CryptMT Pada Data Citra
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh gelar Sarjana Komputer
Peneliti:
Erik Wijaya(672011140)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
`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
`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 256!kemungkinan 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;
`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 F2-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
`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
`11
Gambar 4 Alur Proses Enkripsi Citra Digital
Mulai
Gambar 5 Alur Proses Dekripsi Citra Digital
`12
Gambar 6 Proses Enkripsi CryptMT [4]
mulai
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 dienkripsi/dekripsi. 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
`13
Gambar 8 Form Enkripsi
`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
`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
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
`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
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
`17
dan pengembangan selanjutnya adalahperlunya dilakukan analisis penggunaan memory pada tiap proses, pada kedua algoritma.
6. Daftar Pustaka
[1]. Kaufman, C., Perlman, R., & Speciner, M., 2002, Network security: private communication in a public world, Prentice Hall Press.
[2]. El Fishawy, N. F. & Zaid, O. M. A., 2007, Quality of Encryption Measurement of Bitmap Images with RC6, MRC6, and Rijndael Block Cipher Algorithms, IJ Network Security 5, 241–251.
[3]. Matsumoto, M., Saito, M., Nishimura, T., & Hagita, M., 2007, CryptMT stream cipher version 3, eSTREAM, ECRYPT Stream Cipher Project, Report 28, 2007.
[4]. Matsumoto, M., 2013, The Cryptographic Mersenne Twister,
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/CRYPTMT/index.html. Diakses pada 2 Juni 2016.
[5]. Setyaningsih, E., 2009, Penyandian Citra Menggunakan Metode Playfair Cipher, Jurnal Ilmiah Nasional Jurnal Teknologi 2, 213–217.
[6]. Kurnia, D. S., & Pakereng, M. A. I., 2015, Perancangan dan Implementasi Image Kriptografi Menggunakan Caesar Cipher Termodifikasi, Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga.
[7]. Forouzan, B. A., 2007, Cryptography & Network Security, McGraw-Hill, Inc.
[8]. Munir, R., 2006, Kriptografi, Informatika, Bandung.