• Tidak ada hasil yang ditemukan

Perancangan dan Implementasi Kriptografi Menggunakan Algoritma CryptMT Pada Data Citra Artikel Ilmiah

N/A
N/A
Protected

Academic year: 2021

Membagikan "Perancangan dan Implementasi Kriptografi Menggunakan Algoritma CryptMT Pada Data Citra Artikel Ilmiah"

Copied!
17
0
0

Teks penuh

(1)

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

Salatiga

Juli 2016

(2)

`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

Salatiga

Juli 2016

(3)
(4)
(5)
(6)
(7)

`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)

`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;

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)

`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

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 aplikasi/program, dan (4) Pengujian sistem serta analisis hasil pengujian.

(10)

`10

Identifikasi Masalah dan Studi Literatur

Perancangan Sistem

Implementasi Sistem

Pengujian Sistem dan Analisis 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)

`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)

`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 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

Aplikasi pada penelitian ini, dibuat dalam bentuk aplikasi berbasis desktop. Software yang digunakan adalah Visual Studio 2012 Express for Windows Desktop.

(13)

`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)

`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)

`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)

`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

Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka dapat diambil kesimpulan yaitu:1) Berdasarkan hasil pengujian kecepatan enkripsi dan dekripsi, waktu proses dipengaruhi oleh dua hal yaitu ukuran citra digital, dan panjang kunci. Waktu enkripsi lebih cepat dari waktu dekripsi, dengan perbandingan yang tidak signifikan (di bawah satu detik); 2) Keamanan hasil enkripsi dapat dijamin, sekalipun kunci yang digunakan memiliki kemiripan 1 byte, seperti ditunjukkan pada hasil pengujian hubungan kunci; 3) Kompleksitas kunci memberikan pengaruh pada kompleksitas cipherimage. Pedoman yang dapat diambil adalah dengan semakin panjang kunci, maka semakin kompleks (aman) cipherimage yang dihasilkan. Saran yang dapat diberikan untuk penelitian

(17)

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

[9]. Parvez, M. T., & Gutub, A. A.-A. 2008, RGB Intensity Based Variable-Bits Image Steganography, IEEE Asia-Pacific Services Computing Conference, 1322–1327.

Gambar

Gambar 1 Komponen RGB pada File Gambar 24 Bit Warna [9]
Gambar 3 Desain Sistem
Gambar 4 Alur Proses Enkripsi Citra Digital
Gambar 6 Proses Enkripsi CryptMT [4]
+5

Referensi

Dokumen terkait

 Siswa mendengarkan penjelasan guru tentang pembagian kelompokdalam bentu jigsaw , dimana siswa dibagi ke dalam 6 kelompok yang terdiri dari 4 orang, dan setiap

Provinsi Lampung adalah provinsi sebagaimana dimaksud dalam Undang-Undang Nomor 14 Tahun 1964 tentang Penetapan Peraturan Pemerintah Pengganti Undang- Undang Nomor 3 Tahun

Berdasarkan hasil pelaksanaan tindakan dan pembahasan yang telah diuraikan pada bab IV, dapat disimpulkan bahwa penggunaan pendekatan PMR dalam peningkatan pembelajaran

Berdasarkan penjelasan diatas dapat disimpulkan dari hasil wawancara anggota bahwa upaya pengurus dalam mensejahterakan anggota baik dari segi, informasi, pelayanan,

Preprocessing data telah dilakukan sesuai dengan proses yang ada pada KDD, dengan menghasilkan set data yang baru hasil dari penggabungan dua sumber data yang berbeda yaitu

Satriadi dan Widada (2004) menambahkan bahwa sumber-sumber material tersuspensi yang berasal dari aliran sungai berupa hasil pelapukan dari bahan organik, material

The incorporation of Epoxidized Natural Rubber also enhanced the rubber-filler interaction and tensile properties of the silica-filled Styrene Butadiene. Rubber

yang telah membantu saya dalam tata cara penulisan laporan tugas.. akhir ini sehingga bisa terselesaikan dengan tepat