• Tidak ada hasil yang ditemukan

Implementasi Kriptografi blum dan Steganograf

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Kriptografi blum dan Steganograf"

Copied!
5
0
0

Teks penuh

(1)

Saat ini kriptoanalis sudah berkembang dengan pesat. sudah banyak metode kriptografi yang dapat di pecahkan dengan metode kriptoanalis saat ini. Maka dari itu diperlukan steganografi yaitu sebuah seni menyembunyikan pesan rahasia ke dalam suatu media, media bisa berupa gambar, suara ataupun video. Sehingga pesan rahasia yang disampaikan kepada penerima dari pengirim akan lebih aman dari gangguan orang ketiga.

Pada tugas akhir ini dibuat sebuah implementasi yang membuat steganografi teks pada media gambar menjadi lebih kuat dan aman. Implementasi yang digunakan adalah mengenkripsi pesan text terlebih dahulu dengan menggunakan algoritma kriptografi Blowfish. Informasi yang terenkripsi tersebut kemudian dimasukkan pada sebuah media gambar dengan algoritma steganografi GifShuffle.

Hasil dari implementasi kriptografi dan steganografi ini adalah sebuah gambar yang secara kasat mata terlihat mirip sehingga pihak ketiga tidak sadar jika gambar memiliki sebuah pesan rahasia. Hal ini di karenakan algoritma GifShuffle hanya mengubah posisi colormap sehingga tidak terjadi perubahan ukuran, piksel, panjang dan lebar image. Ditambah lagi dengan algoritma Blowfish yang sampai saat ini masih belum ada seorangpun yang bisa memecahkan dengan sempurna.

Kata Kunci :Kriptografi, Steganografi, Blowfish, GifShuffle.

I. PENDAHULUAN

AAT ini komunikasi merupakan salah satu hal terpenting dalam kehidupan. Tidak hanya manusia tetapi semua makhluk hidup juga saling berkomunikasi satu dengan lainya dengan caranya sendiri. Pada era informasi seperti sekarang, komunikasi merupakan hal yang sangat penting. Ada saat dimana suatu informasi tersebut bersifat rahasia sehingga tidak boleh ada orang lain yang mengetahui informasi selain orang yang dituju. Oleh karena itu metode komunikasi yang digunakan harus dibuat sedemikian rupa sehingga tidak ada orang lain selain orang yang di tuju mengetahui tentang informasi tersebut [5].

Maka dari itu lahirlah kriptografi yaitu sebuah metode untuk mengolah informasi dengan algoritma tertentu sehingga informasi menjadi samar dan sulit dipahami maknanya. Tetapi dengan semakin berkembangnya teknologi semakin berkembang juga kemampuan untuk memecahkan

kriptografi yang disebut dengan kriptanalisis. Sehingga pengamanan suatu informasi yang bersifat sangat penting juga harus berkembang [7].

Steganografi merupakan suatu seni menyembunyikan informasi pada suatu media. Media yang digunakan bisa berupa gambar, suara ataupun video. Sehingga jika seseorang ingin mengirim pesan kepada orang lain, tidak akan ada orang lain yang menyadari jika dalam media tersebut terdapat pesan rahasia [5].

Oleh karena itu pada tugas akhir ini dibuat sebuah implementasi yang membuat steganografi teks pada media gambar. Metode enkripsi yang digunakan adalah algoritma

Blowfish dan algoritma GifShuffle adalah metode digunakan

untuk steganografi. Sampai saat ini algoritma Blowfish masih belum ditemukan kelemahan yang berarti. Hasil dari enkripsi algoritma Blowfish juga sangat tidak mungkin dan tidak praktis untuk untuk di terjemahkan tanpa bantuan kunci. Dengan algoritma GifShuffle gambar yang di hasilkan tidak mengalami perubahan baik ukuran dan dimensinya. Gambar yang sudah berisi pesan rahasia akan sama persis dengan gambar sebelum di beri pesan rahasia, sehingga tingkat keamanan gabungan dari algoritma Blowfish dan GifShuffle akan sangat tinggi dan susah untuk dipecahkan [5,7].

