• Tidak ada hasil yang ditemukan

T1 672013713 Full text

N/A
N/A
Protected

Academic year: 2017

Membagikan "T1 672013713 Full text"

Copied!
19
0
0

Teks penuh

(1)

Perancangan dan Implementasi

Image

Kriptografi

Menggunakan

Caesar

Cipher

Termodifikasi

Artikel Ilmiah

Peneliti:

Dwi Sandi Kurnia (672013713) Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

(2)

Perancangan dan Implementasi

Image

Kriptografi

Menggunakan

Caesar

Cipher

Termodifikasi

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

untuk memperoleh gelar Sarjana Komputer

Peneliti:

Dwi Sandi Kurnia (672013713) Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

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

Perancangan dan Implementasi

Image

Kriptografi

Menggunakan

Caesar

Cipher

Termodifikasi

1)

Dwi Sandi Kurnia,2)

Magdalena A. Ineke Pakereng

Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

Email: 1)[email protected],2)[email protected]

Abstract

One way to maintain the security and confidentiality of the data and information is by using encryption and decryption. Digital image used in various fields, to store important information. Digital image stored in a computer and transmitted through a computer network and the Internet are at risk to be known, altered or destroyed by certain parties. Cryptographic techniques can be applied to protect digital images of these problems, one of them by using the Caesar cipher. Caesar cipher is a cryptographic algorithm classic works by shifting the character of a specific numerical value. To improve the security of Caesar cipher, the figures used for the shift is varied. In this study generated the application of digital image encryption and decryption using the Caesar cipher modified. The results showed that the security of digital image can be performed by a Caesar cipher algorithm, by increasing security by using a semi-random shift.

Keywords: Image Cryptography, Modified Caesar Cipher

Abstrak

Salah satu cara untuk menjaga keamanan dan kerahasiaan suatu data maupun informasi adalah dengan teknik enkripsi dan dekripsi. Citra digital digunakan dalam berbagai bidang, untuk menyimpan informasi penting. Citra digital yang tersimpan dalam komputer maupun 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 Caesarcipher. Caesarcipher merupakan algoritma kriptografi klasik yang bekerja dengan cara menggeser karakter sebesar nilai angka tertentu. Untuk meningkatkan keamanan Caesarcipher, angka yang digunakan untuk pergeseran dibuat bervariasi. Pada penelitian ini dihasilkan aplikasi enkripsi dan dekripsi citra digital dengan menggunakan Caesarcipher termodifikasi. Hasil penelitian menunjukkan bahwa pengamanan citra digital dapat dilakukan dengan algoritma Caesar cipher, dengan meningkatkan keamanan dengan cara menggunakan pergeseran yang semi acak.

Kata Kunci: Kriptografi Citra Digital, CaesarCipher Termodifikasi

1)Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana

2)

(9)

1 1. Pendahuluan

Keamanan merupakan salah satu aspek penting dalam pengiriman data maupun komunikasi melalui jaringan. 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].

Informasi berupa citra digital telah digunakan secara luas dalam berbagai macam bidang seperti pemerintahan, militer, badan keuangan, rumah sakit, perusahaan perdagangan, dan lain sebagainya. Citra digital digunakan untuk menyimpan informasi penting, misalnya hasil pemeriksaan pasien dalam bidang rumah sakit, area geografi dalam bidang penelitian, posisi musuh dalam bidang militer, produk baru dalam perusahaan, dan lain sebagainya.

Citra digital yang tersimpan dalam komputer maupun 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.

Caesar cipher merupakan algoritma kriptografi klasik. Algoritma tersebut

bekerja dengan cara menggeser karakter sebesar nilai angka tertentu. Nilai angka yang digunakan bersifat konstan, yaitu antara karakter satu dengan karakter yang lain digeser dengan menggunakan satu nilai yang sama. Untuk meningkatkan keamanan Caesar cipher, angka yang digunakan untuk pergeseran dibuat bervariasi. Proses variasi ini dilakukan dengan menggunakan nilai semi acak, yang dibangkitkan dengan nilai awal berdasarkan masukan password. Password

