Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi...

21
Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang Dwi Satyo (672008206) Suprihadi, S.Si., M.Kom.. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga 2016

Transcript of Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi...

Page 1: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

Perancangan dan Implementasi Steganografi Citra

Digital dengan Algoritma EOF dan TEA Cipher

Artikel Ilmiah

Peneliti: Gilang Dwi Satyo (672008206)

Suprihadi, S.Si., M.Kom..

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

2016

Page 2: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

Perancangan dan Implementasi Steganografi Citra

Digital dengan Algoritma EOF dan TEA Cipher

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

untuk memperoleh gelar Sarjana Komputer

Peneliti: Gilang Dwi Satyo (672008206)

Suprihadi, S.Si., M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

2016

Page 3: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang
Page 4: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang
Page 5: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang
Page 6: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang
Page 7: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang
Page 8: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

1

1. Pendahuluan

Jaringan komputer dan internet mempermudah proses pertukaran

informasi. Masalah yang muncul adalah informasi yang dilewatkan pada jaringan

komputer adalah data plaintext. Hal ini beresiko ketika ada pihak lain yang

berhasil menyadap informasi ini, akan dapat dengan mudah membaca isi

informasi tersebut. Untuk mengamankan informasi yang dikirimkan, dapat

dilakukan dengan cara menyandikan informasi tersebut, menggunakan teknik

kriptografi, namun hal ini akan menimbulkan kecurigaan, karena informasi yang

dihasilkan dalam bentuk acak. Pengamanan informasi dapat dilakukan dengan

cara lain, yaitu menyembunyikan informasi tersebut ke dalam media yang tidak

menimbulkan kecurigaan, yang dikenal dengan teknik steganografi.

Steganografi merupakan suatu metode untuk merahasiakan pesan rahasia

di dalam file-file lain yang mengandung teks, image, bahkan suara tanpa

menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalm kualitas dan

struktur dari file semula [1]. Steganografi membutuhkan dua media yaitu media

penampung dan pesan rahasia. Media penampung yang umum digunakan adalah

gambar, suara, video, atau teks. Pesan yang disembunyikan dapat berupa artikel,

gambar, daftar barang, kode program, atau pesan lain.

Dalam penerapan teknik steganografi dipertimbangkan masalah ukuran

dari media penampung atau media tempat data pesan disembunyikan, karena hal

ini menentukan ukuran atau besar data pesan yang dapat disembunyikan. Jika data

pesan yang disembunyikan besar, maka akan membutuhkan lokasi yang lebih

banyak dalam media penampung, dimana hal ini dapat menyebabkan perubahan

yang besar pada media penampung, dan dapat menimbulkan kecurigaan adanya

data rahasia dalam media tersebut.

Keberhasilan suatu steganografi bergantung pada mencolok atau tidaknya

perubahan yang terjadi pada cover dan kemampuan algoritma yang digunakan

untuk menyembunyikan [2]. Untuk memperkecil perubahan, digunakan bit

terendah (LSB) pada tiap piksel citra digital, sebagai lokasi penyisipan informasi.

Kelemahan dari metode LSB adalah terdapatnya perubahan nilai piksel

pada cover. Jika terdapat 30 karakter pesan (1 karakter = 1 byte = 8 bit), maka

akan terjadi kemungkinan sampai dengan 160 (30x8) warna yang berubah yang

berubah, atau 10 piksel yang berubah (1 piksel terdapat 3 warna).

Berdasarkan latar belakang tersebut, maka dilakukan penelitian mengenai

steganografi pada citra digital dengan format BMP. Sasaran dari penelitian ini

adalah aplikasi yang dikembangkan dapat menyisipkan informasi dengan

kapasitas yang besar. Informasi yang dienkripsi terlebih dahulu dengan tujuan

untuk meningkatkan keamanan. Algoritma steganografi yang digunakan pada

penelitian ini adalah EOF, yang bekerja dengan cara menyisipkan informasi pada

akhir file cover. Algoritma EOF memiliki kelebihan daripada algoritma LSB

dalam hal kapasitas muatan. Algoritma EOF menyisipkan informasi lebih banyak

