pembuatan perangkat lunak penyimpanan data rahasia ... - LPPM

8 downloads 1302 Views 2MB Size Report
Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data… Jurnal SAINTIKOM. Vol. 10 / No. 3 / September 2011. 156 dalam bentuk pemalsuan.
PEMBUATAN PERANGKAT LUNAK PENYIMPANAN DATA RAHASIA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAPHY UNTUK MEDIA CITRA DIGITAL Sulindawaty Program Studi Sistem Informasi, STMIK Triguna Dharma [email protected]

ABSTRACT: Steganograhy is a technique to hide secret message or data in digital media therefore secret message or data is not known by other person, actually who knows the keys. On the process, steganography needs two properties i.e. carrier file (digital media) and secret data (message/file). Used steganography among others aim to protect copyright a product and to disguise existence secret data, therefore difficult to detected. Steganograhy can be as aftermath cryptography, but steganograhy unlike with cryptography. if in cryptography, the encoded (ciphertext) is permanent and still get looking, while in steganography, ciphertext can be hidden in order for the third party can not detect the existance. The hidden file dan message are encrypted by password using linear congruent method (LCM) dan least significant bit (LSB), therefore secret data that hidden can be revealed exactly the same as original data condition. Kata Kunci: Steganography, Cryptography, Encryption, Linear Congruent Method (LCM), Least Significant Bit (LSB)

A. PENDAHULUAN Sistem komunikasi data modern di berbagai sistem komputer, baik dalam bidang komersil, instansi pemerintahan, militer maupun bidang lainnya, diperlukan adanya usaha pengamanan data yang ketat. Salah satu hal yang kritis adalah komunikasi data dengan menggunakan satelit, teleks atau telepon. Dalam hal ini pembajakan oleh pihak ketiga secara fisik tidak dapat dihindarkan. Aspek-aspek ancaman pada komunikasi komputer mencakup aspek eksternal yang terdiri dari kejahatan dan serangan, serta aspek internal yang terdiri dari kerahasiaan data, privasi dan batasan hak akses. Berbagai bentuk serangan yang dapat terjadi dalam keamanan data meliputi pencegatan/pengambilan informasi (interruption), penyadapan (interception),

modifikasi/perusakan (modification/ tampering) dan pemalsuan (fabrication). Serangan dalam bentuk pencegatan/pengambilan informasi menimbulkan informasi terhenti dan rusak, sehingga informasi tidak sampai pada yang berhak, biasanya terjadi perusakan pada perangkat keras. Sedangkan serangan dalam bentuk penyadapan menyebabkan informasi diterima oleh orang yang tidak berhak (unauthorized) serta terjadinya penggandaan file/program (illicit copying). Selain itu terjadinya penyadapan paket informasi ( sniffing and wiretapping). Modifikasi/perusakan menyebabkan terjadinya penghentian atau terhambatnya aliran informasi sehingga informasi yang diterima berubah. Terjadinya perubahan hak cipta (copyright) merupakan serangan yang terjadi 155 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

dalam bentuk pemalsuan. Disini pemalsu mengasumsikan identitas pengirim atau membuat informasi palsu untuk penerima. Banyaknya kemungkinan gangguan dalam sistem komunikasi data, menjadikan keamanan sebagai bagian paling penting dan mengemuka, yang mencakup berbagai isu, seperti privasi/kerahasiaan (privacy/confidentiality), keutuhan (integrity) dan otentikasi (authentication). Privasi/kerahasiaan merupakan usaha untuk menjaga informasi dari orang yang tidak berhak mengakses dan lebih kearah data-data yang sifatnya pribadi, sedangkan confidentiality biasanya berhubungan dengan data yang diberikan kepihak lain untuk keperluan tertentu. Selain itu keutuhan juga digunakan untuk meyakinkan bahwa data yang dikirim tidak berubah/terganggu selama transmisi. Bagian terpenting adalah otentikasi yang merupakan proses verifikasi identitas dari pengguna pada akhir jalur komunikasi dalam pengiriman pesan. Dalam bidang keamanan komputer, steganografi merupakan salah satu cara yang menarik dan efektif dalam menyembunyikan pesan rahasia. Metode-metode untuk “memperlihatkan” pesan yang disembunyikan (disebut steganalysis) cukup banyak, tetapi yang sulit adalah menyadari digunakannya steganografi itu dan kunci yang diperlukan untuk ”membuka” pesan yang ada. Teknologi yang digunakan sederhana tetapi pelacakannya cukup sulit. Karenanya, steganografi masih digunakan dalam menjaga keamanan suatu informasi sampai sekarang.

B. TUJUAN Tujuan Penelitian ini adalah merancang suatu aplikasi untuk pengamanan data, yang memungkinkan terjadinya proses penyimpanan data hasil enkripsi dari sebuah citra digital dengan menggunakan teknik steganografi. Hasil dari penggabungan data berupa string dengan citra digital masih dapat ditampilkan (preview) pada sembarang aplikasi pengolah citra, dimana file masukan dan file keluaran nantinya memiliki jumlah bit yang sama persis, sehingga 156 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

file hasil penggabungan tersebut tidak mempengaruhi besaran dan kualitas data masukan maupun keluaran. Hal ini jauh lebih aman dalam proses pengiriman pesan rahasia melalui jaringan komputer karena sulitnya membedakan citra digital hasil penggabungan dengan citra digital standard.