yang sama digunakan untuk membangkitkan nilai acak, untuk proses dekripsi. Berdasarkan latar belakang masalah tersebut, maka pada penelitian ini dirancang aplikasi kriptografi citra digital, dengan melakukan modifikasi pergeseran kunci pada Caesar cipher. Berdasarkan hasil perancangan, dilakukan implementasi dalam bentuk aplikasi berbasis Windows, yang dibuat dengan menggunakan teknologi .Net Framework.

2. Tinjauan Pustaka

Penelitian tentang Caesar cipher termodifikasi telah dilakukan sebelumnya. Susanto, Fridariyani dan Rahman [2] dalam penelitiannya melakukan improvisasi algoritma Caesar cipher untuk mengamankan data teks. Penelitian tersebut menjelaskan tentang masalah keamanan privasi data teks bagi kalangan masyarakat. Improvisasi dilakukan dengan penambahan kunci, sehingga terdapat dua kunci untuk melakukan enkripsi dan dekripsi yaitu kunci pergeseran dan kunci spasi. Hasil dari penelitian tersebut adalah sebuah aplikasi kriptografi untuk file teks.

Penelitian yang lain oleh Dey [3], yang melakukan modifikasi Caesar

cipher dengan menggunakan metode SD-AREE. Penelitian tersebut menekankan

(10)

2

Teknik yang diusulkan adalah modifikasi Caesar cipher dengan SD-AREE untuk menyandikan data penting tersebut. SD-AREE adalah teknik kriptografi yang tidak memasukkan karakter berulang pada pesan yang akan dienkripsi. Pada metode SD-AREE, bit atau karakter yang berulang dihilangkan, sehingga tidak terdapat jejak perulangan karakter pada pesan, untuk menghindari frequency analysis.

Perbedaan penelitian yang dilakukan ini dengan penelitian-penelitian sebelumnya adalah, pada penelitian ini, Caesar cipher dimodifikasi pada angka yang digunakan untuk proses pergeseran karakter. Nilai yang digunakan sebagai pergeseran adalah nilai semi acak (pseudo random). Nilai awal (seed) yang digunakan adalah hasil modulasi XOR dari masukan password/kunci. Caesar

cipher yang dimodifikasi ini digunakan untuk menyandikan citra digital.

Salah satu algoritma klasik yang dikenal adalah Caesar cipher. Caesar

cipher yang digunakan oleh kaisar Romawi, Julius Caesar (sehingga dinamakan

juga Caesar cipher). Pada Caesar cipher, tiap huruf disubstitusi dengan huruf ketiga berikutnya dari susunan alfabet yang sama. Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaitu 3). Sehingga, huruf A pada plaintext

disubstitusikan dengan D, huruf B disubstitusikan dengan E, demikian seterusnya [4].

Pada penelitian ini digunakan algoritma semi acak (pseudo random) untuk membangkitkan nilai pergeseran. Pembangkitan bilangan pseudo random adalah sebuah deretan bilangan dengan kemungkinan pengulangan yang sangat kecil atau periode pengulangan yang sangat besar. Pada pembuatan sistem ini, algoritma pembangkitan bilangan pseudo random yang digunakan adalah algoritma LCG

(Linear Congruential Generator) yang diciptakan oleh D.H Lehmer pada tahun

1951 [5]. Pada .Net Framework, telah terintegrasi class Random yang merupakan implementasi dari algoritma pseudo random tersebut.

Pada penelitian ini, format file citra digital yang digunakan adalah PNG. PNG merupakan True Color image, yang berarti tiap piksel direpresentasikan dengan 3 byte, terbagi ke dalam red, green, dan blue masing-masing 1 byte. Hal ini sering disebut dengan warna RGB, atau True Color 24 bit. Selain 24 bit warna, file PNG juga mendukung 32 bit warna. True Color 32 bit sama dengan 24 bit, dengan perbedaan adalah adanya 1 byte tambahan yang disebut komponen alpha

[6][7].

Gambar 1 True Color 24 bit dan 32 bit [6]

3. Metode dan Perancangan Sistem

(11)

3

enkripsi. Hasil dari proses enkripsi adalah cipher image. Pada proses dekripsi, masukan yang diperlukan adalah cipherimage dan kunci dekripsi. Kunci enkripsi dan kunci dekripsi adalah sama.

Citra Digital +

Gambar 2 Desain 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, dan (4) Pengujian sistem dan analisis hasil pengujian.