daripada LSB, karena tidak bergantung pada ukuran piksel cover. Algoritma EOF

juga tidak mengubah nilai piksel file cover, sehingga dapat menurunkan tingkat

kecurigaan. Algoritma kriptografi yang digunakan adalah TEA cipher, yang

dipilih karena ringan.

Page 9: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`2

2. Tinjauan Pustaka

Salah satu penelitian yang membahas tentang implementasi TEA adalah

penelitian yang dilakukan oleh Maggi [3]. Pada penelitian tersebut TEA

digunakan untuk mengamankan data chatting. Hal yang perlu menjadi perhatian

adalah, untuk beberapa layanan chatting, data percakapan yang dilewatkan di

internet tidak disandikan terlebih dahulu sehingga dapat memberikan celah

keamanan terhadap data percakapan. TEA cipher yang merupakan algoritma

enkripsi, dapat digunakan untuk menyandikan data percakapan yang dilewatkan di

internet. Pada penelitian tersebut dirancang dan diimplementasikan sebuah

kriptosistem, yang berupa aplikasi chatting terenkripsi. Aplikasi melakukan

enkripsi data percakapan sebelum dikirim, demikian juga sebaliknya, aplikasi

akan melakukan dekripsi terhadap pesan yang diterima. Hasil pengujian

menunjukkan bahwa kriptosistem yang dikembangkan mampu menyandikan

pesan tanpa memberikan tambahan waktu proses yang signifikan.

Penelitian yang membahas tentang steganografi terutama pada citra digital

adalah penelitian yang dilakukan oleh Amin [4]. Tujuan dari penelitian Amin

adalah menyembunyikan pesan berupa teks rahasia ke dalam citra digital true

colour 24 bit dalam format RGB (.PNG, .BMP). Metode yang digunakan untuk

menyisipkan pesan rahasia menggunakan metode LSB (Least Significant Bit)

dengan mengganti bit terakhir atau bit ke-8 dalam setiap komponen warna RGB.

Ujicoba yang dilakukan memberikan hasil bahwa pesan yang disembunyikan ke

dalam citra digital tidak mengurangi kualitas citra digital secara signifikan, dan

pesan yang telah disembunyikan dapat diekstrak kembali, sehingga pesan yang

dikirimkan dapat sampai dengan aman kepada penerima.

Penelitian Handoko dan Aripin [5] membahas mengenai keamanan data

menggunakan kriptografi algoritma Vigenere cipher dan steganografi dengan

metode end of file (EOF). Pada penelitian tersebut, file pesan yang akan

disisipkan, dienkripsi terlebih dahulu dengan algoritma Vigenere. Ciphertext yang

dihasilkan, kemudian disisipkan ke dalam file cover yang berupa file gambar

dengan format BMP. Hasil dari penelitian tersebut yaitu menghasilkan aplikasi

yang dapat menyembunyikan file dengan baik dan menutup kecurigaan dari pihak

lain.

Berdasarkan penelitian-penelitian tentang kriptografi dengan algoritma TEA

dan steganografi dengan algoritma EOF, maka dilakukan penelitian yang

menggabungkan kedua metode keamanan tersebut. Pada penelitian ini dirancang

dan diimplemetasikan steganografi pada citra digital dengan format BMP.

Informasi yang disisipkan adalah data teks (.txt), yang sebelumnya dienkripsi

terlebih dahulu dengan menggunakan algoritma TEA.

Perbedaan penelitian yang sekarang dengan penelitian-penelitian terdahulu

adalah sebagai berikut: (1) Berbeda dengan penelitian Maggi, algoritma TEA pada

penelitian ini digunakan untuk menyandikan data file teks; (2) Berbeda dengan

penelitian Amin, algoritma steganografi yang digunakan adalah EOF, bukan LSB.

Algoritma LSB memiliki kapasitas penyisipan yang terbatas (1 piksel menampung

Page 10: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`3

3 bit pesan). Algoritma LSB memiliki efek samping yaitu sekalipun tidak

signifikan, namun perubahan kualitas citra digital tetap terjadi.