C. STEGANOGRAFI Steganografi (steganography) adalah ilmu dan seni menyembunyikan pesan rahasia (hiding message) sedemikian sehingga keberadaan (eksistensi) pesan tidak terdeteksi oleh indera manusia. Bangsa Romawi mengenal steganografi dengan menggunakan tinta taktampak (invisible ink) untuk menuliskan pesan. Tinta tersebut dibuat dari campuran sari buah, susu, dan cuka. Jika tinta digunakan untuk menulis maka tulisannya tidak tampak. Tulisan di atas kertas dapat dibaca dengan cara memanaskan kertas tersebut. Steganografi merupakan salah satu cara untuk menyembunyikan pesan/data. Walaupun steganografi dapat dikatakan mempunyai hubungan yang erat dengan kriptografi, tapi metode ini sangat berbeda dengan kriptografi. Kriptografi mengacak pesan sehingga tidak dimengerti, sedangkan steganografi menyembunyikan pesan sehingga tidak terlihat. Pesan dalam cipherteks mungkin akan menimbulkan kecurigaan sedangkan pesan yang dibuat dengan steganografi tidak akan. Steganografi merupakan satu metode yang popular, dimana sesuatu pesan boleh dirahasiakan di dalam file-file lain yang mengandung teks, gambar, bahkan suara tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari file semula.

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

covertext hiddentext

Encoding (Embedding) key

covertext stegotext

Decoding (Extraction)

hiddentext

key

Gambar 1. Proses Penyisipan dan Ekstraksi dalam Steganografi

Gambar 1 merupakan gambar proses penyisipan dan ekstraksi dalam steganografi, dimana media yang telah disisipi disebut stegomessages (stegotext). Untuk proses penyembunyian data kedalam media disebut penyisipan (embedding) dan proses sebaliknya disebut ekstraksi. Penambahan kunci yang bersifat optional dimaksudkan untuk lebih meningkatkan keamanan. Dalam pembahasan ini, media yang digunakan untuk sistem steganografi yaitu citra digital. Pada bagian pengirim pesan (sender), dilakukan proses embedding yaitu proses penyisipan pesan dalam bentuk teks yang hendak dikirim secara rahasia ke dalam data image, dengan menggunakan kunci tertentu (key), sehingga dihasilkan data dengan pesan tersembunyi di dalamnya (stego). Di bagian penerima pesan (recipient), dilakukan proses extracting yaitu proses pengambilan pesan pada stego untuk memisahkan pesan rahasia dan data Image dengan menggunakan kunci yang sama seperti pada proses embedding sebelumnya. Jadi hanya orang yang tahu kunci ini saja yang dapat mengekstrak pesan rahasia tersebut.

Secara umum semakin banyaknya warna, maka akan diperlukan keamanan yang ketat atau tinggi dikarenakan bitmap memiliki area yang sangat luas dalam sebuah warna yang seharusnya dihindarkan. Dilihat dari kedalaman atau kejelasan dari sebuah warna, bitmap dapat mengambil sejumlah data tersembunyi dengan perbandingan sebagai berikut (ukuran ratio dari bitmap dalam byte = ukuran dari data yang disembunyikan) : 4 bit = 16 warna :4:1 8 bit = 256 warna :8:1 24 bit = 16.777.216 warna : 8 : 1 Manipulasi pada bitmap tidak dapat dikonvert atau diubah ke dalam bentuk format grafik yang lain karena data tersembunyi dalam file tersebut akan hilang. Format menggunakan metode komperesi yang lain (seperti JPEG) tidak dapat digunakan. Mengurangi ukuran dari file pembawa sangatlah penting untuk melakukan transmisi on-line, yaitu dengan menggunakan utilitas kompresi (seperti : ARZ, LZH, PKZIP, WinZip), dikarenakan kerja mereka tidak terlalu berat.

D. FILE PEMBAWA (BITMAP IMAGES) E. PERANCANGAN ALGORITMA File pembawa adalah yang digunakan oleh file stegano untuk menyembunyikan data yang dalam hal ini adalah plain text adalah File Bitmap. Yang paling penting dari kriteria ini adalah kedalaman warna (berapa banyak bit per pixel yang didefinisikan dari sebuah warna) sebagai berikut : 4 bit = 16 warna (16 gray scales). 8 bit = 256 warna (256 gray scales). 24 bit = 16.777.216 warna.

Dalam perancangan algoritma digunakan pendekatan terstruktur (structured approach). Pendekatan ini dilakukan dengan cara memecah–mecah suatu masalah yang besar dan rumit menjadi beberapa masalah yang lebih kecil dalam bentuk modul-modul sehingga menjadi cukup mudah ditangani. Suatu modul adalah kumpulan dari instruksi yang melakukan suatu fungsi dasar tertentu yang bersifat 157 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

independent. Setiap modul harus mewakili suatu bagian masalah inti tertentu dari keseluruhan masalah. Salah satu teknik pendekatan perancangan terstruktur yang paling terkenal adalah top-down design. Akan lebih realistis bila rancangan suatu program dimulai dari atas ke bawah (top down), yaitu dengan menentukan kebutuhan secara umum terlebih dahulu, memecahnya menjadi modul-modul yang lebih sederhana lagi dan seterusnya. Dengan pendekatan terstruktur diperoleh beberapa keuntungan dibandingkan dengan pendekatan secara tradisional, yaitu : 1. Kemampuan yang lebih untuk mempertemukan dengan kebutuhan pemakai secara keseluruhan.

2. Waktu dan biaya pembuatan perangkat lunak dapat lebih mudah diperhitungkan. 3. Memudahkan pengawasan dan pengendalian perangkat lunak. 4. Memperkecil kesalahan yang mungkin timbul selama pembuatan perangkat lunak. 5. Perencanaan ini bersifat fleksibel, karena tidak dipaksakan dari modul-modul, tetapi yang umum terlebih dahulu. 6. Merupakan pendekatan yang standard untuk perancangan/pembuatan program. Untuk algoritma umum perangkat lunak steganografi dapat dilihat pada gambar 2 di bawah ini :