II. KAJIANPUSTAKA

A. Konsep Dasar Citra

Image atau citra adalah sebuah kumpulan titik, garis,

bidang dan warna untuk menciptakan suatu objek.Citra bias berupa 2 dimensi dan 3 dimensi. contoh dari citra 2 dimensi adalah foto dan lukisan, sedangkan contoh dari citra 3 dimensi adalah patung dan hologram.

Citra digital adalah citra yang telah diproses dengan cara digitalisasi. Citra ini memiliki sebuah satuan yang dinamakan dengan piksel. Setiap gambar memiliki sebuah kedalaman bit yang merepresentasikan berapa jumlah warna yang dapat ditampung oleh sebuah gambar. Salah satu contohnya adalah gambar monochrome 1-bit, maksudnya adalah gambar tersebut hanya memiliki 2 warna saja yaitu 1

Implementasi Kriptografi dan Steganografi pada

Media Gambar dengan Menggunakan Algoritma

Blowfish dan GifShuffle

Tegar Meda Rahman, Ary Mazharudin Shiddiqi dan Hudan Studiawan

Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111

E-mail: [email protected]

(2)

dan 0 dengan kata lain gambar tersebut hanya memiliki warna hitam dan putih saja. Contoh lain adalah gambar 8-bit, berarti gambar tersebut mempunyai 256 variasi warna (28 warna).

B. Citra dengan format GIF

GIF merupakan kependekan dari Graphics Interchange

Format adalah sebuah format yang diperkenalkan pada tahun

1987 oleh Compuserve untuk menggantikan format RLE yang hanya dapat menampilkan gambar dengan warna hitam dan putih saja. GIF sering digunakan pada website karena gambar dengan format GIF memiliki ukuran yang relatif kecil karena Gif hanya memiliki 256 palet warna. Ukuran palet warna sebesar 256 adalah standar GIF’89 dan GIF’87. Kelebihan dari GIF adalah mampu menampilkan gambar bergerak.

GIF juga memiliki format yang terdiri dari header, logical

screen descriptor, global color table, graphics control extension, image descriptor, local color table, image data, plain text extension, application extension, comment extension, dan trailer.

C. Algoritma Blowfish

Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan suatu pesan dengan cara mengubahnya kedalam bentuk yang tidak dapat dimengerti lagi maknanya. Salah satunya adalah algoritma Blowfish. Algoritma ini merupakan

block cipher 64 bit. Algoritma blowfish terdiri key expansion

dan enkripsi data. Key expansion berfungsi untuk merubah

key menjadi beberapa array subkey dengan total 4168 byte.

Proses enkripsi algoritma Blowfish ini terdiri dari fungsi perulangan sederhana, di setiap putaranya terdiri dari permutasi key dependent, key subtitution dan data dependent. Operasi yang digunakan hanya penambahan dan XOR operasi tambahan lainya hanya empat penelusuran tabel

-lookup array berindeks untuk setiap putaranya. Untuk proses

dekripsi algoritma Blowfish ini sama seperti pada kebanyakan algoritma kriptografi lainya yaitu hanya pembalikan dari proses enkripsi.

D. Algoritma GifShuffle

Steganografi merupakan perkembangan dari kriptografi. Steganografi adalah seni menyembunyikan pesan kedalam suatu cara sehingga yang mengetahui hanya si pengirim dan penerima, tidak ada seorangpun yang menyadari bahwa ada suatu pesan yang disembunyikan. Algoritma GifShufle merupakan salah satu algortima steganografi yang dapat menyembunyikan suatu pesan ke dalam sebuah berkas dengan format GIF. GifShuffle memanfaatkan posisi

colormap yang terdapat pada header file untuk