Batasan masalah dalam penelitian ini adalah sebagai berikut: (1) Citra

digital digunakan sebagai cover adalah citra digital dengan format BMP; (2)

Algoritma TEA digunakan untuk mengekripsi dan mendekripsi data teks yang

disisipkan; (3) Algoritma EOF digunakan untuk menyisipkan pesan terenkripsi ke

dalam file cover.

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.

Kriptografi merupakan bagian dari suatu cabang ilmu matematika yang disebut

Cryptology. Dalam mengenkripsi dan mendekripsi data, kriptografi mebutuhkan

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 [4].

Tiny Encription Algorithm (TEA) merupakan algoritma penyandian block

cipher yang dirancang untuk penggunaan memori yang seminimal mungkin

dengan kecepatan proses yang maksimal. Algoritma sandi ini diciptakan oleh

David Wheeler dan Roger M. Needham dari Computer Laboratory, Cambridge

University, England pada bulan November 1994 [6].

TEA cipher menggunakan proses feistel network [7] yang menggunakan

operasi from mixed (orthogonal) kelompok aljabar dalam sistemnya. Dengan

menambahkan fungsi matematik berupa penambahan dan pengurangan sebagai

operator pembalik selain XOR. Hal ini dimaksudkan untuk menciptakan sifat non-

linearitas. Pergeseran dua arah (ke kiri dan ke kanan) menyebabkan semua bit

kunci dan data bercampur secara berulang ulang.

Page 11: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`4

Gambar 1 Dua Putaran Feistel pada TEA [8]

Gambar 1 menunjukkan struktur enkripsi TEA. Masukan untuk algoritma

enkripsi adalah blok plaintext dan sebuah kunci K. Plaintext adalah P = (kiri [0],

kanan [0]) dan teks cipher adalah C = (kiri [64], kanan [64]). Blok plaintext dibagi

menjadi dua bagian, kiri [0] dan kanan [0]. Tiap setengah bagian digunakan untuk

mengenkripsi setengah lainnya, lebih dari 64 putaran proses pengolahan yang

kemudian bergabung untuk menghasilkan blok teks cipher.

1. Setiap putaran i memiliki input kiri [i-1] dan kanan [i-1], yang berasal dari

putaran sebelumnya serta sub kunci K [i] berasal dari 128 bit keseluruhan K.

2. Kunci sub K [i] berbeda dari K dan dari satu sama lain.

3. Konstanta delta = (√5-1) * 231 = 9E779B9h, diturunkan dari golden number

ratio untuk memastikan bahwa sub kunci tidak redundan dan nilainya tidak

memiliki signifikansi kriptografi.

Fungsi Round yang digunakan sedikit berbeda dengan struktur Round pada

cipher Fiestel klasik. Sebagai operator penggabungan digunakan bilangan integer

modulus 223, bukan operator XOR.

Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam

pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui.

Steganografi berasal dari bahasa Yunani, yaitu “steganos” yang artinya “tulisan

tersembunyi (covered writing)” [9]. Steganografi yang dibahas adalah

penyembunyian data di dalam citra (image). Meskipun demikian, penyembunyian

data dapat juga dilakukan pada media berupa suara digital, teks, ataupun video.

Penyembunyian data rahasia ke dalam image akan mengubah kualitas image

tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah: 1)

Mutu citra penampung tidak jauh berubah. Setelah penambahan data rahasia, citra

hasil steganografi masih terlihat dengan baik. Pengamat tidak mengetahui kalau di

dalam citra tersebut terdapat data rahasia. Data yang disembunyikan harus tahan

terhadap manipulasi yang dilakukan pada citra penampung. Bila pada citra

dilakukan operasi pengolahan citra, maka data yang disembunyikan tidak rusak;

2) Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Dalam

penyembunyian pesan, steganografi menggunakan dua properti yaitu pesan

rahasia dan media penampung. Ada beberapa tipe media yang dapat digunakan

untuk menyisipkan pesan rahasia. Tipe media ini dapat berfungsi sebagai media

pembawa pesan rahasia, yang disebut dengan host message. Terdapat beberapa

media yang dapat digunakan sebagai media steganografi, media penampung

tersebut dapat berupa text, image, audio, atau video [10].

Cara paling mudah untuk menyembunyikan pesan adalah dengan

memanfaatkan Least Significant Bit (LSB). Jika digunakan image 24 bitcolor

sebagai cover, sebuah bit dari masing-masing komponen Red, Green, dan Blue,

dapat digunakan, sehingga tiga bit dapat disimpan pada setiap piksel. Sebuah

image 800 x 600 piksel dapat digunakan untuk menyembunyikan 1.440.000 bit

(180.000 bytes) data rahasia. Misalkan terdapat piksel-piksel dari image 24 bit

color, dapat dilihat bahwa bit-bit pesan rahasia mengubah bit-bit terakhir citra

gambar.

00111000 01010110 11000111 00110011

Page 12: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`5

