Aplikasi Pengamanan Data Menggunakan Kombinasi Algoritma Blowfish Dan Modified Least Significant BIT (MLSB)
BAB 2
LANDASAN TEORI
2.1 Steganografi
Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia didalam pesan lain
sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui (Munir, 2006). Kata
steganografi (steganography) berasal dari bahasa Yunani yaitu steganos yang artinya
tersembunyi atau terselubung dan graphien, yang artinya menulis, sehingga artinya
adalah menulis tulisan yang tersembunyi atau terselubung (Sellars, 1996).
2.1.1 Sejarah Steganografi
Kata steganografi berasal dari bahasa Yunani yang berarti tertutup atau tulisan
tersembunyi. Steganografi sudah dikenal sejak 440 SM. Catatan pertama tentang
steganografi ditulis oleh seoarang sejarawan Yunani, Herodotus. Herodotus
menyebutkan dua contoh steganografi di dalam “Histories of Heedotus”. Demeratus
mengirimkan peringatan akan serangan Yunani yang selanjutnya dengan menuliskan
pesan tersebut diatas sebuah papan kayu dan melapisinya dengan lilin. Papan lilin
sangat umum digunakan sebagai permukaan tulis yang dapat digunakan kembali,
terkadang digunakan untuk menulis cepat. Contoh kuno yang lainnya adalah Histiacus
yang mencukur kepala budak yang paling dipercayainya dan mentatokan sebuah pesan
diatasnya. Setelah rambutnya tumbuh pesan itu akan tersembunyi. Tujuannya adalah
untuk
mendesak
sebuah
pemberontakan
terhadap
Persia
(Sellars,
1996).
Universitas Sumatera Utara
6
Teknik steganografi yang lain adalah tinta yang tak terlihat. Teknik ini pertama
digunakan pada zaman Romawi kuno yaitu dengan menggunakan air sari buah jeruk,
urine atau susu sebagai tinta untuk menulis pesan. Cara membacanya adalah dengan
dipanaskan di atas nyala lilin, tinta yang sebelumnya tidak terlihat, ketika terkena
panas akan berangsur – angsur menjadi gelap, sehingga pesan dapat dibaca. Teknik ini
pernah digunakan pada Perang Dunia II.
Perang Dunia II adalah periode pengembangan teknik – teknik baru steganogafi.
Pada awal Perang Dunia II walaupun masih digunakan teknik tinta yang tak terlihat,
namun teknik – teknik baru mulai dikembangkan seperti menulis pesan rahasia ke
dalam kalimat lain yang tidak berhubungan langsung dengan isi pesan rahasia
tersebut, kemudian teknik menulis pesan rahasia ke dalam pita koreksi karbon mesin
ketik, dan juga teknik menggunakan pin berlubang untuk menandai kalimat terpilih
yang digunakan dalan pesan, teknik terakhir adalah microdots yang dikembangkan
oleh tentara Jerman pada akhir Perang Dunia II (Marry, 2012).
Dari contoh-contoh steganografi konvensional tesebut dapat dilihat bahwa semua
teknik steganografi konvensional berusaha merahasiakan komunikasi dengan cara
menyembunyikan pesan ataupun mengkamuflase pesan. Maka sesungguhnya prinsip
dasar dalam steganogafi lebih dikonsentrasikan pada kerahasiaan komunikasinya
bukan pada datanya (Jhonson, 1995).
Seiring dengan perkembangan teknologi terutama teknologi komputasi,
steganografi merambah juga ke media digital, walaupun steganografi dapat dikatakan
mempunyai hubungan erat dengan kriptografi, tetapi kedua metode ini sangat berbeda.
2.1.2. Kegunaan Steganografi
Seperti perangkat keamanan lainnya, steganografi dapat digunakan untuk berbabagai
macam alasan, beberapa diantaranya beberapa diantaranya untuk alasan yang baik,
namun dapat juga untuk alasan yang tidak baik. Untuk tujuan legitimasi dapat
digunakan pengamanan seperti citra dengan watermarking dengan alasan untuk
perlindungan copyright. Digital watermark (yang juga dikenal dengan finger printing,
yang dikhususkan untuk hal-hal menyangkut copyright) sangat mirip dengan
steganografi karena menggunakan metode penyembunyian dalam arsip, yang muncul
Universitas Sumatera Utara
7
sebagai bagian asli dari arsip tersebut dan tidak mudah dideteksi oleh kebanyakan
orang. Steganografi dapat digunakan sebagai tag-notes untuk citra online, untuk
menempelkan pesan ke dalam media file yang sudah tersedia di internet dan umumnya
diketahui khalayak umum.
Steganografi juga dapat digunakan untuk melakukan perawatan atas kerahasiaan
informasi yang berharga, untuk menjaga data tersebut dari kemungkinan sabotasi,
pencuri, atau dari pihak yang tidak berwenang. Sayangnya, steganografi juga dapat
digunakan untuk alasan yang ilegal. Sebagai contoh, jika seseorang telah mencuri
data, mereka dapat menyembunyikan arsip curian tersebut ke dalam arsip lain dan
mengirimkannya keluar tanpa menimbulkan kecurigaan siapapun karena tampak
seperti email atau arsip normal. Begitu pula dengan masalah terorisme, teknik
steganografi dapat digunakan oleh para teroris untuk menyamarkan komunikasi
mereka dari pihak luar (Marry, 2012).
2.1.3. Metode Steganografi
Metode-metode umum yang digunakan untuk menyembunyikan data dalam sebuah
digital images antara lain:
A. Least Significant Bit Insertion (LSB)
Metode ini adalah metode yang sangat popular dimana LSB dari setiap byte dalam
sebuah citra digunakan untuk menyimpan data rahasia (Gambar 2.1). Perubahan yang
dihasilkan terlalu kecil, sehingga sulit dikenali oleh mata manusia. Kekurangan dari
teknik ini adalah karena teknik ini menggunakan setiap pixel dalam sebuah citra,
format kompresi yang menjaga keutuhan data seperti bmp atau gif harus digunakan
sebagai citra. Apabila format kompresi yang tidak menjaga keutuhan data digunakan,
beberapa informasi tersembunyi dapat hilang (Rakhmat, 2010).
Universitas Sumatera Utara
8
Gambar 2.1 Least Significant Bit
B. Modified Least Significant Bit
Modified Least Significant Bit (MLSB) atau modifikasi dari Algoritma LSB
digunakan untuk meng-encodedata ke dalam media. MLSB menggunakan manipulasi
beberapa tingkat bit-bit dari data sebelum meng-encodedata tersebut (Zaher,
2011).Modifikasi data dengan algoritma MLSB dimana bit-bitdata yang seharusnya 1
byte memiliki nilai 8 bit ASCII code akan dimodifikasi menjadi 5 bit. Pada algoritma
ini setiap byte data direpresentasikan dalam 5 bit yang kemudian akan disisipkan ke
dalam media dengan teknik LSB (Zaher, 2011).
2.1.4 Rancangan Algoritma LSB pada citra digital
Secara garis besar jalannya aplikasi ini adalah terbagi dua proses utama yaitu hide
message atau penyisipan pesan dan extract message atau pendekteksian kembali pesan
yang tersembunyi.
Pada proses penyisipan pesan (embedding message) dimulai dengan memilih
gambar yang akan dijadikan cover object untuk menyisipkan dan menyembunyikan
pesan ke dalam gambar kemudian menentukan key file yang akan digunakan sebagai
password dalam proses extract dan menuliskan isi pesan text yang akan disisipkan
Universitas Sumatera Utara
9
kedalam gambar. Sedangkan pada proses pendeteksian pesan (extraction message)
dimulai dengan memilih file gambar atau covert object yang akan akan di extract dan
memasukan key file, yang hasil ekstraksi pesannya dapat disimpan pada satu file
tertentu yang dipilih.
2.2 Kriptografi
Keamanan suatu sistem kriptografi merupakan masalah yang paling fundamental.
Dengan menggunakan sistem standar terbuka, maka keamanan suatu sistem
kriptografi akan lebih mudah dan lebih cepat dianalisa. Mengingat kenyataan inilah
maka sekarang tidak digunakan lagi algoritma rahasia yang tidak diketahui tingkat
keamanannya.
Sebuah sistem kriptografi dirancang untuk menjaga pesan awal dari kemungkinan
dibaca oleh pihak-pihak yang tidak berwenang, yang secara umum dinamakan sebagai
penyerang (attacker). Tipe serangan paling umum terhadap suatu sistem kriptografi
adalah serangan kriptanalisis (cryptanalysis attack).
Secara umum kriptanalisis dapat didefinisikan sebagai sebuah studi mengenai
cipher, ciphertext atau cyrpto systems yang bertujuan menemukan kelemahan dalam
sistem penyandian, sehingga dimungkinkan untuk memperoleh pesan awal dari teks
cipher yang ada, tanpa perlu mengetahuikunci ataupun algoritma pembangun teks
cipher tersebut.
Sebuah algoritma kriptografi dapat dikatakan aman bila ia memenuhi syarat
berikut (Menezes, 1997):
1. Persamaan matematis yang menggambarkan operasi algoritma kriptografi
sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara
analisis.
2. Biaya untuk memecahkan cipherteks melampaui nilai informasi yang
terkandung di dalam teks cipher tersebut.
3. Waktu yang diperlukan untuk memecahkan teks cipher melampaui
lamanya waktu informasi tersebut harus dijaga kerahasiaannya.
Universitas Sumatera Utara
10
2.3 Algoritma Blowfish
2.3.1. Pengenalan Blowfish
Blowfish dikenal dengan nama lain "OpenPGP.Cipher.4" merupakan enkripsi yang
termasuk dalam golongan Symmetric Cryptosystem, metode enkripsinya mirip dengan
DES (DES-like Cipher) diciptakan oleh seorang Cryptanalyst bernama Bruce
Schneier Presiden perusahaan Counterpane Internet Security, Inc (Perusahaan
konsultan tentang kriptografi dan keamanan Komputer) dan dipublikasikan tahun
1994. Dibuat untuk digunakan pada komputer yang mempunyai microposesor besar
(32-bit keatas dengan cache data yang besar).
Blowfish dikembangkan untuk memenuhi kriteria desain yang cepat dalam
implementasinya dimana pada keadaan optimal dapat mencapai 26 clock cycle per
byte, kompak dimana dapat berjalan pada memori kurang dari 5 KB, sederhana dalam
algoritmanya sehingga mudah diketahui kesalahannya, dan keamanan yang variabel
dimana panjang kunci bervariasi (minimum 32 bit, maksimum 448 bit, Multiple 8 bit,
default 128 bit).Blowfish dioptimasikan untuk berbagai aplikasi dimana kunci tidak
sering berubah, seperti pada jaringan komunikasi atau enkripsi file secara otomatis.
Dalam pengimplementasiannya dalam komputer bermicroprosesor 32-bit dengan
cache data yang besar (Pentium dan Power PC) Blowfish terbukti jauh lebih cepat dari
DES. Tetapi Blowfish tidak cocok dengan aplikasi dengan perubahan kunci yang
sering atau sebagai fungsi hast satu arah seperti pada aplikasi packet switching.
Blowfish pun tidak dapat digunakan pada aplikasi kartu pintar (smart card) karena
memerlukan memori yang besar.
Blowfish termasuk dalam enkripsi block Cipher 64-bit dangan panjang kunci
yang bervariasi antara 32-bit sampai 448-bit.Algoritma Blowfish terdiri atas dua
bagian (Schneier, 1994):
1. Key-Expansion
Berfungsi merubah kunci (Minimum 32-bit, Maksimum 448-bit) menjadi
beberapa array subkunci (subkey) dengan total 4168 byte.
2. Enkripsi Data
Terdiri dari iterasi fungsi sederhana (Feistel Network) sebanyak 16 kali
putaran. Setiap putaran terdiri dari permutasi kunci-dependent dan substitusi
kunci- dan data-dependent. Semua operasi adalah penambahan (addition) dan
Universitas Sumatera Utara
11
XOR pada variabel 32-bit. Operasi tambahan lainnya hanyalah empat
penelusuran tabel (table lookup) array berindeks untuk setiap putaran.
Blowfish menggunakan subkunci yang besar. Kunci tersebut harus dihitung
sebelum enkripsi atau dekripsi data. Blowfish adalah algoritma yang menerapkan
jaringan Feistel (Feistel Network) yang terdiri dari 16 putaran. Input adalah elemen
64-bit,X. Untuk alur algoritma enkripsi dengan metoda Blowfish dijelaskan sebagai
berikut :
1. Bentuk inisial P-array sebanyak 18 buah (P1,P2,..............P18) masing-msing
bernilai 32-bit.
Array P terdiri dari delapan belas kunci 32-bit subkunci :
P1,P2,.......,P18
2. Bentuk S-box sebanyak 4 buah masing-masing bernilai 32-bit yang memiliki
masukan 256.
Empat 32-bit S-box masing-masing mempunyai 256 entri :
S1,0,S1,1,....................,S1,255
S2,0,S2,1,....................,S2,255
S3,0,S3,1,....................,S3,255
S4,0,S4,1,....................,S4,255
3. Plaintext yang akan dienkripsi diasumsikan sebagai masukan, Plaintext
tersebut diambil sebanyak 64-bit, dan apabila kurang dari 64-bit maka kita
tambahkan bitnya, supaya dalam operasi nanti sesuai dengan datanya.
4. Hasil pengambilan tadi dibagi 2, 32-bit pertama disebut XL, 32-bit yang kedua
disebut XR.
5. Selanjutnya lakukan operasi XL = XL xor Pi dan XR = F(XL) xor XR
6. Hasil dari operrasi diatas ditukar XL menjadi XR dan XR menjadi XL.
7. Lakukan sebanyak 16 kali, perulangan yang ke-16 lakukan lagi proses
penukaran XL dan XR.
8. Pada proses ke-17 lakukan operasi untuk XR = XR xor P17 dan XL = XL xor
P18.
9. Proses terakhir satukan kembali XL dan XR sehingga menjadi 64-bit kembali.
Sebelum melakukan enkripsi subkunci harus dihitung terlebih dahulu. Dihitung
dengan menggunakan algoritma Blowfis, metodenya adalah sebagai berikut:
Universitas Sumatera Utara
12
1. Pertama-tama inilialisasi P-array dan kemudian empat S-box secara berurutan
dengan string yang tetap. String ini terdiri atas digit hexadesimal dari Pi.
2. XOR P1 dengan 32-bit pertama kunci, XOR P2 dengan 32-bit kedua dari
kunci dan seterusnya untuk setiap bit dari kunci (sampai P18).Ulangi terhadap
bit kunci sampai seluruh P-array di XOR dengan bit kunci.
3. Enkrip semua string nol dengan algoritma Blowfish dengan menggunakan
subkunci seperti dijelaskan pada langkah (1) dan (2).
4. Ganti P1 dan P2 dengan keluaran dari langkah (3).
5. Enkrip keluaran dari langkah (3) dengan algoritma Blowfish dengan subkunci
yang sudah dimodifikasi.
6. Ganti P3 dan P4 dengan keluaran dari langkah (5).
7. Lanjutkan proses tersebut, ganti seluruh elemen dari P-array, kemudian seluruh
keempat S-box berurutan, dengan keluaran yang berubah secara kontiyu dari
algoritma Blowfish.
Total yang diperlukan adalah 521 iterasi untuk menghasilkan semua subkunci
yang dibutuhkan. Aplikasi kemudian dapat menyimpan subkunci ini dan tidak
membutuhkan langkah-langkah proses penurunan berulang kali, kecuali kunci yang
digunakan berubah. Untuk deskripsi sama persis dengan enkripsi, kecuali pada P-array
(P1,P2,........,P18) digunakan dengan urutan terbalik atau di inverskan.
S-box itu sendiri merupakan isi dari jaringan feistel atau disebut dengan fungsi
feistel (fungsi F). Fungsi F dapat dijabarkan sebagai berikut :
Bagi XL, menjadi empat bagian 8-bit :a,b,c dan d.
F(XL)=((S1, a+S2,bmod32)XOR S3,c)+S4,d mod 232
Seperti gambar 2.2, dan untuk flowchartnya dapat dilihat pada gambar 2.3.
Universitas Sumatera Utara
13
Gambar 2.2 Fungsi F dalam Blowfish
Gambar 2.3 FlowChart F Fungsi
Universitas Sumatera Utara
14
2.3.2 Keamanan Blowfish
Sampai saat ini algoritma Blowfish belum ditemukan kelemahan yang berarti hanya
adanya weak key dimana dua entri dari S-box mempunyai nilai yang sama. Belum ada
cara untuk mengecek weak key sebelum melakukan key expansion, tetapi hal ini tidak
berpengaruh terhadap hasil enkripsi.
Hasil enkripsi dengan algoritma Blowfish sangat tidak mungkin dan tidak praktis
untuk di terjemahkan tanpa bantuan kunci. Sampai kini belum ada Cryptanalysis yang
dapat membongkar pesan tanpa kunci yang enkripsi oleh Blowfish. Agar aman dari
pembongkaran pesan maka dalam algoritmanya harus menggunakan 16 putaran agar
pesan tersebut tidak dapat dibongkar.
Algoritma Blowfish pun dapat digabungkan dengan algoritma-algoritma enkripsi
yang lain dalam pengkripsian sebuah pesan untuk lebih menjamin isi dari pesan
tersebut.
2.4 Format File
Hampir semua file digital yang dapat digunakan dalam proses steganografi, tapi
format yang lebih cocok adalah formatfile dengan tikat redudansi yang tinggi.
Redudansi dapat diartikan sebagai bit dari objek yang memberikan selang yang jauh
lebih besar dari yang diperlukan untuk menggunakan dan menampilkan objek. Data
dengan tingkat redudansi yang sudah dikenal baik yaitu gambar dan file audio.
Gambar 2.4 Empat Kategori Utama Format File Steganografi
Dalam pengujian data setganografi dan proses enkripsi penulis hanya akan
mengambil sampel data .bmp dan penjelasannya berikut ini:
Merupakan format citra yang baku di lingkungan sistem Microsoft Windows
dan IBM OS/2.
Universitas Sumatera Utara
15
Kualitas BMP dianggap lebih baik dari format JPG/ JPEG dan GIF.
Format File Bitmap versi terbaru dari Microsoft Windows, setiap berkas/file
terdiri dari : header file, header bitmap, informasi palet, dan data bitmap.
Data bitmap diletakkan setelah informasi palet. Penyimpanan data bitmap di
dalam file berkas disusun terbalik dari bawah ke atas dalam bentuk matriks
yang berukuran Height x Width.
2.5. Kriptoanalisis dan Steganalisis
Steganalysis merupakan suatu teknik atau yang digunakan untuk mengungkapkan
keberadaan pesan tersembunyi atau tersamar dari steganografi. Steganalysis menjadi
suatu misteri tersendiri untuk dapat diketahui bagaimana teknik untuk melakukan
proses dekripsi atau pemecahan atau penemuan pesan tersebut. Terdapat beberapa
software yang dapat melakukan analisa adanya penggunaan teknik steganografi.
Dalam praktiknya cara pemecahan teknik apa yang digunakan dalam steganalysis
sendiri secara empirik berkisar diantara :
•
Menganalisa dari perubahan yang dilakukan terhadap meta data file tersebut.
•
Menganalisa dari ciri-ciri file telah menggunakan software tertentu untu
steganografi.
•
Membandingkan file asli, lalu dicariperbedaannya dan pola yang digunakan
sehingga dengan cara ini bukan saja dapat diketahui file telah mengalami
psoses steganografi dapat pula diketahui pesan yang disembunyikan.
Tetapi teknik steganalysis tidak dapat digunakan untuk mengetahui pesan yang
disembunyikan bila ternyata pesan tersebut mengalami kriptografi atau pengkodean
pesan lagi. Jadi cara yang baik untuk melakukan steganografi adalah dengan
melakukan asumsi bahwa orang akan tahu bahwa ada pesan yang disembunyikan
sehingga dilakukan pengamanan lagi dengan kriptografi. Gunakan teknik kriptografi
yang sudah teruji, apanila perlu dapat digunakan teknik enkripsi bertingkat.
Penggunaan steganografi khususnya digital watermarking biasanya digunakan
untuk menyimpan informasi yang rahasia. Karena ukuran pesan yang dapat disimpan
Universitas Sumatera Utara
16
menggunakan digital watermarking relatif kecil, maka informasi yang disimpan juga
sesuatu yang rahasia namun dalam ukuran kecil. Contoh penggunaannya adalah untuk
nomor PIN, nomor rekening, nomor kunci publik, dan sebagainya. Selain itu
penggunaan steganografi juga dapat digunakan untuk untuk memberikan tanda
copyright terhadap file gambar, audio (seperti mp3), dan video.
Dalam sudut pandang yang lebih negatif lagi kita bisa memandang steganografi
sebagai teknologi yang berdampak buruk bagi kehidupan masyarakat. Steganografi
tenyata digunakan juga untuk melakukan tindakan kriminal. Terdapat dugaan juga
bahwa steganografi digunakan oleh para teroris untuk menjalankan aksinya. Dengan
steganografi, peta, sasaran, dan rencana tindakan teroris disamarkan dalam situs-situs
jejaring sosial atau pada situs-situs jaringan internet lainnya. Makadari itu kelebihan
dari steganografi sangat disayangkan biladipakai untuk tujuan kejahatan. Tindakan
kejahatan lainnya yang mungkin difasilitasi oleh steganografi yaitu untuk perjudian,
penipuan, virus, dan lain-lain.
2.6 Penelitian Sebelumnya
N
o
1
Peneliti/Tahun
Esti Suryani/2008
.
Judul
Kombinasi
Keterangan
Pada proyek ini
Kriptografi Dengan
dilakukan penelitian yang
Hillcipher Dan
bertujuan untuk pengamanan
Steganografi Dengan
teks, dengan cara
Lsb Untuk Keamanan
mengkombinasi kriptografi
Data Teks
dan steganografi. Metode
yang digunakan adalah
kriptografi hillciper dan
menggunakan metode
stegonagrafi lsb.
2
.
Basuki
Rakhmat/2010
Steganografi
Penelitian ini bertujuan
menggunakan metode
membangun aplikasi yang
Least significant bit
menggabungkan algoritma
Universitas Sumatera Utara
17
dengan kombinasi
klasik vigenere dan
Algoritma kriptografi
algoritma modern rc4
vigenère dan rc4
sebagai metode kriptografi
dan mengintegrasikan
steganografi dalam
penyisipan gambar.
3
.
4
.
Shanty Erikawati
Implementasi
Peneltian ini menguji
Aryani
Algoritma Kriptografi
kemampuan algoitma
Tambunan/2010
Blowfish Untuk
blowfish sebagai
Keamanan Dokumen
pengamanan data untuk file
Pada Microsoft Office
teks.
Budi
Prasaetyo/2013
Kombinasi
Pada penelitian ini
Steganografi Bit
metode steganografi yang
Matching dan
digunakan dengan
Kriptografi Des untuk
melakukan pencocokan bit
Pengamanan Data
pesan pada bit msb citra,
sedangkan hasil indeks
posisi bit dienkripsi
menggunakan algoritma
kriptografi Data Encryption
Standard (DES)
5
.
Rian Arifin/2013
Implementasi
Penelitian ini
Kriptografi dan
menyandikan pesan teks
Steganografi
menggunkan algoritma
menggunakan
enkripsi RSA dan disisipkan
Algoritma RSA dan
kedalam covertext yang
Metode LSB
berupa file gambar 24 bit
dengan menggunakan
metode penyisipan LSB
Universitas Sumatera Utara
LANDASAN TEORI
2.1 Steganografi
Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia didalam pesan lain
sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui (Munir, 2006). Kata
steganografi (steganography) berasal dari bahasa Yunani yaitu steganos yang artinya
tersembunyi atau terselubung dan graphien, yang artinya menulis, sehingga artinya
adalah menulis tulisan yang tersembunyi atau terselubung (Sellars, 1996).
2.1.1 Sejarah Steganografi
Kata steganografi berasal dari bahasa Yunani yang berarti tertutup atau tulisan
tersembunyi. Steganografi sudah dikenal sejak 440 SM. Catatan pertama tentang
steganografi ditulis oleh seoarang sejarawan Yunani, Herodotus. Herodotus
menyebutkan dua contoh steganografi di dalam “Histories of Heedotus”. Demeratus
mengirimkan peringatan akan serangan Yunani yang selanjutnya dengan menuliskan
pesan tersebut diatas sebuah papan kayu dan melapisinya dengan lilin. Papan lilin
sangat umum digunakan sebagai permukaan tulis yang dapat digunakan kembali,
terkadang digunakan untuk menulis cepat. Contoh kuno yang lainnya adalah Histiacus
yang mencukur kepala budak yang paling dipercayainya dan mentatokan sebuah pesan
diatasnya. Setelah rambutnya tumbuh pesan itu akan tersembunyi. Tujuannya adalah
untuk
mendesak
sebuah
pemberontakan
terhadap
Persia
(Sellars,
1996).
Universitas Sumatera Utara
6
Teknik steganografi yang lain adalah tinta yang tak terlihat. Teknik ini pertama
digunakan pada zaman Romawi kuno yaitu dengan menggunakan air sari buah jeruk,
urine atau susu sebagai tinta untuk menulis pesan. Cara membacanya adalah dengan
dipanaskan di atas nyala lilin, tinta yang sebelumnya tidak terlihat, ketika terkena
panas akan berangsur – angsur menjadi gelap, sehingga pesan dapat dibaca. Teknik ini
pernah digunakan pada Perang Dunia II.
Perang Dunia II adalah periode pengembangan teknik – teknik baru steganogafi.
Pada awal Perang Dunia II walaupun masih digunakan teknik tinta yang tak terlihat,
namun teknik – teknik baru mulai dikembangkan seperti menulis pesan rahasia ke
dalam kalimat lain yang tidak berhubungan langsung dengan isi pesan rahasia
tersebut, kemudian teknik menulis pesan rahasia ke dalam pita koreksi karbon mesin
ketik, dan juga teknik menggunakan pin berlubang untuk menandai kalimat terpilih
yang digunakan dalan pesan, teknik terakhir adalah microdots yang dikembangkan
oleh tentara Jerman pada akhir Perang Dunia II (Marry, 2012).
Dari contoh-contoh steganografi konvensional tesebut dapat dilihat bahwa semua
teknik steganografi konvensional berusaha merahasiakan komunikasi dengan cara
menyembunyikan pesan ataupun mengkamuflase pesan. Maka sesungguhnya prinsip
dasar dalam steganogafi lebih dikonsentrasikan pada kerahasiaan komunikasinya
bukan pada datanya (Jhonson, 1995).
Seiring dengan perkembangan teknologi terutama teknologi komputasi,
steganografi merambah juga ke media digital, walaupun steganografi dapat dikatakan
mempunyai hubungan erat dengan kriptografi, tetapi kedua metode ini sangat berbeda.
2.1.2. Kegunaan Steganografi
Seperti perangkat keamanan lainnya, steganografi dapat digunakan untuk berbabagai
macam alasan, beberapa diantaranya beberapa diantaranya untuk alasan yang baik,
namun dapat juga untuk alasan yang tidak baik. Untuk tujuan legitimasi dapat
digunakan pengamanan seperti citra dengan watermarking dengan alasan untuk
perlindungan copyright. Digital watermark (yang juga dikenal dengan finger printing,
yang dikhususkan untuk hal-hal menyangkut copyright) sangat mirip dengan
steganografi karena menggunakan metode penyembunyian dalam arsip, yang muncul
Universitas Sumatera Utara
7
sebagai bagian asli dari arsip tersebut dan tidak mudah dideteksi oleh kebanyakan
orang. Steganografi dapat digunakan sebagai tag-notes untuk citra online, untuk
menempelkan pesan ke dalam media file yang sudah tersedia di internet dan umumnya
diketahui khalayak umum.
Steganografi juga dapat digunakan untuk melakukan perawatan atas kerahasiaan
informasi yang berharga, untuk menjaga data tersebut dari kemungkinan sabotasi,
pencuri, atau dari pihak yang tidak berwenang. Sayangnya, steganografi juga dapat
digunakan untuk alasan yang ilegal. Sebagai contoh, jika seseorang telah mencuri
data, mereka dapat menyembunyikan arsip curian tersebut ke dalam arsip lain dan
mengirimkannya keluar tanpa menimbulkan kecurigaan siapapun karena tampak
seperti email atau arsip normal. Begitu pula dengan masalah terorisme, teknik
steganografi dapat digunakan oleh para teroris untuk menyamarkan komunikasi
mereka dari pihak luar (Marry, 2012).
2.1.3. Metode Steganografi
Metode-metode umum yang digunakan untuk menyembunyikan data dalam sebuah
digital images antara lain:
A. Least Significant Bit Insertion (LSB)
Metode ini adalah metode yang sangat popular dimana LSB dari setiap byte dalam
sebuah citra digunakan untuk menyimpan data rahasia (Gambar 2.1). Perubahan yang
dihasilkan terlalu kecil, sehingga sulit dikenali oleh mata manusia. Kekurangan dari
teknik ini adalah karena teknik ini menggunakan setiap pixel dalam sebuah citra,
format kompresi yang menjaga keutuhan data seperti bmp atau gif harus digunakan
sebagai citra. Apabila format kompresi yang tidak menjaga keutuhan data digunakan,
beberapa informasi tersembunyi dapat hilang (Rakhmat, 2010).
Universitas Sumatera Utara
8
Gambar 2.1 Least Significant Bit
B. Modified Least Significant Bit
Modified Least Significant Bit (MLSB) atau modifikasi dari Algoritma LSB
digunakan untuk meng-encodedata ke dalam media. MLSB menggunakan manipulasi
beberapa tingkat bit-bit dari data sebelum meng-encodedata tersebut (Zaher,
2011).Modifikasi data dengan algoritma MLSB dimana bit-bitdata yang seharusnya 1
byte memiliki nilai 8 bit ASCII code akan dimodifikasi menjadi 5 bit. Pada algoritma
ini setiap byte data direpresentasikan dalam 5 bit yang kemudian akan disisipkan ke
dalam media dengan teknik LSB (Zaher, 2011).
2.1.4 Rancangan Algoritma LSB pada citra digital
Secara garis besar jalannya aplikasi ini adalah terbagi dua proses utama yaitu hide
message atau penyisipan pesan dan extract message atau pendekteksian kembali pesan
yang tersembunyi.
Pada proses penyisipan pesan (embedding message) dimulai dengan memilih
gambar yang akan dijadikan cover object untuk menyisipkan dan menyembunyikan
pesan ke dalam gambar kemudian menentukan key file yang akan digunakan sebagai
password dalam proses extract dan menuliskan isi pesan text yang akan disisipkan
Universitas Sumatera Utara
9
kedalam gambar. Sedangkan pada proses pendeteksian pesan (extraction message)
dimulai dengan memilih file gambar atau covert object yang akan akan di extract dan
memasukan key file, yang hasil ekstraksi pesannya dapat disimpan pada satu file
tertentu yang dipilih.
2.2 Kriptografi
Keamanan suatu sistem kriptografi merupakan masalah yang paling fundamental.
Dengan menggunakan sistem standar terbuka, maka keamanan suatu sistem
kriptografi akan lebih mudah dan lebih cepat dianalisa. Mengingat kenyataan inilah
maka sekarang tidak digunakan lagi algoritma rahasia yang tidak diketahui tingkat
keamanannya.
Sebuah sistem kriptografi dirancang untuk menjaga pesan awal dari kemungkinan
dibaca oleh pihak-pihak yang tidak berwenang, yang secara umum dinamakan sebagai
penyerang (attacker). Tipe serangan paling umum terhadap suatu sistem kriptografi
adalah serangan kriptanalisis (cryptanalysis attack).
Secara umum kriptanalisis dapat didefinisikan sebagai sebuah studi mengenai
cipher, ciphertext atau cyrpto systems yang bertujuan menemukan kelemahan dalam
sistem penyandian, sehingga dimungkinkan untuk memperoleh pesan awal dari teks
cipher yang ada, tanpa perlu mengetahuikunci ataupun algoritma pembangun teks
cipher tersebut.
Sebuah algoritma kriptografi dapat dikatakan aman bila ia memenuhi syarat
berikut (Menezes, 1997):
1. Persamaan matematis yang menggambarkan operasi algoritma kriptografi
sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara
analisis.
2. Biaya untuk memecahkan cipherteks melampaui nilai informasi yang
terkandung di dalam teks cipher tersebut.
3. Waktu yang diperlukan untuk memecahkan teks cipher melampaui
lamanya waktu informasi tersebut harus dijaga kerahasiaannya.
Universitas Sumatera Utara
10
2.3 Algoritma Blowfish
2.3.1. Pengenalan Blowfish
Blowfish dikenal dengan nama lain "OpenPGP.Cipher.4" merupakan enkripsi yang
termasuk dalam golongan Symmetric Cryptosystem, metode enkripsinya mirip dengan
DES (DES-like Cipher) diciptakan oleh seorang Cryptanalyst bernama Bruce
Schneier Presiden perusahaan Counterpane Internet Security, Inc (Perusahaan
konsultan tentang kriptografi dan keamanan Komputer) dan dipublikasikan tahun
1994. Dibuat untuk digunakan pada komputer yang mempunyai microposesor besar
(32-bit keatas dengan cache data yang besar).
Blowfish dikembangkan untuk memenuhi kriteria desain yang cepat dalam
implementasinya dimana pada keadaan optimal dapat mencapai 26 clock cycle per
byte, kompak dimana dapat berjalan pada memori kurang dari 5 KB, sederhana dalam
algoritmanya sehingga mudah diketahui kesalahannya, dan keamanan yang variabel
dimana panjang kunci bervariasi (minimum 32 bit, maksimum 448 bit, Multiple 8 bit,
default 128 bit).Blowfish dioptimasikan untuk berbagai aplikasi dimana kunci tidak
sering berubah, seperti pada jaringan komunikasi atau enkripsi file secara otomatis.
Dalam pengimplementasiannya dalam komputer bermicroprosesor 32-bit dengan
cache data yang besar (Pentium dan Power PC) Blowfish terbukti jauh lebih cepat dari
DES. Tetapi Blowfish tidak cocok dengan aplikasi dengan perubahan kunci yang
sering atau sebagai fungsi hast satu arah seperti pada aplikasi packet switching.
Blowfish pun tidak dapat digunakan pada aplikasi kartu pintar (smart card) karena
memerlukan memori yang besar.
Blowfish termasuk dalam enkripsi block Cipher 64-bit dangan panjang kunci
yang bervariasi antara 32-bit sampai 448-bit.Algoritma Blowfish terdiri atas dua
bagian (Schneier, 1994):
1. Key-Expansion
Berfungsi merubah kunci (Minimum 32-bit, Maksimum 448-bit) menjadi
beberapa array subkunci (subkey) dengan total 4168 byte.
2. Enkripsi Data
Terdiri dari iterasi fungsi sederhana (Feistel Network) sebanyak 16 kali
putaran. Setiap putaran terdiri dari permutasi kunci-dependent dan substitusi
kunci- dan data-dependent. Semua operasi adalah penambahan (addition) dan
Universitas Sumatera Utara
11
XOR pada variabel 32-bit. Operasi tambahan lainnya hanyalah empat
penelusuran tabel (table lookup) array berindeks untuk setiap putaran.
Blowfish menggunakan subkunci yang besar. Kunci tersebut harus dihitung
sebelum enkripsi atau dekripsi data. Blowfish adalah algoritma yang menerapkan
jaringan Feistel (Feistel Network) yang terdiri dari 16 putaran. Input adalah elemen
64-bit,X. Untuk alur algoritma enkripsi dengan metoda Blowfish dijelaskan sebagai
berikut :
1. Bentuk inisial P-array sebanyak 18 buah (P1,P2,..............P18) masing-msing
bernilai 32-bit.
Array P terdiri dari delapan belas kunci 32-bit subkunci :
P1,P2,.......,P18
2. Bentuk S-box sebanyak 4 buah masing-masing bernilai 32-bit yang memiliki
masukan 256.
Empat 32-bit S-box masing-masing mempunyai 256 entri :
S1,0,S1,1,....................,S1,255
S2,0,S2,1,....................,S2,255
S3,0,S3,1,....................,S3,255
S4,0,S4,1,....................,S4,255
3. Plaintext yang akan dienkripsi diasumsikan sebagai masukan, Plaintext
tersebut diambil sebanyak 64-bit, dan apabila kurang dari 64-bit maka kita
tambahkan bitnya, supaya dalam operasi nanti sesuai dengan datanya.
4. Hasil pengambilan tadi dibagi 2, 32-bit pertama disebut XL, 32-bit yang kedua
disebut XR.
5. Selanjutnya lakukan operasi XL = XL xor Pi dan XR = F(XL) xor XR
6. Hasil dari operrasi diatas ditukar XL menjadi XR dan XR menjadi XL.
7. Lakukan sebanyak 16 kali, perulangan yang ke-16 lakukan lagi proses
penukaran XL dan XR.
8. Pada proses ke-17 lakukan operasi untuk XR = XR xor P17 dan XL = XL xor
P18.
9. Proses terakhir satukan kembali XL dan XR sehingga menjadi 64-bit kembali.
Sebelum melakukan enkripsi subkunci harus dihitung terlebih dahulu. Dihitung
dengan menggunakan algoritma Blowfis, metodenya adalah sebagai berikut:
Universitas Sumatera Utara
12
1. Pertama-tama inilialisasi P-array dan kemudian empat S-box secara berurutan
dengan string yang tetap. String ini terdiri atas digit hexadesimal dari Pi.
2. XOR P1 dengan 32-bit pertama kunci, XOR P2 dengan 32-bit kedua dari
kunci dan seterusnya untuk setiap bit dari kunci (sampai P18).Ulangi terhadap
bit kunci sampai seluruh P-array di XOR dengan bit kunci.
3. Enkrip semua string nol dengan algoritma Blowfish dengan menggunakan
subkunci seperti dijelaskan pada langkah (1) dan (2).
4. Ganti P1 dan P2 dengan keluaran dari langkah (3).
5. Enkrip keluaran dari langkah (3) dengan algoritma Blowfish dengan subkunci
yang sudah dimodifikasi.
6. Ganti P3 dan P4 dengan keluaran dari langkah (5).
7. Lanjutkan proses tersebut, ganti seluruh elemen dari P-array, kemudian seluruh
keempat S-box berurutan, dengan keluaran yang berubah secara kontiyu dari
algoritma Blowfish.
Total yang diperlukan adalah 521 iterasi untuk menghasilkan semua subkunci
yang dibutuhkan. Aplikasi kemudian dapat menyimpan subkunci ini dan tidak
membutuhkan langkah-langkah proses penurunan berulang kali, kecuali kunci yang
digunakan berubah. Untuk deskripsi sama persis dengan enkripsi, kecuali pada P-array
(P1,P2,........,P18) digunakan dengan urutan terbalik atau di inverskan.
S-box itu sendiri merupakan isi dari jaringan feistel atau disebut dengan fungsi
feistel (fungsi F). Fungsi F dapat dijabarkan sebagai berikut :
Bagi XL, menjadi empat bagian 8-bit :a,b,c dan d.
F(XL)=((S1, a+S2,bmod32)XOR S3,c)+S4,d mod 232
Seperti gambar 2.2, dan untuk flowchartnya dapat dilihat pada gambar 2.3.
Universitas Sumatera Utara
13
Gambar 2.2 Fungsi F dalam Blowfish
Gambar 2.3 FlowChart F Fungsi
Universitas Sumatera Utara
14
2.3.2 Keamanan Blowfish
Sampai saat ini algoritma Blowfish belum ditemukan kelemahan yang berarti hanya
adanya weak key dimana dua entri dari S-box mempunyai nilai yang sama. Belum ada
cara untuk mengecek weak key sebelum melakukan key expansion, tetapi hal ini tidak
berpengaruh terhadap hasil enkripsi.
Hasil enkripsi dengan algoritma Blowfish sangat tidak mungkin dan tidak praktis
untuk di terjemahkan tanpa bantuan kunci. Sampai kini belum ada Cryptanalysis yang
dapat membongkar pesan tanpa kunci yang enkripsi oleh Blowfish. Agar aman dari
pembongkaran pesan maka dalam algoritmanya harus menggunakan 16 putaran agar
pesan tersebut tidak dapat dibongkar.
Algoritma Blowfish pun dapat digabungkan dengan algoritma-algoritma enkripsi
yang lain dalam pengkripsian sebuah pesan untuk lebih menjamin isi dari pesan
tersebut.
2.4 Format File
Hampir semua file digital yang dapat digunakan dalam proses steganografi, tapi
format yang lebih cocok adalah formatfile dengan tikat redudansi yang tinggi.
Redudansi dapat diartikan sebagai bit dari objek yang memberikan selang yang jauh
lebih besar dari yang diperlukan untuk menggunakan dan menampilkan objek. Data
dengan tingkat redudansi yang sudah dikenal baik yaitu gambar dan file audio.
Gambar 2.4 Empat Kategori Utama Format File Steganografi
Dalam pengujian data setganografi dan proses enkripsi penulis hanya akan
mengambil sampel data .bmp dan penjelasannya berikut ini:
Merupakan format citra yang baku di lingkungan sistem Microsoft Windows
dan IBM OS/2.
Universitas Sumatera Utara
15
Kualitas BMP dianggap lebih baik dari format JPG/ JPEG dan GIF.
Format File Bitmap versi terbaru dari Microsoft Windows, setiap berkas/file
terdiri dari : header file, header bitmap, informasi palet, dan data bitmap.
Data bitmap diletakkan setelah informasi palet. Penyimpanan data bitmap di
dalam file berkas disusun terbalik dari bawah ke atas dalam bentuk matriks
yang berukuran Height x Width.
2.5. Kriptoanalisis dan Steganalisis
Steganalysis merupakan suatu teknik atau yang digunakan untuk mengungkapkan
keberadaan pesan tersembunyi atau tersamar dari steganografi. Steganalysis menjadi
suatu misteri tersendiri untuk dapat diketahui bagaimana teknik untuk melakukan
proses dekripsi atau pemecahan atau penemuan pesan tersebut. Terdapat beberapa
software yang dapat melakukan analisa adanya penggunaan teknik steganografi.
Dalam praktiknya cara pemecahan teknik apa yang digunakan dalam steganalysis
sendiri secara empirik berkisar diantara :
•
Menganalisa dari perubahan yang dilakukan terhadap meta data file tersebut.
•
Menganalisa dari ciri-ciri file telah menggunakan software tertentu untu
steganografi.
•
Membandingkan file asli, lalu dicariperbedaannya dan pola yang digunakan
sehingga dengan cara ini bukan saja dapat diketahui file telah mengalami
psoses steganografi dapat pula diketahui pesan yang disembunyikan.
Tetapi teknik steganalysis tidak dapat digunakan untuk mengetahui pesan yang
disembunyikan bila ternyata pesan tersebut mengalami kriptografi atau pengkodean
pesan lagi. Jadi cara yang baik untuk melakukan steganografi adalah dengan
melakukan asumsi bahwa orang akan tahu bahwa ada pesan yang disembunyikan
sehingga dilakukan pengamanan lagi dengan kriptografi. Gunakan teknik kriptografi
yang sudah teruji, apanila perlu dapat digunakan teknik enkripsi bertingkat.
Penggunaan steganografi khususnya digital watermarking biasanya digunakan
untuk menyimpan informasi yang rahasia. Karena ukuran pesan yang dapat disimpan
Universitas Sumatera Utara
16
menggunakan digital watermarking relatif kecil, maka informasi yang disimpan juga
sesuatu yang rahasia namun dalam ukuran kecil. Contoh penggunaannya adalah untuk
nomor PIN, nomor rekening, nomor kunci publik, dan sebagainya. Selain itu
penggunaan steganografi juga dapat digunakan untuk untuk memberikan tanda
copyright terhadap file gambar, audio (seperti mp3), dan video.
Dalam sudut pandang yang lebih negatif lagi kita bisa memandang steganografi
sebagai teknologi yang berdampak buruk bagi kehidupan masyarakat. Steganografi
tenyata digunakan juga untuk melakukan tindakan kriminal. Terdapat dugaan juga
bahwa steganografi digunakan oleh para teroris untuk menjalankan aksinya. Dengan
steganografi, peta, sasaran, dan rencana tindakan teroris disamarkan dalam situs-situs
jejaring sosial atau pada situs-situs jaringan internet lainnya. Makadari itu kelebihan
dari steganografi sangat disayangkan biladipakai untuk tujuan kejahatan. Tindakan
kejahatan lainnya yang mungkin difasilitasi oleh steganografi yaitu untuk perjudian,
penipuan, virus, dan lain-lain.
2.6 Penelitian Sebelumnya
N
o
1
Peneliti/Tahun
Esti Suryani/2008
.
Judul
Kombinasi
Keterangan
Pada proyek ini
Kriptografi Dengan
dilakukan penelitian yang
Hillcipher Dan
bertujuan untuk pengamanan
Steganografi Dengan
teks, dengan cara
Lsb Untuk Keamanan
mengkombinasi kriptografi
Data Teks
dan steganografi. Metode
yang digunakan adalah
kriptografi hillciper dan
menggunakan metode
stegonagrafi lsb.
2
.
Basuki
Rakhmat/2010
Steganografi
Penelitian ini bertujuan
menggunakan metode
membangun aplikasi yang
Least significant bit
menggabungkan algoritma
Universitas Sumatera Utara
17
dengan kombinasi
klasik vigenere dan
Algoritma kriptografi
algoritma modern rc4
vigenère dan rc4
sebagai metode kriptografi
dan mengintegrasikan
steganografi dalam
penyisipan gambar.
3
.
4
.
Shanty Erikawati
Implementasi
Peneltian ini menguji
Aryani
Algoritma Kriptografi
kemampuan algoitma
Tambunan/2010
Blowfish Untuk
blowfish sebagai
Keamanan Dokumen
pengamanan data untuk file
Pada Microsoft Office
teks.
Budi
Prasaetyo/2013
Kombinasi
Pada penelitian ini
Steganografi Bit
metode steganografi yang
Matching dan
digunakan dengan
Kriptografi Des untuk
melakukan pencocokan bit
Pengamanan Data
pesan pada bit msb citra,
sedangkan hasil indeks
posisi bit dienkripsi
menggunakan algoritma
kriptografi Data Encryption
Standard (DES)
5
.
Rian Arifin/2013
Implementasi
Penelitian ini
Kriptografi dan
menyandikan pesan teks
Steganografi
menggunkan algoritma
menggunakan
enkripsi RSA dan disisipkan
Algoritma RSA dan
kedalam covertext yang
Metode LSB
berupa file gambar 24 bit
dengan menggunakan
metode penyisipan LSB
Universitas Sumatera Utara