menyembunyikan suatu pesan, sehingga tidak akan terjadi perubahan apapun pada berkas berformat GIF. Proses dekripsi pada algoritma GifShuffle ini hanya pembalikan dari proses enkripsinya, sama seperti pada kebanyakan algoritma

steganografi lainya.

III. ANALISISDANPERANCANGAN

A. Deskripsi Umum

Dalam tugas akhir ini dirancang sebuah aplikasi kriptografi dan steganografi menggunakan bahasa pemrograman Java dengan mengimplementasikan algoritma Blowfish dan

GifShuffle. Aplikasi ini dibuat untuk meningkatkan

keamanan steganografi berupa teks ke dalam sebuah media gambar, karena selama ini metode yang digunakan masih sederhana dan perlu diragukan tingkat keamanannya. Maka dari itu digunakan algoritma kriptografi Blowfish untuk meningkatkan keamanannya.

B. Arsitektur Sistem

Pada aplikasi ini terdapat dua proses yang terjadi yaitu proses enkripsi dan proses dekripsi. Proses enkripsi pada aplikasi ini melibatkan dua fungsi utama yaitu enkripsi

Blowfish dan GifShuffle, begitu juga dengan proses

dekripsinya juga melibatkan dua fungsi utama yaitu dekripsi

Blowfish dan GifShuffle. Gambar 1 menunjukan alur

algoritma Blowfish, Gambar 2 menunjukan alur algoritma

GifShuffle sedangkan Gambar 3 menunjukan alur gabungan

algoritma Blowfish dan GifShuffle

Start

X/2 = XL & XR

XL = XL xor Pi XR = F(XL) xor XR

Tukar XL dan XR

i < 16

Satukan kembali XL dan XR XR = XR xor P17

XL = XL xor P18

End Tukar XL dan XR

no

yes

(3)

Start

Baca pesan

Baca Citra Gif

Hitung total warna unik

Gambar 2 Diagram Alur Algoritma GifShuffle

Start

X/2 = XL & XR

XL = XL xor Pi XR = F(XL) xor XR

Tukar XL dan XR

i < 16

Satukan kembali XL dan XR XR = XR xor P17 XL = XL xor P18 Tukar XL dan XR

no

yes Baca pesan

Baca Citra Gif

Hitung total warna unik

Gambar 3 Diagram Alur Gabungan Algoritma Blowfish dan GifShuffle

C. Deskripsi Singkat Aplikasi

Pada aplikasi ini masukan algoritma GifShuffle adalah hasil dari enkripsi algoritma Blowfish yang berupa bilangan heksadesimal. Pengguna dapat memasukan pesan, kemudian memilih gambar yang ingin digunakan sebagai media penyembunyian. Setelah itu pengguna dapat melanjutkan dengan memilih enkripsi untuk memulai proses enkripsi. Hasilnya adalah sebuah gambar dengan format GIF yang telah berisi pesan. Dan ketika pengguna memilih dekripsi maka gambar akan diekstrak dan menghasilkan sebuah pesan

yang berada di dalam gambar. Seperti yang diilustrasikan pada Gambar 4.

System

Pengguna

I nput Pesan

I nput Password

pilih gambar Melakukan Ext ract ing GifShuffle

< < include> >

< < include> >

< < include> > < < include> >

Gambar 4 Use Case Sistem

IV. IMPLEMENTASI

A. Implementasi Enkripsi Blowfish

Pada implementasi enkripsi Blowfish terdapat sebuah fungsi yang akan mendapatkan masukan berupa pesan. Kemudian fungsi ini akan menghitung panjang pesan tersebut. Setelah itu, fungsi ini akan mengalokasikan sebuah buffer yang berfungsi untuk menyalin semua bytes dari string ke dalam buffer. Kemudian dimasukan kedalam fungsi lain yang berguna untuk membuat enkriptor yang akan dipindahkan ke dalam buffer. Kemudian akan ada fungsi yang berguna untuk mengenkrip buffer yang akan menghasilkan sebuah ciphertext yang berbentuk bilangan heksadesimal.