Gambar 2. Algoritma Umum Perangkat Lunak

Tiap modul pada gambar 2 merupakan modul secara umum yang didalammya banyak terdapat sub modul yang memiliki fungsi lebih spesifik yang membangun keseluruhan program. Modul proses input data akan menggabungkan file image dan data pesan rahasia dengan fungsi stego menjadi suatu file image steganografi. Modul proses output data akan memisah kembali antara file citra digital dan data pesan rahasia pada suatu file image steganografi. Detail dari proses ini akan dijelaskan pada sub bahasan berikutnya.

158 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

F. PROSES STEGANOGRAFI PADA CITRA DIGITAL Pada modul utama perangkat lunak merupakan modul yang akan melingkupi modul lainnya secara keseluruhan, tempat pendeklarasian semua objek, variabel, user define type, constanta dan semua item data yang dipakai di dalam perangkat lunak.

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

Key

Key

Image

Image FE

^

F E- 1

Steganography

emb

Emb ^ Sender

Recipient

emb : Pesan sebelum melalui proses stego

Emb ^ : Pesan setelah melalui proses stego

Gambar 3. Diagram Proses Steganografi

Pada gambar 3 merupakan sebuah perangkat lunak steganografi umum dimana di bagian pengirim pesan (sender), dilakukan proses embedding (FE) pesan yang hendak dikirim secara rahasia (emb) ke dalam citra digital sebagai tempat meyimpannya (file image), dengan menggunakan kunci tertentu (key), sehingga dihasilkan data dengan pesan tersembunyi di dalamnya (stego).

START

INPUT FILE PEMBAWA

INPUT PESAN ( PLAIN TEXT ) BACA PESAN, HITUNG PESAN YANG DIMASUKKAN DAN HITUNG FILE PEMBAWA

IF FILE PEMBAWA> PESAN ?

G. PROSES EMBEDDING FUNCTION PADA CITRA DIGITAL Secara umum proses Embedding Function pada citra digital digambarkan dengan Flowchart pada gambar 4. Flowchart pada gambar 4 menunjukkan proses fungsi embedding pada teknik steganografi yang dalam hal ini dilakukan oleh bagian pengirim (sender). Dalam proses embedding pesan rahasia disisipkan ke file pembawa (citra digital), yang akan menghasilkan output file dalam bentuk stego.

N

Y EMBEDDING

N

EMBEDDING SUKSES ?

Y OUTPUT FILE DALAM BENTUK STEGO

END

Gambar 4. Flowchart Proses Embedding Function secara umum

Setelah proses embedding dilakukan maka di bagian penerima pesan (recipient), dilakukan proses extracting pada stego untuk memisahkan pesan rahasia (emb) dan data penyimpan (cover) tadi dengan menggunakan kunci yang sama seperti pada proses embedding tadi. Jadi hanya orang yang tahu kunci ini saja yang dapat mengekstrak pesan rahasia tadi. 159 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

Ke

Ke

Embeddin

Image