Jika ada pesan rahasia yang memiliki nilai 1101, maka dihasilkan: 00111001 01010111 11000110 00110011

Teknik steganografi End Of File (EOF) merupakan salah satu teknik yang

digunakan dalam steganografi. Teknik ini digunakan dengan cara menambahkan

data atau pesan rahasia pada akhir file. Teknik ini dapat digunakan untuk

menambahkan data yang ukurannya sesuai dengan kebutuhan. Perhitungan kasar

ukuran file yang telah disisipkan data sama dengan ukuran file sebelum disisipkan

data ditambah ukuran data rahasia yang telah diubah menjadi encoding file. EOF

adalah suatu kode yang ditempatkan oleh komputer pada akhir suatu file, tepatnya

setelah byte informasi terakhir pada file tersebut [11] . Tanda EOF sangat berguna

pada transmisi dan penyimpanan data. File disimpan pada blok-blok, dan tanda

EOF membantu komputer untuk mengetahui apakah kapasitas penyimpan tersedia

untuk menyimpan file tersebut [12].

Microsoft .NET Framework merupakan sebuah perangkat lunak kerangka

kerja yang berjalan pada sistem operasi Microsoft Windows. Saat ini .NET

Framework umumnya telah terintegrasi dalam distribusi standar Windows (mulai

dari Windows Server 2003 dan versi-versi Windows yang lebih baru). Kerangka

kerja ini menyediakan sejumlah besar pustaka pemrograman komputer dan

mendukung beberapa bahasa pemrograman serta interoperabilitas yang baik

sehingga memungkinkan bahasa-bahasa tersebut berfungsi satu dengan lain dalam

pengembangan sistem. Berbeda halnya dengan tipikal aplikasi konvensional

umumnya, program yang ditulis dengan memanfaatkan .NET Framework berjalan

pada lingkungan perangkat lunak melalui Common Language Runtime, dan bukan

perangkat keras secara langsung. Hal ini memungkinkan aplikasi yang dibuat di

atas .NET secara teoritis dapat berjalan pada perangkat keras apapun yang

didukung oleh .NET Framework. Perangkat lunak ini adalah kunci penawaran

utama dari Microsoft, dan dimaksudkan untuk digunakan oleh sebagian besar

aplikasi-aplikasi baru yang dibuat untuk platform Windows [13]. Pada penelitian

ini, .NET Framework digunakan untuk membangun aplikasi deteksi kemiripan.

Beberapa pustaka pemrograman yang digunakan adalah pustaka untuk membuat

Graphical User Interface (GUI), dan pustaka pemrosesan gambar (Bitmap).

3. Metode dan Perancangan Sistem

Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang

terbagi dalam empat tahapan, yaitu: (1) Analisis kebutuhan dan pengumpulan

data, (2) Perancangan sistem, (3) Implementasi sistem yaitu Perancangan

aplikasi/program, dan (4) Pengujian sistem serta analisis hasil pengujian.

Page 13: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`6

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. Tahap kedua:

perancangan sistem yang meliputi perancangan proses deteksi kemiripan citra

digital; Tahap ketiga: perancangan 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.

PesanEnkripsi Pesan

Stego Image Ekstraksi Pesan

Terenkripsi

Dekripsi Pesan

Penyisipan Pesan

Terenkripsi

Embedding

Extracting

Cover Image

Kunci

Kunci

Stego Image

Pesan Plain text

Gambar 3 Desain Sistem

Page 14: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`7