B. Implementasi Embedding GifShuffle

Pada implementasi embedding GifShuffle terdapat sebuah fungsi yang menerima masukan yang merupakan chipertext. Kemudian masukan tersebut akan diubah kedalam bentuk biner yang selanjutnya akan diubah kedalam bentuk integer. Kemudian fungsi ini akan menghitung jumlah warna yang terdapat pada gambar. Selanjutnya adalah mencari posisi

colormap yang baru untuk menyisipkan pesan kedalam

gambar. Jika posisi baru telah didapatkan maka colormap yang baru akan menggantikan colormap gambar sehingga akan didapatkan sebuah gambar yang berisi pesan.

C. Implementasi Ekstrasi GifShuffle

Implementasi ekstrasi GifShuffle lebih sederhana daripada proses embedding karena disini hanya mengambil colormap dari gambar yang telah berisi pesan dan mengembalikan nilai M seperti semula tanpa perlu mengembalikan posisi

colormap seperti semula. Dan ketika nilai M sudah

(4)

selanjutnya yaitu dekripsi Blowfish agar pesan dapat dibaca kembali.

D. Implementasi Dekripsi Blowfish

Implementasi Dekripsi Blowfish memiliki proses yang sama dengan proses Enkripsi hanya dibalik saja. Setelah melalui proses ini maka pesan akan dapat dibaca kembali.

V. UJICOBADANEVALUASI

A. Uji Coba Fungsionalitas

Uji coba Fungsionalitas ini memastikan fitur yang ada pada aplikasi telah berjalan sesuai dengan use case yang telah dijelaskan sebelumnya pada Gambar 4. Gambar 5 menunjukan aplikasi berjalan sesuai dengan rancangan yang telah dirancang sebelumnya.

Gambar 5 Uji Coba Fungsionalitas

B. Uji Coba Skenario dan Performa

Uji coba skenario dan performa dilakukan dengan berbagai macam kondisi dan gambar, untuk mengetahui faktor apa saja yang mempengaruhi proses enkripsi dan dekripsi, dan untuk mengetahui seberapa cepat proses enkripsi dan dekripsi dilakukan. Untuk melakukan uji coba performa ini diperlukan fungsi tambahan System.currentTimeMillis() yang diletakan pada setiap awal dan akhir fungsi enkripsi dan dekripsi. Pada skenario uji coba pesan yang digunakan sama yaitu “Ujian Tugas Akhir” yang akan menghasilkan ciphertext sebanyak 96 karakter. Uji coba pertama akan mencoba menyisipkan pesan kedalam gambar transparan proses enkripsi dan dekripsi berhasil.

Uji coba kedua selanjutnya akan mencoba menyisipkan sebuah pesan kedalam sebuah media gambar dengan ukuran 791 KB dengan resolusi 1024x1024, proses enkripsi dan dekripsi berhasil dilakukan. Skenario uji coba ketiga dilakukan dengan mencoba menyisipkan pesan kedalam sebuah gambar dengan ukuran dan resolusi yang kecil yaitu 69 bytes dan 10x10. Proses enkripsi dan dekripsi tidak berhasil karena pada gambar ini hanya memiliki 4 warna sehingga hanya bisa menyimpan pesan sebanyak faktorial 4 yaitu 24 karakter. Pada uji coba 4 mencoba memasukan gambar yang memiliki 256 warna proses enkripsi dan dekripsi berhasil dilakukan. Pada uji coba 5 dan 6 media

gambar yang digunakan untuk menyisipkan pesan sama tetapi yang berbeda adalah pesan yang akan dimasukan memiliki panjang yang berbeda, tujuanya adalah untuk mengerahui apakah panjang pesan yang dimasukan mempengaruhi kecepatan proses enkripsi dan dekripsi.

