T1 672008206 Full text

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

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

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.


1

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

`2

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 nonlinearitas. Pergeseran dua arah (ke kiri dan ke kanan) menyebabkan semua bit
kunci dan data bercampur secara berulang ulang.

`3


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

`4

00110011

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.

`5

Identifikasi Masalah dan Studi Literatur

Perancangan Sistem

Implementasi Sistem

Pengujian Sistem dan Analisi s 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.
Embedding

Pesan

Enkripsi
Pesan

Penyisipan
Pesan
Terenkripsi

Stego Image

Ekstraksi
Pesan
Terenkripsi

Dekripsi
Pesan

Pesan
Plain text

Kunci
Cover Image

Stego Image

Kunci
Extracting

Gambar 3 Desain Sistem

`6

Mulai

Mulai

Input pesan,
kunci enkripsi,
cover image

Input kunci
dekripsi, stego
image

Enkripsi Pesan

Ekstraksi cipher text di
bagian EOF stego
image

Sisipkan cipher text
pada EOF cover
image.

Dekripsi cipher text

Output stego
image

Output plain text
pesan

Selesai
Gambar 4 Proses Penyisipan

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

`7

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
nilai ascii

s

a

l

a

t

i

g

a

u

k

s

w

115

97

108

97

116

105

103

97

117

107

115

119

blok ke 1
hasil
padding

115

97

108

97

116

blok ke 2
105

103

97

117

107

115

Gambar 8 Contoh Hasil Pembentukan Blok

`8

119

0

0

0

0

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.
2.
3.
4.
5.

private static double Encrypt(uint[] v, uint[] k)
{
uint v0 = v[0], v1 = v[1], sum = 0, i;
uint delta = 0x9e3779b9;
uint k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];

`9

6.
7.
8.
9.
10.
11.
12.
13.
14. }

for (i = 0; i < 32; i++)
{
sum += delta;
v0 += ((v1 > 5) + k1);
v1 += ((v0 > 5) + k3);
}
v[0] = v0;
v[1] = v1;

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 > 5) + k3);
9.
v0 -= ((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
2
3
4
5
6
7
8
9
10

public static byte[] Embed(string coverImage, byte[] message)
{
byte[] data = File.ReadAllBytes(coverImage);
byte[] metaData = BitConverter.GetBytes(message.LongLength);
byte[] buffer = new byte[data.Length
+ message.Length
+ metaData.Length];
Array.Copy(data, buffer, data.Length);
Array.Copy(message, 0, buffer, data.Length, message.Length);

`10

11
12
13
14

Array.Copy(metaData, 0, buffer,
data.Length + message.Length, metaData.Length);
return buffer;
}

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
2
3
4
5
6
7
8
9
10
11
12
13

public static byte[] Extract(string coverImage)
{
byte[] data = File.ReadAllBytes(coverImage);
byte[] metaData = new byte[8];
Array.Copy(data, data.Length - 8, metaData, 0, metaData.Length);
long messageLength = BitConverter.ToInt64(metaData, 0);
byte[] message = new byte[messageLength];
Array.Copy(data,
data.Length - 8 - messageLength, message,
0, message.Length);
return message;
}

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.

`11

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
1
2
3
4
5

Gambar
K2i.bmp
K2i.bmp
K2i.bmp
K2i.bmp
K2i.bmp

Panjang Pesan pada EOF
100 KB
200 KB
1000 KB
2000 KB
10 MB

Penyisipan
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil

Ekstraksi
Berhasil
Berhasil
Berhasil
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

1
2
3
4
5
6
7
8
9
10

K2i.bmp
K2i.bmp
K2i.bmp
K2i.bmp
K2i.bmp
UKSW.bmp
UKSW.bmp
UKSW.bmp
UKSW.bmp
UKSW.bmp

Ukuran
File Cover
(byte)

Panjang Pesan
Plaintext
(byte)

1,080,054
1,080,054
1,080,054
1,080,054
1,080,054
1,126,854
1,126,854
1,126,854
1,126,854
1,126,854

4
8
13
16
21
4
8
14
16
22

`12

Panjang
Pesan
Ciphertext
(byte)
8
8
16
16
24
8
8
16
16
24

Ukuran
File Stego
(byte)
1,080,062
1,080,062
1,080,070
1,080,070
1,080,078
1,126,862
1,126,862
1,126,870
1,126,870
1,126,878

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 cipher text.
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://wwwusers.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

`13

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.

`14