Mulai

Selesai

Input pesan, kunci enkripsi,

cover image

Enkripsi Pesan

Sisipkan cipher text pada EOF cover

image.

Output stego image

Gambar 4 Proses Penyisipan

Mulai

Selesai

Input kunci dekripsi, stego

image

Ekstraksi cipher text di bagian EOF stego

image

Dekripsi cipher text

Output plain text pesan

Gambar 5 Proses Ekstraksi

Sistem yang dikembangkan, memiliki desain yang ditunjukkan pada

Gambar 3. Proses embedding (Gambar 4) memerlukan tiga input, yaitu pesan

yang akan disembunyikan, kunci enkripsi, dan cover image sebagai media

penyisipan. Output dari proses embedding adalah stego image. Proses extracting

(Gambar 5) memerlukan dua input, yaitu stego image dan kunci dekripsi. Output

dari proses extracting adalah pesan dalam bentuk plain text.

4. Hasil dan Pembahasan

Pada bagian ini dijelaskan tentang hasil penelitian yang telah dilakukan.

Aplikasi diimplementasikan dalam bentuk aplikasi desktop. Pengembangan

aplikasi dilakukan dengan menggunakan Visual Studio 2012 Express for Desktop.

Visual Studio 2012 Express for Desktop merupakan satu dari serangkaian produk

Microsoft yang dapat digunakan tanpa harus membayar lisensi. Di dalam Visual

Studio sudah termasuk kerangka kerja pemrograman .Net Framework 4.5. Pustaka

ini menyediakan pustaka-pustaka yang dapat digunakan untuk mengolah gambar,

mengolah byte pada file, dan lain sebagainya.

Page 15: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`8

Gambar 6 Form Embedding

Gambar 6 merupakan antarmuka yang digunakan oleh user untuk proses

embedding. Pada antarmuka tersebut kontrol untuk memilih gambar cover, file

pesan yang akan disisipkan, dan password yang digunakan untuk proses enkripsi.

Password dibatasi antara 1 sampai dengan 16 karakter (16 byte). Hal ini

dikarenakan panjang kunci yang digunakan oleh TEA adalah 16 byte. Jika kunci

yang digunakan kurang dari 16, maka akan dilakukan padding dengan nilai byte

0. Contoh jika kunci yang digunakan adalah “abc”, maka hasil paddingnya adalah

ditunjukkan pada Gambar 7.

kunci a b c

nilai ascii 97 98 99

hasil padding 97 98 99 0 0 0 0 0 0 0 0 0 0 0 0 0

Gambar 7 Contoh Padding Kunci

Pada form enkripsi, juga ditampilkan cipher text hasil proses enkripsi.

Panjang cipher text dapat berbeda dengan panjang plain text. Hal ini dikarenakan

TEA merupakan block cipher, dengan ukuran blok 64 bit (8 byte). Sehingga

ketika terdapat blok dengan ukuran kuran dari 8 byte, akan ditambahkan padding

nilai byte 0. Contoh jika plain text berisi “salatigauksw” maka hasil pembentukan

blok ditunjukkan pada Gambar 8.

plain text s a l a t i g a u k s w

nilai ascii 115 97 108 97 116 105 103 97 117 107 115 119

blok ke 1 blok ke 2

hasil padding

115 97 108 97 116 105 103 97 117 107 115 119 0 0 0 0

Gambar 8 Contoh Hasil Pembentukan Blok

Page 16: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`9

Berdasarkan hasil padding, maka panjang plain text semula adalah 12 byte,

menjadi panjang 16 bytes. Padding ini nanti akan dihapus pada waktu proses

dekripsi.

Gambar 9 Form Extracting

Form Extracting pada Gambar 9 digunakan untuk proses ekstraksi pesan

dari suatu stego image. Untuk bisa memperoleh pesan yang benar, diperlukan

kunci yang tepat. Jika kunci yang digunakan salah, maka program akan