Gambar 3 Tahapan Penelitian

Tahapan penelitian pada Gambar 3, dijelaskan sebagai berikut: Tahap

pertama: mengidentifikasi masalah keamanan data terutama citra digital, dan

mempelajari solusi-solusi yang dapat diterapkan. Tahap kedua: berdasarkan solusi-solusi yang dipilih, dirancang suatu modifikasi dari algoritma yang sudah ada, untuk digunakan sebagai penyelesaian masalah. Tahap ketiga: mengimplementasikan hasil perancangan ke dalam bentuk aplikasi Windows dengan menggunakan teknologi .Net Framework. Tahap keempat: adalah melakukan pengujian sistem dan kemudian melakukan analisis terhadap hasil pengujian tersebut.

Identifikasi Masalah dan Studi Literatur

Perancangan Sistem

Implementasi Sistem

(12)

4

Mulai

Modulasi kunci menjadi angka

seed Input gambar

dan kunci

Jika semua warna selesai

diproses Baca warna

Bangkitkan nilai acak

Geser kanan warna sebesar nilai acak

Selesai

Output cipher image

True

False

Gambar 4 Proses Enkripsi dengan CaesarCipher Termodifikasi

Pada Gambar 4 ditunjukkan proses enkripsi citra digital dengan Caesar

cipher termodifikasi. Masukan yang diperlukan adalah citra digital dan kunci yang

panjangnya 6-12 karakter. Kunci yang digunakan kemudian dilakukan modulasi dengan XOR sehingga dihasilkan satu bilangan byte. Bilangan tersebut menjadi

(13)

5

Geser kiri warna sebesar nilai acak

Gambar 5 Proses Dekripsi dengan CaesarCipher Termodifikasi

Pada Gambar 5 ditunjukkan diagram proses dekripsi dengan Caesar cipher

termodifikasi. Seperti halnya pada proses enkripsi, pada proses dekripsi diperlukan masukan yaitu cipher image, dan kunci dekripsi. Kunci dekripsi digunakan untuk membangkitkan bilangan acak. Proses selanjutnya sama dengan proses enkripsi, yaitu menggeser nilai warna seusai dengan nilai hasil pembangkitan acak. Perbedaannya adalah proses geser yang dilakukan dengan arah yang sebaliknya dari proses enkripsi.

Pada proses modulasi kunci, karakter-karakter yang digunakan pada kunci diubah ke dalam nilai ASCII. Kemudian nilai-nilai ASCII tersebut dilakukan operasi XOR, sampai akhirnya diperoleh satu angka yang akan digunakan sebagai

seed untuk proses semi acak. Contoh proses modulasi kunci ditunjukkan pada Tabel 1.

Tabel 1 Contoh Proses Modulasi Kunci

Kunci f t i @ u k s w

(14)

6

Hasil Modulasi Kunci 33

Dengan menggunakan hasil modulasi 33, dibangkitkan bilangan semi acak. Pada proses enkripsi maupun dekripsi, digunakan nilai bilangan semi acak yang sama karena nilai seed diperoleh dari hasil modulasi kunci yang sama. Contoh proses enkripsi ditunjukkan pada Tabel 2.

Tabel 2 Contoh Proses Enkripsi

Warna 255 255 0 1 100 70 99 99 100

Nilai Semi Acak Dengan

Seed=33 246 127 212 153 26 101 176 254 15

Warna Hasil Enkripsi

Caesar 245 126 212 154 126 171 19 97 115

Contoh proses dekripsi dari hasil enkripsi pada Tabel 2, ditunjukkan pada Tabel 3.

Tabel 3 Contoh Proses Dekripsi

Warna 245 126 212 154 126 171 19 97 115

Nilai Semi Acak Dengan

Seed=33 246 127 212 153 26 101 176 254 15

Warna Hasil Dekripsi 255 255 0 1 100 70 99 99 100

4. Hasil dan Pembahasan

Berdasarkan hasil perancangan, maka dilakukan implementasi dalam bentuk aplikasi desktop berbasis Windows. Aplikasi dikembangkan dengan menggunakan bahasa pemrograman C#, dengan pustaka .Net Framework 4.5. Perangkat pengembangan yang digunakan adalah Visual StudioExpres 2012 for Windows Desktop.