Image ^

) g Functio (FE

Bit (LSB). Linear Congruent Method digunakan untuk penentuan posisi penyembunyian data sedangkan Least Significant Bit sebagai teknik penyisipannya, dimana penyembunyiannya adalah sebagai berikut :

Extractin

1. Data disembunyikan dalam tiap piksel gambar dengan posisi acak yaitu dengan menggunakan Linear Congruent Method (LCM). 2. Satu piksel gambar menampung satu bit data yang disembunyikan. 3. Bit yang digunakan untuk menyembunyikan data adalah bit terkecil dari sebuah piksel (LSB: Least Significant Bit).

g Functio (FE-1)

Steganography

0010011 1110100 1100100 0010011 1100100 1110100 1100100 0010011 1110100

001001 1 111010 0 110010 0 001001 0 110010 0 111010 0 110010 0 001001 1 1110100

Pesan Rahasia

Ekstrasi Pesan

Keterangan : Image^ : Image stego (telah disisipi data) : Input / Output : Proses Gambar 5. Diagram Proses Embedding dan Extracting

Gambar 5 merupakan diagram proses embedding function dimana setelah proses ekstraksi dilakukan dengan mengekstrak bit terkecil dari masing-masing piksel pada stego secara berurutan. Terlihat adanya perubahan bitbit pada setiap piksel. Perubahan bit-bit terkecil yang terjadi hanya 1 bit saja dari setiap piksel, dimana perubahan yang terjadi terlalu kecil untuk dapat terdeteksi oleh mata manusia, sehingga pesan dapat disembunyikan secara efektif.

I.

LINEAR CONGRUENT METHOD (LCM)

Linear Congruent Method (LCM) merupakan metode pembangkit bilangan acak yang banyak digunakan dalam program komputer. Linear Congruent Method digunakan untuk menentukan posisi penyembunyian data, dimana penempatan posisinya dilakukan secara acak. Algoritma LCM yang digunakan untuk menentukan posisi penyembunyian data secara acak dituliskan sebagai berikut : Public Sub LCM(ByRef X() As Integer, a As Integer, c As Integer, X0 As Integer, m As Integer, n As Integer) X(0) = X0 For i = 1 To n X(i) = a * (X(i - 1) + c) Mod m Next i End Sub

H. TEKNIK PENYEMBUNYIAN DATA PADA FILE CITRA DIGITAL (BITMAP) Teknik yang digunakan untuk menyembunyikan data dalam file gambar yaitu dengan menggabungkan teknik Linear Congruent Method (LCM) dan Least Significant 160 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Pada algoritma di atas, X0 merupakan variabel Bilangan acak ke-n, dimana a dan c sebagai konstanta LCM dan m sebagai batas maksimum bilangan acak. Salah satu sifat dari metode ini adalah terjadi pengulangan pada periode waktu tertentu atau setelah sekian kali pembangkitan.

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

Untuk mengatasi terjadinya pengulangan tersebut maka penentuan konstanta LCM (a, c dan m) sangat menentukan baik tidaknya bilangan acak yang diperoleh dalam arti memperoleh bilangan acak yang seakan-akan tidak terjadi pengulangan, dengan melakukan

beberapa pengujian. Perbandingan terjadinya pengulangan pada LCM dapat dilihat pada gambar 6 dan 7.

Gambar 6. Terjadinya Pengulangan Bilangan secara periodik pada LCM

Gambar 7. Tidak Terjadinya Pengulangan Secara Periodik pada LCM

161 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

Selain dengan penentuan konstanta LCM (a, c dan m), untuk memastikan pengulangan secara periodik tidak terjadi. maka dilakukan metode resuffle. Metode resuffle digunakan untuk memperaiki bilangan acak dari LCM dengan menghilangkan sifat periodik yang ada pada bilangan acak. Metode ini akan melakukan pergantian posisi pada bilangan acak dengan meng-update nilai bilangan acak pada posisi yang diganti. Perhatikan gambar di bawah ini :

a = 1;

c = 7;

m = 10 ;

0 = 3

dimana jika dilakukan perhitungan berdasarkan model linear, diperoleh :

1 = ( 1 ( 3 ) + 7 ) mod 10 =

0

 2 = ( 1 ( 0 ) + 7 ) mod 10 =

7

 3 = ( 1 ( 7 ) + 7 ) mod 10 =

4

4 = ( 1 ( 4 ) + 7 ) mod 10 =

1

 5 = ( 1 ( 1 ) + 7 ) mod 10

= 8

 6 = ( 1 ( 8 ) + 7 ) mod 10

= 5

 7 = ( 1 ( 5 ) + 7 ) mod 10

= 9

8 = ( 1 ( 9 ) + 7 ) mod 10

= 2

Maka bilangan acak yang dibangkitkan adalah : Gambar 8. Contoh Hasil Resuffle

0

Gambar 8 merupakan gambar hasil resuffle, dimana hasil resuffle tersebut menggunakan algoritma sebagai berikut : 1. Bangkitkan n bilangan acak ai [0,1] dengan LCM 2. Bangkitkan bilangan acak baru b [0,1] dengan LCM 3. Hitung k = n ×b 4. Hitung r = ak 5. Hitung ak = b 6. Ambil nilai r sebagai bilangan acak baru dan ulangi langkah 2. Berikut ini adalah ilustrasi penyembunyian huruf A dengan menggunakan teknik LCM : Misalnya, terdapat 4 piksel dari image 24 bit color yang akan digunakan untuk menyembunyikan huruf A (01000001) : ( ( ( (

01011010 01011010 01011011 01011010

01011011 01011011 01011010 01011011

01011011 ) 01011011 ) 01011010 ) 01011011 )

Untuk membangkitkan bilangan sebanyak 8 (delapan) kali, misalkan : 162 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

acak

7

4

1

8

5

9

2

yang akan digunakan untuk penentuan posisi penyembunyian karakter A, dimana : Posisi: 0

7

Karakter A:

J.

4 0

1 1

8 0

5 0

9 2 0

0

0 1

LEAST SIGNIFICANT BIT (LSB)

Dengan menggunakan teknik least significant bit, penyembunyian data dilakukan dengan mengganti bit-bit data di dalam segmen suatu data dengan bit-bit data rahasia. Teknik ini berguna untuk memperkuat teknik penyembunyian data, dimana bit yang berubah tidak mengubah warna pada image asli secara berarti. Lagipula, mata manusia tidak dapat membedakan perubahan yang sangat kecil. Setelah dilakukan proses penentuan posisi dengan menggunakan Linear Congruent Method maka teknik Least Significant Bit digunakan dalam penyisipan pada bit-bit terkecil dari masing-masing piksel, sehingga jika diinginkan untuk menyembunyikan karakter A (01000001) maka dihasilkan :

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

( ( ( (

01011010 01011010 01011011 01011010

01011010 01011010 01011010 01011011

01011010) 01011010) 01011010) 01011011)

Pada gambar 9, pada data yang sudah diisi karakter A dengan posisi acak, bit terkecil berisi kode huruf A yaitu 01000001 dan dapat dilihat bahwa hanya 4 bit saja yang perlu diubah untuk menyembunyikan karakter A ini. Perubahan pada bit terkecil tidak akan menimbulkan perubahan signifikan pada gambar, sehingga gambar tetap tampil dengan baik. Namun sekarang, gambar tersebut sudah dimuati oleh data lain.

Pada gambar 11 merupakan proses decode pesan, untuk mendapatkan kembali data yang telah disembunyikan dalam gambar, maka caranya adalah dengan mengambil bit terkecil dari setiap piksel, kemudian didecode kembali untuk mendapatkan data yang sebenarnya.

Gambar 9. Ilustrasi Penyimpanan Huruf A Dengan Teknik LCM dan LSB

Dengan asumsi bahwa satu data yang akan disembunyikan terdiri dari 8 bit, maka dengan cara ini, untuk menyembunyikan 100 karakter/data diperlukan gambar sebanyak 8 x 100 = 800 piksel. Sebuah gambar dengan ukuran 20x40 piksel akan bisa menyembunyikan data tersebut. Algoritma dari proses stego ini dapat digambarkan dengan flowchart pada gambar 10. Pada gambar 10 menunjukkan algoritma proses stego, dimana untuk menyisipkan pesan, bit-bit file pembawa harus lebih besar dari pesan. Setelah dilakukan proses embedding dengan teknik LCM dan LSB maka hasilnya akan disimpan dalam bentuk stego. Untuk proses decode pesan dapat dilihat pada gambar 11.

Gambar 10. Flowchart Proses Encoding

163 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

disembunyikan di dalam citra maksimum 196608/8 = 24576 byte. Ukuran data ini harus dikurangi dengan panjang nama berkas, karena penyembunyian data rahasia tidak hanya menyembunyikan isi data tersebut, tetapi juga nama berkasnya. Semakin besar data disembunyikan di dalam citra, semakin besar pula kemungkinan data tersebut rusak akibat manipulasi pada citra penampung. Teknik pengungkapan data yang disembunyikan di dalam citra dapat dibaca kembali dengan cara pengungkapan (extraction). Posisi byte yang menyimpan bit data dapat diketahui dari bilangan acak yang dibangkitkan oleh LCM. Karena algoritma yang digunakan menggunakan kunci pada proses enkripsi, maka kunci yang sama digunakan untuk membangkitkan bilangan acak. Bilangan acak yang dihasilkan sama dengan bilangan acak yang dipakai pada waktu penyembunyian data. Dengan demikian, bit-bit data rahasia yang bertaburan di dalam citra dapat dikumpulkan kembali.

L. PEMODELAN SISTEM DENGAN STATE DIAGRAM

Gambar 11. Flowchart Proses Decoding

K. UKURAN DATA YANG DISEMBUNYIKAN Ukuran data yang akan disembunyikan bergantung pada ukuran data penampung. Pada citra 8-bit yang berukuran 256 pixel terdapat 65536 pixel, setiap pixel berukuran 1 byte. Setelah diubah menjadi citra 24-bit, ukuran data bitmap menjadi 65536 3 = 196608 byte. Karena setiap byte hanya bisa menyembunyikan satu bit di LSB-nya, maka ukuran data yang akan 164 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

State diagram digunakan untuk menampilkan kontrol informasi, urutan kejadian, keadaan dan operasi yang berlaku pada sistem yang akan dirancang. Gambar 12 merupakan state diagram yang menggambarkan aktivitas sistem dari awal pemasukan data (input) hingga hingga hasil akhir (output) yang dihasilkan. Tampilan hasil yang dimaksudkan pada gambar 12 adalah tampilan data hasil stego.

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

Gambar 12. State Diagram Sistem Steganografi

M. IMPLEMENTASI PROSES STEGANOGRAFI Berdasarkan rancangan algoritma dan flowchart, dibuat tahap-tahap implementasi proses yang dibutuhkan sehingga tercapai tujuan yang diharapkan. Tahap ini dibagi dalam dua bagian yaitu : 1. Tahap embedding merupakan Tahap penyisipan informasi kedalam citra digital. Untuk membentuk tahap embedding diperlukan dua fungsi utama sehingga data yang diperoleh dapat disisipkan dalam file pembawa. Kedua fungsi tersebut terdiri atas : a. Fungsi Encode Message, digunakan untuk membaca karakter pesan rahasia dalam sebuah kotak teks sehingga karakter dari pesan tersebut

nantinya diubah menjadi bit-bit yang nantinya dapat disisipkan (embedded) ke dalam file pembawa. b. Fungsi Key, Digunakan sebagai kunci untuk proses enkripsi dan dekripsi. c. Fungsi Encode File, Digunakan untuk membaca file pesan rahasia sehingga file tersebut nantinya diubah menjadi bit-bit yang nantinya dapat disisipkan ke dalam file pembawa. 2. Tahap Extracting merupakan Tahap pengambilan informasi dari citra digital. Untuk membentuk tahap unhiding diperlukan fungsi yang berguna untuk mengambil kembali data yang telah disisipkan pada proses embedding di atas dalam keadaan utuh. Fungsi yang digunakan untuk melakukan tahap extracting yaitu : 165 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

a. Fungsi Decode Message, Fungsi ini berguna untuk mengambil isi pesan yang disisipkan ke dalam sebuah file pembawa dan ditampilkan ke dalam kotak teks. b. Fungsi Decode File, Fungsi ini berguna untuk mengambil file beserta isi file pesan rahasia yang disisipkan ke dalam sebuah file pembawa dan ditulis ke dalam harddisk. b. Gambar Telah Disisipi Pesan

N. IMPLEMENTASI TAHAP EMBEDDING Metode yang digunakan pada tahap embedding ini yaitu dengan menggabungkan teknik linier congruent method (LCM) dan least significant bit (LSB). Tujuan dari penggabungan kedua metode tersebut yaitu untuk lebih menjamin tingkat kerahasian suatu pesan, dikarenakan selain pesan/data disisipkan pada bit terkecil dari suatu piksel, penentuan posisinya secara acak yang kemudian di-resuffle untuk memastikan benar-benar acak, sehingga pesan/data lebih sulit untuk dideteksi, dibandingkan dengan menggunakan teknik LSB saja. Adapun hasil dari proses embedding, terjadinya perubahan pada bit terkecil, yang tidak menimbulkan perubahan signifikan pada gambar, sehingga gambar tetap tampil dengan baik. Namun sekarang, gambar tersebut sudah dimuati oleh pesan/data lain.

Gambar 13. Perbandingan Citra Asli Dengan Citra Yang Telah di-Embed

Pada gambar 13 tidak terlihat perbedaan antara citra yang telah mengalami proses embedding, dengan citra aslinya. Untuk dapat membuka pesan pada citra tersebut, maka harus dilakukan proses extracting.

O. IMPLEMENTASI TAHAP EXTRACTING Untuk membentuk tahap unhiding diperlukan fungsi yang berguna untuk mengambil kembali data yang telah disisipkan pada proses embedding di atas dalam keadaan utuh. Fungsi yang digunakan untuk melakukan tahap extracting yaitu : 1. Fungsi Decode Message Fungsi ini berguna untuk mengambil isi pesan yang disisipkan ke dalam sebuah file pembawa dan ditampilkan ke dalam kotak teks. 2. Fungsi Decode File Fungsi ini berguna untuk mengambil file beserta isi file pesan rahasia yang disisipkan ke dalam sebuah file pembawa dan ditulis ke dalam harddisk. Terjadiya pemisahan citra digital dengan pesan, akan ditampilkan dalam kotak teks dimana pesan sudah dapat dibaca seperti terlihat pada Gambar 14.

a.

Gambar Asli

166 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

~~~~~~~~

Rembulan tak terlihat lagi dimatamu Karena kabut telah menutupinya Tak lagi hatimu diselimuti kesejukan Karena api telah membakarnya Kebencian apa yang kau pelihara ? Tidakkah kau sadar, hidup cuma sementara sahabatku ….

Gambar 14. Pesan Yang Sudah Dipisahkan Dari Citra Digital

P. PENGUJIAN SISTEM STEGANOGRAFI Pengujian sistem steganografi ini dilakukan untuk mengetahui tingkat keberhasilan sistem dalam melakukan proses steganografi, apakah hasil sudah sesuai dengan yang diharapkan. Pengujian dilakukan pada file pembawa dalam format Bitmap 24 bit. Tujuan dari pengujian yang dilakukan sebagai berikut: 1. Menguji tingkat keberhasilan sistem dalam menyisipkan data rahasia pada suatu citra. 2. Menguji keberhasilan password sebagai kunci (key) untuk proses enkripsi dan dekripsi. 3. Mengetahui keberhasilan sistem dalam melakukan proses extracting yaitu mengambil data rahasia yang disisipkan, dengan memisahkan gambar dan data rahasia tersebut.

4. Menguji keberhasilan sistem terhadap hasil stego, dimana file masukan dan file hasil keluaran harus memiliki jumlah bit yang sama persis sehingga pesan tidak mempengaruhi besaran data masukan maupun keluaran. 5. Untuk mengetahui tampilan hasil sistem, dimana gambar maupun data rahasia tidak mengalami penurunan kualitas, dengan kata lain gambar maupun data rahasia harus sama persis dengan aslinya. Pengujian dilakukan pada keberhasilan proses embedding dalam menyisipkan suatu pesan maupun file (plaintext) melalui citra sebagai file pembawa. Setelah pengujian pada proses embedding untuk selanjutnya dilakukan pengujian untuk proses extracting untuk memisahkan file pembawa dengan pesan/file sehingga pesan/file akan tampil pada kotak teks, atau akan diambil untuk disimpan dilokasi yang diinginkan. Untuk melakukan pengujian proses Steganografi, langkah pertama yaitu memuat gambar terlebih dahulu kedalam program aplikasi. Gambar yang dibuka dapat berupa format apa saja, tetapi pada saat penyimpanan gambar hanya dapat disimpan dengan format bitmap saja.

Q. PENGUJIAN TAHAP EMBEDDING Pengujian tahap embedding dilakukan dilakukan terhadap beberapa gambar dan file (plaintext) untuk mengetahui tingkat keberhasilan tahap ini. Pengujian dilakukan terhadap fungsi encode message dan encode file. 1. Pengujian fungsi encode message Pada pengujian ini dilakukan penyisipan pesan dalam bentuk teks kedalam citra (file pembawa), yang dilakukan dengan langkahlangkah sebagai berikut : a. Proses Muat gambar bertujuan untuk mengambil file pembawa sebagai media penyisipan pesan yang akan dimasukkan. Sebagai contoh 167 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

pengambilan file pembawa dapat diilustrasikan pada gambar dibawah ini : Pada gambar 15 dapat dilihat file pembawa yang dipilih sebagai media penyisipan pesan yaitu dengan nama file “ulir”, tipe “Bitmap Image”, dengan dimensi 320x200 serta ukuran 187 KB. b. Memasukkan citra yang akan dijadikan sebagai file pembawa untuk pesan yang akan disisipkan. Sebagai contoh memasukkan gambar ke Picture box. Dapat dilihat pada gambar 16.

Gambar 15. Alamat File Untuk Memililih File Pembawa

Gambar 16. Hasil Proses Muat gambar

c. Setelah citra digital dimuat ke Picture box langkah selanjutnya adalah mengisi password, yang berfungsi sebagai pemberian kunci untuk pesan yang akan disisipkan. Tampilan Password pada gambar 17, akan digunakan sebagai key untuk membuka pesan nantinya pada tahap extracting. 168 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

~~~~~~~~ Gambar 17. Password

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

d. Langkah selanjutnya mengisi kotak teks, dimana nantinya pesan pada kotak teks akan disisipkan ke file pembawa. Seperti terlihat pada gambar 18.

2. Masukkan password, untuk melakukan proses enkripsi. 3. Dalam proses penyimpanan File, untuk melakukan fungsi encode file. Maka dilakukan pemilihan file yang akan disisipkan, seperti pada gambar 20 di bawah ini:

Steganograhy is a technique to hide secret message or data in digital media therefore secret message or data is not known by other person, actually who knows the keys. On the process, steganography needs two properties i.e. carrier file (digital media) and secret data (message/file). Used steganography among others aim to protect copyright a product and to disguise existence secret data, therefore difficult to detected. Steganograhy can be as

Gambar 18. Encode Message

e. Selanjutnya melakukan fungsi Encode Message dan melakukan proses penyimpanan pesan (gambar 19).

Gambar 20. Proses Pengambilan File Yang Akan Disisipkan Ke Gambar

Proses embedding telah selesai dilakukan. Untuk melihat hasil dari proses embedding tersebut dapat dilihat pada gambar 21.

Gambar 19. Proses Penyimpanan Gambar yang telah disisipi pesan

Gambar di atas merupakan proses penyimpanan gambar yang telah disisipi pesan, dimana dapat dilihat tipe penyimpanannya adalah bitmap. 2. Pengujian fungsi encode File Pada pengujian ini dilakukan penyisipan. Pengujian ini dilakukan dengan menyisipkan file (plaintext) ke dalam citra (file pembawa), yang dilakukan dengan langkah-langkah sebagai berikut: 1. Memuat Gambar Tahapan ini sama dengan pengujian pada fungsi encode message, sampai gambar muncul pada picture box.

Gambar 21. Hasil Proses Embedding

169 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

Gambar di atas merupakan gambar hasil dari proses embedding dimana gambar yang tampak adalah gambar yang telah disisipi oleh pesan rahasia.

R. PENGUJIAN TAHAP EXTRACTING Pengujian terhadap tahap extracting ini bertujuan untuk mengetahui keberhasilan pemisahan pesan maupun file terhadap citra. Pada ini dilakukan terhadap fungsi decode message dan decode file. 1. Pengujian fungsi decode message Langkah-langkah yang dilakukan dalam pengujian fungsi decode message adalah sebagai berikut : a. Klik tombol Muat Gambar. Seperti pada proses embedding fungsi muat gambar ditujukan untuk pengambilan citra digital sebagai file pembawa. Bedanya citra digital yang dimuat disini adalah citra yang telah di stego. b. Input password. Penginputan Password digunakan untuk proses dekripsi, dimana Password yang diinputkan pada tahapan ini harus sama dengan password yang digunakan pada tahap embedding sebelumnya. c. Selanjutnya adalah proses pengambilan Pesan. Jika pada citra digital tersebut telah disisipi pesan rahasia maka pesan yang tersimpan pada image tersebut akan ditampilkan pada kotak teks. Sebaliknya jika pada citra digital tersebut tidak mengandung pesan rahasia maka pada kotak teks akan muncul pesan “Gambar diatas tidak mengandung pesan rahasia, atau password anda salah”. Tidak tampilnya pesan pada kotak teks dapat juga disebabkan oleh kesalahan penginputan key.

170 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

~ ~~ ~ ~~ ~ ~

Gambar diatas tidak mengandung pesan rahasia Atau password anda salah !

Gambar 22. Citra Yang Belum Disisipi Pesan Rahasia atau Salah Penginputan Password

~ ~ ~ ~~ ~ ~ ~

Steganograhy is a technique to hide secret message or data in digital media therefore secret message or data is not known by other person, actually who knows the keys. On the process, steganography needs two properties Gambar 23. Hasil Proses Extracting

Pada gambar 22 merupakan citra digital yang belum disisipi pesan ataupun dapat juga sebuah citra dimana sudah disispi pesan tetapi

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

dengan key yang salah. Jika citra digital telah disisipi oleh pesan dengan key yang benar maka hasilnya dapat dilihat pada gambar 23. Gambar 23 menunjukkan hasil proses embedding, dimana pada gambar tersebut terlihat telah dilakukan proses extracting dengan menginputkan key (password) yang tepat. 2. Pengujian fungsi decode file Langkah-langkah yang dilakukan dalam pengujian fungsi decode file adalah sebagai berikut : a. Muat Gambar. b. Input password. c. Pengambilan Pesan. d. Menampilkan isi file yang disisipkan pada kotak teks. e. Dan lakukan pengambilan File. maka akan muncul kotak dialog seperti contoh pada gambar 24.

Gambar 24 merupakan gambar penyimpanan file yang diambil dari proses stego. Sebagai ilustrasi, file tersebut disimpan dengan nama Pesan3 dan disimpan di dekstop.

S. ANALISA HASIL PENGUJIAN SISTEM STEGANOGRAFI Dalam analisa hasil pengujian sistem steganografi, dilakukan terhadap sebuah file hasil keluaran yang di dalamnya terdapat file pesan rahasia yang dibandingkan dengan file pembawa yang asli dilakukan untuk mengetahui seberapa besar terjadinya perubahan file pembawa awal terhadap file hasil keluaran. Dalam pengujian ini digunakan sebuah file pembawa dan beberapa file pesan rahasia. Pengujian pertama akan dilakukan dengan dua file pembawa dan sebuah pesan rahasia sebanyak empat kali dengan perubahan jumlah karakter pada pesan rahasia. Sedangkan pada pengujian kedua menggunakan sebuah file pembawa dan file pesan rahasia yang memiliki ukuran dan nama file dengan jumlah karakter beda. 1.

Analisa hasil dengan perubahan jumlah karakter pesan rahasia Uji analisa ini menggunakan dua file pembawa dan empat macam masukan pesan rahasia dengan jumlah karakter yang berbeda sehingga dapat diketahui validasi hasil yang tercapai. Tabel 1 menunjukkan nilai yang diperoleh.

Gambar 24. Proses Penyimpanan file yang telah distego

Tabel 1. Tabel Uji Pada Suatu Citra Dengan Jumlah Karakter Berbeda File pembawa

Ukura n (KB)

Secret Message

Cat_mirror(*.bmp)

98,7

Pesan

Cat_Uji1

98,7

Pesan_Kesatu

Cat_mirror(*.bmp)

98,7

Pesan

Cat_Uji2

98,7

Pesan_Kedua

Red_rose(*.bmp)

187

Pesan

Red_rose_Uji1

187

Pesan_Ketiga

Red_rose(*.bmp)

187

Pesan

Red_rose _Uji2

187

Pesan_Keempat

Output

Ukuran Setelah di-embed (KB)

Extracting

171 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

2.

Analisa hasil dengan perubahan jumlah karakter pesan rahasia Uji analisa ini menggunakan sebuah file pembawa dan empat macam masukan file

rahasia dengan ukuran dan nama yang berbeda sehingga dapat diketahui validasi hasil yang tercapai. Tabel 2 menunjukkan nilai yang diperoleh.

Tabel 2. Tabel Uji Pada Suatu Citra Dengan Ukuran dan Nama File Berbeda

File pembawa

Ukuran (KB)

Secret File

Ukuran File (Byte)

Butterfly(*.bmp)

173

Pesan1.txt

361

Butterfly(*.bmp)

173

Pesan2.txt

395

Butterfly(*.bmp)

173

Pesan3.txt

436

Butterfly(*.bmp)

173

Pesan4.txt

467

Butterfly _Uji1 Butterfly _Uji2 Butterfly _Uji3 Butterfly _Uji4

Dari hasil uji pada tabel 1 dan tabel 2, citra keluaran sama sekali tidak mengalami perubahan ukuran dan kualitas. Selain itu, data rahasia serta file rahasia yang disembunyikan, ketika diekstraksi kembali data maupun file tersebut sama persis dengan data/file pada saat diinput. Hal ini menunjukkan bahwa



Ukuran Setelah di-embed (KB)

Output

173 173 173 173

 4 - 0)     4  

 100