memberikan output yang salah juga. Hal ini ditunjukkan pada Gambar 10.

Gambar 10 Proses Dekripsi Dengan Kunci yang Salah

Kode Program 1 Perintah untuk enkripsi TEA 1. private static double Encrypt(uint[] v, uint[] k)

2. {

3. uint v0 = v[0], v1 = v[1], sum = 0, i;

4. uint delta = 0x9e3779b9;

5. uint k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];

Page 17: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`10

6. for (i = 0; i < 32; i++)

7. {

8. sum += delta;

9. v0 += ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1);

10. v1 += ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);

11. }

12. v[0] = v0;

13. v[1] = v1;

14. }

Kode Program 1 merupakan perintah yang digunakan untuk melakukan

proses enkripsi dengan algoritma TEA. Masukan dari fungsi encrypt adalah

variabel v dan k (baris 1). Variabel v berisi plain text 64 bit, dan variabel k berisi

kunci 128 bit. Variabel delta (baris 4) merupakan konstanta yang merupakan

ketentuan dari desain TEA. Pada tengah proses enkripsi terdapat 32 kali putaran

yang merupakan inti dari proses enkripsi (baris 6-11). Hasil enkripsi ditampung

kembali ke dalam variabel v (baris 12-13).

Kode Program 2 Perintah untuk dekripsi TEA

1. private static double Decrypt(uint[] v, uint[] k)

2. {

3. uint v0 = v[0], v1 = v[1], sum = 0xC6EF3720, i;

4. uint delta = 0x9e3779b9;

5. uint k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];

6. for (i = 0; i < 32; i++)

7. {

8. v1 -= ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);

9. v0 -= ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1);

10. sum -= delta;

11. }

12. v[0] = v0;

13. v[1] = v1;

14. }

Kode Program 2 merupakan perintah yang digunakan untuk melakukan

proses dekripsi dengan algoritma TEA. Input dari fungsi encrypt adalah variabel v

dan k. Variabel v berisi cipher text 64 bit, dan variabel k berisi kunci 128 bit

(baris 1). Variabel delta (baris 4) merupakan konstanta yang merupakan

ketentuan dari desain TEA, dan variabel sum (baris 3) merupakan variabel yang

nilainya akan berkurang selama proses perputaran, sebesar nilai variabel delta.

Pada tengah proses enkripsi terdapat 32 kali putaran (baris 6-11) yang merupakan

inti dari proses dekripsi. Hasil dekripsi ditampung kembali ke dalam variabel v

(baris 12-13).

Kode Program 3 Perintah untuk Menyisipkan Pesan ke EOF file BMP

1 public static byte[] Embed(string coverImage, byte[] message)

2 {

3 byte[] data = File.ReadAllBytes(coverImage);

4 byte[] metaData = BitConverter.GetBytes(message.LongLength);

5 byte[] buffer = new byte[data.Length

6 + message.Length

7 + metaData.Length];

8

9 Array.Copy(data, buffer, data.Length);

10 Array.Copy(message, 0, buffer, data.Length, message.Length);

Page 18: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`11

11 Array.Copy(metaData, 0, buffer,

12 data.Length + message.Length, metaData.Length);

13 return buffer;

14 }

Kode Program 3 merupakan perintah untuk menyisipkan pesan ke dalam

EOF file BMP. Proses penyisipan bekerja dengan cara menggabungkan data file

cover (baris 9), ditambah data pesan (baris 10), dan terakhir adalah baris metadata

(baris 11). Metadata berarti informasi yang menjelaskan informasi yang lain.

Metadata tersebut berisi informasi yaitu panjang pesan yang disisipkan. Metadata

digunakan ketika proses dekripsi.

Kode Program 4 Perintah untuk Ekstraksi Pesan

1 public static byte[] Extract(string coverImage)

2 {

3 byte[] data = File.ReadAllBytes(coverImage);

4 byte[] metaData = new byte[8];

5 Array.Copy(data, data.Length - 8, metaData, 0, metaData.Length);

6 long messageLength = BitConverter.ToInt64(metaData, 0);

7 byte[] message = new byte[messageLength];

8 Array.Copy(data,

9 data.Length - 8 - messageLength, message,

10 0, message.Length);

11

12 return message;

13 }