Gambar 6Form untuk Proses Enkripsi Gambar 7Form untuk Proses Dekripsi

Gambar 6 merupakan form yang digunakan untuk melakukan proses enkripsi. Form tersebut menyediakan masukkan berupa citra digital yang akan dienkripsi, dan kunci enkripsi. Hasil enkripsi ditampilkan bersebelahan dengan citra digital semula. Gambar 7 merupakan form yang digunakan untuk proses dekripsi. Skema tampilan sama dengan form untuk proses enkripsi.

Kode Program 1 Perintah untuk Proses Modulasi Kunci

(15)

7 dengan yang lainnya (perintah pada baris 4-7). Variabel result (perintah pada baris 3) digunakan untuk menampung nilai akhir dari hasil operasi XOR.

Kode Program 2 Perintah untuk Proses Enkripsi Warna dengan Caesar Cipher

1. byte modulasi = XORModulasi.XOR(key);

2. PRNG random = new PRNG(modulasi);

11. Color c = bitmap.GetPixel(x, y);

12.

13. geser = random.Next();

14. byte A = (byte)((c.A + geser) % max);

Kode Program 2 merupakan perintah untuk proses enkripsi warna. Proses dimulai dengan melakukan modulasi kunci (perintah pada baris 1), kemudian membuat obyek dari class PRNG yang berfungsi sebagai pembangkit bilangan semi acak. Nilai pemicu (seed) untuk proses semi acak adalah nilai dari hasil modulasi (perintah pada baris 2). Nilai elemen warna dibaca berdasarkan koordinat panjang dan lebar menggunakan variabel x dan y (perintah pada baris 5-7). Kemudian proses enkripsi dilakukan dengan cara menggeser nilai warna tersebut sebesar nilai semi acak yang dihasilkan (perintah pada baris 13-14). Pergeseran dilakukan dengan menjumlahkan nilai warna dengan nilai semi acak. Jika hasil penjumlahkan lebih dari batas nilai byte (perintah pada baris 3) maka dilakukan operasi modulus untuk diperoleh nilai hasil baginya (perintah pada baris 14).

Kode Program 3 Perintah untuk Proses Dekripsi Warna dengan CaesarCipher

1. byte modulasi = XORModulasi.XOR(key);

2. PRNG random = new PRNG(modulasi);

10. Color c = bitmap.GetPixel(x, y);

11. geser = random.Next();

12. int gA = c.A - geser;

13. byte A = (byte)(gA < 0 ? max + gA : gA);

(16)

8

elemen warna dibaca berdasarkan koordinat panjang dan lebar menggunakan variabel x dan y (perintah pada baris 5-7). Kemudian proses dekripsi dilakukan dengan cara menggeser nilai warna tersebut sebesar nilai semi acak yang dihasilkan (perintah pada baris 13-14). Pergeseran dilakukan dengan mengurangkan nilai warna dengan nilai semi acak. Pergeseran dilakukan ke kiri, sehingga jika hasil pengurangan adalah nilai negatif, maka dilanjutkan ke nilai terbesar byte. Sebagai contoh jika pengurangan adalah -2, maka nilai perputaran ke kiri adalah 254. Jika -10, maka menjadi 146.

Pengujian aplikasi dilakukan untuk mengetahui apakah aplikasi telah memenuhi rancangan yang dibuat, dan memenuhi kebutuhan pembuatan aplikasi, serta mengetahui performa aplikasi. Pengujian dilakukan dengan melihat 3 faktor, yaitu kecepatan, keamanan, dan keutuhan data.

Pengujian kecepatan dilakukan dengan menguji beberapa ukuran citra digital, kemudian mencatat waktu proses yang dihasilkan.

Tabel 4 Hasil Pengujian Kecepatan

No Jumlah Piksel Enkripsi Dekripsi

1 90000 0.203114 0.203318

Gambar 8 Hasil Pengujian Kecepatan

Berdasarkan hasil pengujian kecepatan, dibuktikan bahwa ukuran citra yaitu panjang dan lebar mempengaruhi kecepatan proses enkripsi maupun dekripsi. Perbedaan waktu proses enkripsi dan dekripsi tidak signifikan, karena kedua proses melalui langkah-langkah yang sama. Tentu saja waktu proses ini sangat dipengaruhi oleh spesifikasi komputer yang digunakan.