Hasil dari skenario ini ternyata panjang pesan mempengaruhi kecepatan proses enkripsi dan dekripsi semakin panjang pesan semakin lama waktu yang dibutuhkan. Pada skenario 7 akan mencoba menyisipkan pesan kedalam sebuah gambar animasi. Proses enkripsi dan dekripsi berhasil dilakukan tetapi hasilnya gambar bukan animasi lagi dan ukuranya berkurang. Pada uji coba 8 yang dilakukan adalah mencoba memasukan sebuah pesan kedalam sebuah gambar berukuran 69 bytes dengan resolusi 3x5. Proses enkripsi dan dekripsi berhasil dilakukan karena gambar ini memilik warna sebanyak 252 sehingga dapat menyimpan pesan sebanyak faktorial 252 karakter.

C. Uji Coba Akurasi

Uji coba akurasi ini bertujuan untuk mengetahui perubahan yang terjadi pada pesan maupun pada gambar yang digunakan sebagai media penyembunyian pesan. Pada uji coba kali ini akan membandingkan media gambar sebelum di enkripsi dan setelah di enkripsi dengan cara mencari nilai PSNR (Peak Signal to Noise Ratio). Adapun persamaan yang digunakan seperti pada persamaan (5.1)

PSNR = 10 log10 (

MSE

MAX

2

) desibel (5.1)

Adapun nilai Persamaan MSE (Mean Square Error) seperti pada persamaan (5.2)

MSE =

( ) ( )

Persamaan MSE membutuhkan 2 masukan citra, kemudian dicari nilainya. Setelah itu dihitung nilai PSNR. Nilai pembanding yang wajar adalah diatas 30 dB.

Tabel 1

Perbandingan Nilai PSNR

No Nama Jumlah

(5)

gambar ini hanya memiliki jumlah colormap 4, terlalu kecil untuk menyisipkan pesan. Gambar selanjutnya mona, airplane,animasi dan test juga berhasil melakukan proses enkripsi dengan menghasilkan nilai PSNR 17.88 dB, 26.84dB, 16.30 dB dan 28.70 dB.

VI. KESIMPULAN Kesimpulan dari tugas akhir ini adalah :

1. Pemanfaatan Algoritma Blowfish dan GifShuffle dengan menggunakan Java telah berhasil diimplementasikan.

2. Media gambar yang digunakan sebagai media penyimpanan tidak mengalami perubahan pada ukuran dan dimensi. Secara kasat mata terlihat mirip tetapi sebenarnya berbeda karena nilai PSNR tidak lebih besar dari 50dB.

3. Performa proses enkripsi dan dekripsi dipengaruhi oleh besarnya pesan yang akan disembunyikan dan besarnya ukuran media gambar yang digunakan untuk menyembunyikan pesan. Semakin besar pesan dan media gambar yang digunakan untuk menyembunyikan pesan, semakin lama waktu yang dibutuhkan.

4. Proses Dekripsi memiliki performa yang lebih cepat daripada proses enkripsi, hal ini dikarenakan pada proses dekripsi pada algoritma GifShuffle prosesnya lebih sederhana karena tidak perlu mengganti colormap yang baru dengan yang lama yang lebih diutamakan adalah pesan yang disembunyikan dapat dibaca kembali.

5. Setiap berkas GIF tidak selalu memiliki jumlah warna yang sama.

6. Banyaknya kapasitas yang dapat ditampung oleh berkas GIF tidak tergantung pada ukuran dan resolusi. Tetapi pada banyaknya jumlah colormap yang ada pada berkas GIF.

7. berkas dengan format GIF mengandung 256 colormap maka dapat disimpulkan bahwa total penyimpanan maksimum dari format ini adalah faktorial 256. 8. Tingkat keamanan sangat tinggi karena algoritma

Blowfish sampai saat ini masih belum ada yang

