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