(17)

9

Tabel 5 Hasil Pengujian Keamanan

No Kunci 1 Kunci 2 Perbedaan Kunci (byte) Perbedaan Piksel

1 1234abcd 1234abcX 1 89996

2 1234abcd 1234abXY 2 89995

3 1234abcd 1234aXYZ 3 89999

4 1234abcd 12XYZAcd 4 89997

5 1234abcd 1ABCDEFd 6 90000

Hasil pengujian pada Tabel 5, ditampilkan dalam bentuk grafik garis, ditunjukkan pada Gambar 9.

Gambar 9 Hasil Pengujian Keamanan

Berdasarkan hasil pengujian keamanan, diketahui bahwa aplikasi dapat menghasilkan cipherimage yang memiliki perbedaan besar, sekalipun kunci yang digunakan mirip. Angka perbedaan kunci berbanding secara signifikan dengan angka perbedaan piksel.

Pengujian Keutuhan dilakukan dengan cara membandingkan nilai piksel antara citra digital awal (sebelum proses enkripsi), dengan citra digital akhir (setelah proses dekripsi).

Tabel 6 Hasil Pengujian Keutuhan

No Gambar Awal Gambar Akhir Kunci

Perbedaan Piksel

(18)

10

2 satyawacana 0

3 salatiga 0

4 20150101 0

5 inekepakereng 0

Berdasarkan hasil pengujian keutuhan pada Tabel 6, diketahui bahwa aplikasi dapat menjaga keutuhan citra digital, terbukti dari tidak ada perbedaan nilai piksel antara citra digital awal (sebelum enkripsi) dengan citra digital akhir (setelah dekripsi).

5. Simpulan

(19)

11 6. Daftar Pustaka

[1]. Kaufman, C., Perlman, R. & Speciner, M. 2002. Network security: private

communication in a public world. Prentice Hall Press.

[2]. Susanto, A., Fridariyani, F. & Rahman, A. 2014. Enkripsi dan Dekripsi Teks Menggunakan Algoritma Improved Caesar Cipher. Jurusan Teknik Informatika STMIK MDP

[3]. Dey, S. 2012. SD-AREE: A New Modified Caesar Cipher Cryptographic Method Along with Bit-Manipulation to Exclude Repetition from a Message

to be Encrypted. arXiv preprint arXiv:1205.4279

[4]. Munir, R. 2006. Kriptografi. Informatika, Bandung

[5]. Susanto, A. 2006. Studi dan Implementasi Steganografi pada Berkas MIDI. [6]. Willamette.edu In press. Image File Formats.

Gambar

Gambar 2 Desain Sistem
Gambar 4  Proses Enkripsi dengan Caesar Cipher Termodifikasi
Tabel 1. Tabel 1 Contoh Proses Modulasi Kunci
Tabel 2 Contoh Proses Enkripsi
+3

Referensi

Dokumen terkait

Beberapa faktor karakteristik pekerjaan yang mempengaruhi tingginya perputaran tenaga kerja Departemen Food And Beverage Service di Hotel Hilton Bali adalah

[r]

Challenges for access to hepatitis care include: the lack of global funding, stigma associated to the disease, insufficient awareness and limited understanding of the disease

Berdasarkan Berita Acara Penetapan Pemenang Nomor : 81 /PAN/VII/2011 tanggal 19 Juli 2011, Panitia Pengadaan Barang/Jasa Dinas Kesehatan Kota Bandar Lampung Tahun Anggaran

bertindak sebagai wali amanat ( trustee ) untuk mewakili kepentingan investor. Investor, adalah pemegang sukuk yang memiliki hak atas imbalan, margin, dan nilai

tiroid kerja panjang (LATS, Long-Acting Thiroid Stimulator) Di temukan dalam serum dengan konsentrasi yang bermakna pada banyak penderita penyakit ini dan

Dari pengolahan data diperoleh hasil: (1) terdapat pengaruh yang positif dan signifikan minat membaca dan penguasaan kosakata secara bersama-sama terhadap keterampilan

JUDUL : KENALI PENYAKIT KULIT DERMATITIS MEDIA : MINGGU PAGI. TANGGAL : 24