Kode Program 4 merupakan perintah untuk mengekstraksi pesan yang

terdapat pada stego image. Langkah awal adalah membaca panjang pesan.

Informasi panjang pesan terdapat pada bagian paling akhir file, yaitu metadata

yang ikut disisipkan pada proses embedding (baris 5). Kemudian setelah diketahui

panjang pesan, diambil byte sesuai dengan nilai panjang pesan, dibagian akhir file

(baris 8).

Pada aplikasi yang dibuat, dilakukan beberapa pengujian. Pengujian yang

pertama adalah pengujian keamanan informasi. Pengujian ini bertujuan untuk

melihat apakah pesan yang disisipkan, benar-benar dalam format terenkripsi.

Untuk mengetahuinya digunakan software pembantu, yaitu HxD, yang merupakan

software untuk membaca byte file. Langkah pengujian yaitu dengan menyisipkan

pesan ke dalam file BMP kemudian melihat pesan yang disisipkan pada posisi

EOF. Pesan yang disisipkan adalah “salatigauksw”, jika diubah dalam nilai

ASCII, bentuk heksadesimal adalah 73 61 6C 61 74 69 67 61 75 6B 73 77.

Page 19: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`12

Gambar 9 File Cover Sebelum Disisipi

Gambar 10 File Cover Setelah Disisipi

Pada gambar 9, akhir file ditandai dengan 36 byte bernilai heksa “FF”,

dalam decimal yaitu 255. Setelah proses penyisipan, terdapat tambahan 18 byte. 8

byte paling akhir adalah (diberi tanda kotak merah), merupakan metadata

(metadata disini menggunakan format integer 8 byte). Meta data ini menjelaskan

panjang pesan, dalam hal ini adalah 10 00 00 00 00 00 00 00. .Net Framework

menyimpan nilai Int64 (integer 8 byte), dalam format terbalik (little-endian),

maka diterjemahkan menjadi 00 00 00 00 00 00 00 10 dalam heksa desimal. Nilai

tersebut berarti 10 heksa, yang berarti 16 desimal. 16 ini menjelaskan bahwa

terdapat 16 byte pesan yang disisipkan, tepat di depan metadata, yaitu CF 97 FE

FE 0C BF 58 1E 05 8F 8E 01 7B D3 4F 82. Nilai pesan ini tidak sama dengan

nilai plain text pesan, berarti yang disisipkan adalah nilai cipher text.

Pengujian kedua adalah pengujian kapasitas maksimal penyisipan. Hasil

pengujian ditunjukkan pada Tabel 1. Tabel 1 Pengujian Kapasitas

No Gambar Panjang Pesan pada EOF Penyisipan Ekstraksi

1 K2i.bmp 100 KB Berhasil Berhasil

2 K2i.bmp 200 KB Berhasil Berhasil

3 K2i.bmp 1000 KB Berhasil Berhasil

4 K2i.bmp 2000 KB Berhasil Berhasil

5 K2i.bmp 10 MB Berhasil Berhasil

Pengujian ketiga adalah pengujian perubahan ukuran. Pengujian ini

bermaksud untuk mengukur angka perubahan ukuran file cover akibat dari proses

penyisipan. Hasil pengujian ditunjukkan pada Tabel 2. Tabel 2 Pengujian Perubahan Ukuran

No Gambar

Ukuran

File Cover

(byte)

Panjang Pesan

Plaintext

(byte)

Panjang

Pesan

Ciphertext

(byte)

Ukuran

File Stego

(byte)

1 K2i.bmp 1,080,054 4 8 1,080,062

2 K2i.bmp 1,080,054 8 8 1,080,062

3 K2i.bmp 1,080,054 13 16 1,080,070

4 K2i.bmp 1,080,054 16 16 1,080,070

5 K2i.bmp 1,080,054 21 24 1,080,078

6 UKSW.bmp 1,126,854 4 8 1,126,862

7 UKSW.bmp 1,126,854 8 8 1,126,862

8 UKSW.bmp 1,126,854 14 16 1,126,870

9 UKSW.bmp 1,126,854 16 16 1,126,870

10 UKSW.bmp 1,126,854 22 24 1,126,878

Page 20: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`13