172 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011

 100

4  100 4

Dimana arti dari hasil diatas menunjukkkan bahwa dari semua pengujian yang telah dilakukan, tingkat keberhasilannya adalah 100%.

Pesan1 (361 Byte) Pesan2 (395 Byte) Pesan3 (436 Byte) Pesan4 (467 Byte)

penyembunyian data maupun file dapat dilakukan dengan efektif dan efisien sesuai dengan tujuan yang diharapkan. Dengan memperhatikan hasil yang telah didapat dari kedua tabel diatas, keberhasilan perangkat lunak dalam menyisipkan dan mengembalikan data adalah sebesar:

 (J u m lah p e rco b a an ya n g d ilak u k an - J u m lah p e rco b aa n g ag a l)    J u m la h p e rco b a an ya n g d ilak u k a n  



Extracting

0

0

0

0

0

0

 100

0

0

Sulindawaty: Pembuatan Perangkat Lunak Penyimpanan Data…

T. SIMPULAN Dari hasil pembahasan serta pengujian sistem yang dilakukan, maka dapat disimpulkan beberapa hal antara lain: 1. Sistem steganografi yang dibuat digunakan untuk menyembunyikan pesan di dalam sebuah citra digital sedemikian rupa sehingga orang lain tidak menyadari ada sesuatu di dalam pesan tersebut. 2. Proses yang digunakan pada sistem steganografi ini terdiri dari proses embedding (penyisipan) dan extracting (pemisahan file pembawa dengan pesan untuk dapat mengambil pesan). 3. Metode yang digunakan yaitu dengan menggabungkan linier congruent method (LCM) dengan least significant bit (LSB), dimana dengan menggabungkan kedua metode tersebut dapat meningkatkan tingkat keamanan pesan/data yang disembunyikan dibandingkan jika hanya menggunakan metode LSB saja. 4. Penggunaan metode linier congruent method dilakukan dengan menempatkan posisi bit-bit dari pesan yang akan disisipkan secara acak. Hasil dari LCM di-resuffle agar posisi bit-bit yang dihasilkan benar-benar acak. Selanjutnya bit-bit tersebut disisipkan pada bit terendah dari setiap piksel, dengan menggunakan metode least significant bit. Berdasarkan hal tersebut, maka pastinya akan sulit sekali untuk mendeteksi adanya pesan terhadap suatu citra digital. 5. Algoritma dan flowchart yang telah dibuat dalam langkah awal pengerjaan dapat berjalan dengan baik sehingga informasi dapat disisipkan dan diambil kembali isinya dari suatu media citra digital, tanpa mengurangi kualitas dan keasliannnya.