berhasil mematahkan dengan sempurna, ditambah dengan algoritma steganografi GifShuffle yang secara kasat mata terlihat mirip.

UCAPANTERIMAKASIH

Penulis T.M. mengucapkan terima kasih kepada Tuhan Yang Maha Esa, kedua orang tua dan keluarga penulis, dosen pembimbing, dosen dan kepala jurusan Teknik Informatika, kerabat dekat, serta berbagai pihak yang telah membantu penulis dalam menyelesaikan Tugas Akhir ini.

DAFTARPUSTAKA

[1] Ficklinger, M. (n.d.). What's In A GIF - Bit by Byte. Retrieved June 2012,

from www.matthewflickinger.com:

http://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp#loc al_color_table_block

[2] Ficklinger, M. (n.d.). What's In A GIF - LZW Image Data. Retrieved June

2012, from www.matthewflickinger.com:

http://www.matthewflickinger.com/lab/whatsinagif/lzw_image_data.asp

[3] Jamasoka, S. (2012). Perbandingan Steganografi pada Citra Graphic

Interchange Format Dengan Algoritma GifShuffle dan Metode Least Significant Bit.

[4] Kwan, M. (n.d.). The GifShuffle Home Page. Retrieved April 2012, from

darkside: http://www.darkside.com.au/gifshuffle/

[5] Penalosa, R. A. (2010). Steganografi Pada Citra dengan Format GIF

Menggunakan Algoritma GifShuffle.

[6] Stalling, W. (2011). Cryptography and Network Security. Boston: Prentice

hall.

[7] Stalling, W. (2011). Steganography. In W. Stalling, Cryptography and

Network Security (p. 57). Pretice hall.

[8] Stalling, W. (2011). Symmetric Cipher Model. In W. Stalling,

Cryptography and Network Security (p. 33). Prentice hall.

[9] Sutanto, C. A. (2010). Penggunaan Algoritma Blowfish dalam Kriptografi.

[10] Welstead, Stephen T. (1999). Fractal and wavelet image compression

Gambar

Gambar 1 Diagam Alur Algoritma Blowfish
Gambar 4 Use Case Sistem
Tabel 1 Perbandingan Nilai PSNR
gambar ini hanya memiliki jumlah colormap 4, terlalu kecil untuk menyisipkan pesan. Gambar selanjutnya mona, airplane,animasi dan test juga berhasil melakukan proses

Referensi

Dokumen terkait

Pada metode algoritma Rabin dan Rivest Shamir Adleman ( RSA ) proses enkripsi – dekripsi menggunakan dua buah kunci yaitu kunci public untuk proses enkripsi

Algoritma ini sangat cepat, dengan kecepatan enkripsi rata-rata 0,007785 dan dekripsi 0,006903 untuk gambar berformat JPEG dan memiliki ukuran piksel 384x384

Algoritma Blowfish memiliki keunikan dalam hal proses dekripsi, yaitu proses dekripsi dilakukan dengan urutan yang sama persis dengan proses enkripsi, hanya saja

IDEA merupakan algoritma simetris yang beroperasi pada sebuah blok pesan terbuka 64bit, menggunakan kunci yang sama 128 bit untuk proses enkripsi dan dekripsi..

Algoritma Blowfish memiliki keunikan dalam hal proses dekripsi, yaitu proses dekripsi dilakukan dengan urutan yang sama persis dengan proses enkripsi, hanya saja pada

Proses enkripsi dimulai dari algoritma elgamal kemudian dioperasikan sama mode operasi ECB dan menghasilkan chiperteks gambar, dan proses dekripsi dimulai dari

Algoritma simetris atau disebut juga algoritma kriptografi konvensional adalah algoritma yang menggunakan kunci untuk proses enkripsi sama dengan kunci untuk proses dekripsi.. Algoritma

Algoritma kriptografi berdasarkan jenis kunci yang digunakan • Algoritma simetris kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama • Algoritma