Berdasarkan hasil pengujian pada Tabel 2, diketahui bahwa panjang

ukuran file stego (hasil penyisipan), bertambah sebesar ukuran panjang pesan

ciphertext. Ukuran ciphertext diperoleh dari ukuran plaintext yang dibentuk dalam

ukuran blok sebesar kelipatan 8 byte.

5. Simpulan

Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka dapat

diambil kesimpulan sebagai berikut: (1) steganografi pada citra digital BMP dapat

dilakukan dengan menyisipkan informasi pada bagian akhir (EOF) file; (2) untuk

meningkatkan keamanan pesan yang disembunyikan, dilakukan proses enkripsi

pada pesan tersebut, sebelum disisipkan; (3) Kapasitas pesan yang disisipkan pada

cover image cukup besar, dan pesan yang disisipkan tidak mengubah nilai piksel

pada cover image. Perubahan ukuran stego image diperoleh dengan perhitungan

ukuran cover + ukuran ciphertext.

Saran yang dapat diberikan untuk penelitian dan pengembangan lebih lanjut

adalah pesan yang disisipkan, selain dienkripsi juga dapat dikompresi, sehingga

ukuran pesan menjadi lebih kecil.

6. Daftar Pustaka

[1]. Weiss, M. 2009. Principles of Steganography.

www.math.ucsd.edu/~crypto/Projects/MaxWeiss/steganography.pdf.

Diakses pada 13 Februari 2016.

[2]. Potdar, V. M. & Chang, E. 2004. Grey level modification steganography

for secret communication. In Industrial Informatics, 2004. INDIN’04. 2004

2nd IEEE International Conference on, pp. 223–228.

[3]. Maggi, G. R. & Ineke P 2013. Perancangan dan Implementasi

Kriptosistem Pada Aplikasi Chat Menggunakan Tiny Encryption Algorithm

(TEA). Fakultas Teknik Informatika Universitas Kristen Satya Wacana

[4]. Amin, M. M. 2015. Image Steganography dengan Metode Least Significant

Bit (LSB). CSRID Journal 6, 53–64.

[5]. PATRICIA, H. 2015. Teknik Keamanan Data Menggunakan Kriptografi

dengan Algoritma Vigenere Cipher dan Steganografi dengan Metode End

of File (EoF). Program Studi Teknik Informatika Fakultas Ilmu Komputer

Universitas Dian Nuswantoro

[6]. Wheeler, D. J. & Needham, R. M. 1994. TEA, a tiny encryption algorithm.

In Fast Software Encryption, pp. 363–366.

[7]. Feistel, H. 1973. Cryptography and Computer Privacy. Scientific

American. 228, 15–23. (doi:10.1038/scientificamerican0573-15)

[8]. Russell, M. D. 2004. Tinyness: An Overview of TEA and Related Ciphers.

https://web.archive.org/web/20070812222155/http://www-

users.cs.york.ac.uk/~matthew/TEA/. Diakses 12 Februari 2016 3.

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

[10]. Arusbusman, Y. R. 2007. Image Steganografi.

[11]. Wasino, Rahayu, T. P. & Setiawan 2012. Implementasi Steganografi

Page 21: Perancangan dan Implementasi Steganografi Citra Digital ......Perancangan dan Implementasi Steganografi Citra Digital dengan Algoritma EOF dan TEA Cipher Artikel Ilmiah Peneliti: Gilang

`14

Teknik End of File dengan Enkripsi Rijndael. Seminar Nasional Teknologi

Informasi dan Komunikasi 2012 (SENTIKA 2012)

[12]. Computer Hope 2016. EOF.

http://www.computerhope.com/jargon/e/eof.htm. Diakses 13 Februari

2016.

[13]. Microsoft 2015. Overview of the .NET Framework.

https://msdn.microsoft.com/id-id/library/zw4w595w(v=vs.110).aspx.

Diakses pada 4 November 2015.