6. File keluaran yang dihasilkan mengalami perubahan yang sangat kecil/rendah dikarenakan suatu piksel hanya diubah maximal sebanyak 1 bit. 7. Berdasarkan hasil uji yang telah dilakukan dapat dinyatakan bahwa file masukan dan file hasil keluaran memiliki jumlah bit yang sama persis, dimana artinya penyisipan pesan tidak mempengaruhi besaran data masukan maupun keluaran.

U. DAFTAR PUSTAKA Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi, Teori, Analisis dan Implementasi. Yogyakarta: ANDI Offset. ------. 2009. Keamanan Multimedia. Yogyakarta: ANDI Offset. ------. 2007. Computer Security. Yogyakarta: ANDI Offset. Kurniawan, Agus. 2008. Konsep dan Implementasi Cryptography dengan .Net. Jakarta: Dian Rakyat. Sitorus, Eryanto. 2003. Hacker dan Keamanan. Yogyakarta: Andi Offset. Simarmata, Janner. 2006. Pengamanan Sistem Komputer. Edisi I. Yogyakarta: ANDI. Thomas, Tom. 2005. Network Security First Step. Diterjemahkan oleh: Tim Penerjemah ANDI. Edisi I. Yogyakarta: ANDI. Wahana Komputer. 2003. Memahami Model Enkripsi dan Security Data. Yogyakarta: ANDI.

173 Jurnal SAINTIKOM Vol. 10 / No. 3 / September 2011