Ariyus, Dony. Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi, Andi Offset, Yogyakarta, 2008
Bender, dkk., 1996, Techniques For Data Hiding, IBM Systems Journal.
Johnson, N.F., 1995, Steganography:Introduction, Purpose, and Structure, Center Of Secure Information Systems. George Mason University.
Kurniawan, J. 2004. Kriptografi Keamanan Internet dan Jaringan Komunikasi, Bandung : Penerbit Informatika.
Marry. 2012. Studi Dan Implementasi Penggabungan Steganografi Dan Kriptografi Metode End Of File (Eof) Dan Advanced Encryption Standard (Aes), Jakarta : Binus University
Menezes, A, VanOorschot, P, Vanstone, S. 1997. Handbook of Applied Cryptography. CRC Press, Inc.
Munir, R. 2004. Bahan Kuliah IF5054 Kriptografi. Departemen Teknik Informatika, Institut Teknologi Bandung
Rakhmat, Basuki. 2010. Steganografi menggunakan metode Least significant bit dengan kombinasi Algoritma kriptografi vigenère dan rc4, Yogyakarta: Program Studi Tekhnik Informatika, Universitas PGRI Yogyakarta
Schneier, Bruce. Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish)
Sellars, Duncan. 1996. “An Introduction to Steganography”. Jurnal ilmiah.
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Analisis sistem dibuat untuk mengurai suatu sistem dengan maksud mengindentifikasi dan mengevaluasi permasalahan-permasalahan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diperlukan dalam membangun sebuah sistem agar sistem yang akan dibangun dapat selesai sesuai dengan apa yang diharapkan.
Berikut adalah beberapa analisis yang dilakukan untuk membangun Aplikasi pengamanan data menggunakan kombinasi algoritma blowfis dan modified least significant bit (mlsb).
3.2 Algoritma Blowfish
3.2.1 Enkripsi Algoritma Blowfish
Blowfish menggunakan subkunci berukuran besar. Kunci-kunsi tersebut harus dikomputasikan pada saat awal, sebelum pengkomputasian enkripsi dan dekripsi data. Langkah-langkahnya adalah sebagai berikut:
1. Terdapat kotak permutasi (P-box) yang terdiri dari 18 buah 32 bit subkunci: P1, P2, P3, ... P18. P-box ini telah ditetapkan sejak awal, 4 buah P-box awal adalah sebagai berikut:
2. Xorkan P1 dengan 32 bit awal kunci, xorkan P2 dengan 32 bit berikutnya dari kunci, dan teruskan hingga seluruh panjang kunci telah terxorkan (kemungkinan sampai P14, 14x32 = 448, panjang maksimal kunci).
3. Terdapat 64 bit dengan isi kosong, bit-bit tersebut dimasukkan ke langkah 2. 4. Gantikan P1 dan P2 dengan keluaran dari langkah 3.
5. Enkripsikan keluaran langkah 3 dengan langkah 2 kembali, namun kali ini dengan subkunci yang berbeda (sebab langkah 2 menghasilkan subkunci baru). 6. Gantikan P3 dan P4 dengan keluaran dari langkah 5
7. Lakukan seterusnya hingga seluruh P-box teracak sempurna
8. Total keseluruhan, terdapat 521 iterasi untuk menghasilkan subkunci-subkunci yang dibutuhkan. Aplikasi hendaknya menyimpannya daripada menghasilkan ulang subkunci-subkunci tersebut.
Kunci- kunci yang digunakan antara lain terdiri dari, 18 buah 32-bit subkey yang tergabung dalam P-array (P1, P2, ..., P18). Selain itu, ada pula empat 32-bit S-box yang masing-masingnya memiliki 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.
Pada jaringan feistel, Blowfish memiliki 16 iterasi, masukannya adalah 64-bit elemen data, X. Untuk melakukan proses enkripsi:
Terakhir, gabungkan kembali XL dan XR untuk mendapatkan cipherteks.
Untuk lebih jelasnya, gambaran tahapan pada jaringan feistel yang digunakan Blowfish adalah seperti pada Gambar 3.1.
Gambar 3.1 Jaringan Feistel
Pada langkah kedua, telah dituliskan mengenai penggunaan fungsi F. Fungsi F adalah: Bagi XL menjadi empat bagian 8-bit: a,b,c dan d. F(XL) = ((S1,a + S2,b mod 232) XOR S3,c) + S4,d mod 232.
Gambar 3.2 Tahapan Fungsi F
Pada Algoritma Blowfish terdapat keunikan dalam hal proses dekripsinya, yaitu proses dekripsi dilakukan dengan urutan yang sama persis dengan proses enkripsi,
hanya saja pada proses dekripsi P1, P2, …, P18 digunakan dalam urutan yang terbalik.
3.2.2 Dekripsi Algoritma Blowfish
Dekripsi sama persis dengan enkripsi, kecuali P1, P2, . . . , P18 digunakan pada urutan yang terbalik. kecuali bahwa P1, P2,…, P18. Dekripsi untuk Blowfish bersifat maju kedepan. Mengakibatkan dekripsi bekerja dalam arah algoritma yang sama seperti halnya dengan enkripsi, namun sebagai masukannya adalah chipertext. Walaupun begitu, seperti yang diharapkan, sub-kunci yang digunakan dalam urutan terbalik.
Subkunci dihitung menggunakan algoritma Blowfish, metodanya adalah sebagai berikut:
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 Blowfiah 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, dan kemudian seluruh keempat S-box berurutan, dengan keluaran yang berubah secara kontinyu dari algoritma Blowfish
.
Gambar 3.3 Diagram Skema Dekripsi Algoritma Blowfish
3.3 Analisis Algoritma Modifoed Least Significant Bit (MLSB)
Modified Least Significant Bit (MLSB) atau modifikasi dari Algoritma LSB digunakan untuk meng-encode data 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. Penyisipan dilakukan dengan proses-proses sebagai berikut:
1. Proses mengubah data sebagai penyisip dengan kode ASCII. Misalnya data berupa
pesan “STEGO with 05 bits” yang jika diubah ke biner membutuhkan memori
sebesar 18 x 8 bit = 144 bit. Pada algoritma MLSB pesan di atas diubah menjadi ASCII (HEX) menjadi: 53h, 54h, 45h, 47h, 4fh, 20h,77h, 69h,74h, 68h, 20h, 30h, 35h, 20h, 62h, 69h,74h,73h. Kemudian dilakukan normalisasi dengan tabel Control Symbol seperti Tabel 3.1
Tabel 3.1. Control Symbol (Zaher, 2011)
Hex Representation Operation
1 Bh Define Small Letter
1 Ch Define Capital Letter
1 Dh Define Space
1 Eh Define Number
2. Baca data penyisip (ASCII) sampai tanda spasi (20h) yaitu 53, 54, 45, 47, 4f. 3. Semua nilai dikurangi dengan nilai terendah yaitu 40 menjdi 53-40= 13, 54-40=
14, 45-40= 05, 47-40 = 07, 4f-40 = f.
4. Data penyisip kelompok pertama adalah 1ch, 13h, 14h, 05h, 07h, 0f dimana 1ch adalah Control Symbol untuk huruf besar (capital).
5. Data penyisip kelompok ke dua adalah 77h, 69h,74h, 68h dikurangi dengan nilai terendah (60) menjadi 77-60= 17, 69-60= 09, 74-60= 14, 68-60= 08.
6. Data kelompok ke dua ini digabung dengan kelompok pertama dan diberi nilai Control Symbol 1dh (spasi) dan 1bh (huruf kecil) menjadi 1dh, 1bh, 17h, 09h, 14h, 08h.
7. Data kelompok ketiga adalah: 30h, 35h dikurangi dengan nilai terendah menjadi: 30-30= 0, 35-30= 05.
8. Data tersebut digabung dengan kelompok sebelumnya ditambah dengan Control Symbol 1dh (spasi), 1eh (nomor) menjadi 1dh, 1eh, 00h, 05h.
9. Data kelompok keempat adalah: 62h, 69h,74h,73h dikurangi dengan nilai terendah menjadi: 62-60= 02, 69-60= 09, 74-60= 14, 73-60= 13.
10. Data tersebut digabung dengan kelompok sebelumnya ditambah dengan Control Symbol 1bh (huruf kecil), menjadi idh, 1bh, 02h, 09h, 14h, 13h dan akhir data (1fh).
Jadi pesan menjadi:
1ch, 13h, 14h, 05h, 07h, 0fh, 1dh, 1bh, 17h, 09h, 14h, 08h, 1dh, 1eh, 00h, 05h, 1bh, 02h, 09h, 14h, 13h, 1fh
Pesan diatas membutuhkan 22 x 5 bit = 110 bit. Pesan di atas diubah menjadi biner:
11100, 10011, 10100, 00101, 00111, 01111, 11101, 11011, 10111, 01001, 10100, 01000, 11101, 11110, 00000, 00101, 11011, 00010, 01001, 10100, 10011, 11111.
Tabel 3.2. Contoh Media Cover
Data Media Cover di atas dikonversikan ke dalam biner menjadi seperti pada Tabel 3.3.
Tabel 3.3. Biner Media Cover
Penyisipan dilakukan pada setiap byte pada nilai biner paling belakang seperti pada Tabel 3.4.
Tabel 3.4. Sampel Biner Hasil Penyisipan
01010
Setelah penyisipan, representasi nilai Media Cover menjadi seperti pada Tabel 3.5.
Tabel 3.5. Nilai Hexa Media Hasil Penyisipan
53 49 47 46 28
3. Pisahkan 1 bit terakhir dari setiap stego media kemudian dikelompokkan menjadi 5 bit per blok.
4. Konversikan setiap blok kedalam ASCII (hexadecimal).
5. Blok pertama dibandingkan dengan Control Symbol untuk mendefenisikan jenis karakter berikutnya.
- Jika Control Symbol 1Bh maka setiap blok berikutnya yang bukan Control Symbol ditambah + 60
- Jika Control Symbol 1Ch maka setiap blok berikutnya yang bukan Control Symbol ditambah + 40
- Jika Control Symbol 1Eh maka setiap blok berikutnya yang bukan Control Symbol ditambah + 30
- Jika Control Symbol 1Dh maka menyatakan spasi
6. langkah ke 3 sampai ke 5 diulangi sampai ditemuakannya Control Symbolend of the text (1Fh).
7. Rekonstruksikan setiap blok data sebagai data penyisip.
Proses extraction pada stego media sebagaimana terlihat pada Tabel 3.6. Tabel 3.6. Stego Media
1. Pisahkan 1 bit terakhir dari setiap byte stego mediakemudian dikelompokkan menjadi 5 bit per blok seperti Tabel 3.7.
Tabel 3.7. Blok-Blok Pesan
11
2. Konversikan setiap blok kedalam ASCII (hexadecimal) menjadi: 1ch, 13h, 14h, 05h, 07h, 0fh
3. Blok pertama yaitu 1ch dibandingkan dengan Control Symbol yang merupakan menandakan huruf kapital maka setiap blok berikutnya yang bukan Control Symbol ditambah + 40 menjadi : 53h, 54h, 45h, 47h, 4fh
4. Data yang terakhir inilah kemudian direkonstruksi sebagai teks penyisip (embed) menjadi: S T E G O
3.4 Pemodelan Sistem
Pemodelan sistem bertujuan untuk memenuhi berbagai tuntutan untuk menhasilkan sebuah aplikasi pengamananan data yang baik. Pemodelan ini berupa flowchart, usecase, dan perencanaan interface sistem.
3.4.1 Flowchart Diagram
Gambar 3.4 Flowchart Dari Sistem Yang Di Bangun
3.4.2 Use Case Diagram
Simpan Gambar Hasil Enkripsi
Masukkan Kunci Pilih Gambar Pilih Pesan
Enkripsi
Dekripsi
Simpan File Hasil Enkripsi
Masukkan Kunci Pilih Gambar Hasil Enkripsi
User
Gambar 3.5 Use Case Diagram
Use case diagram sistem pengamanan data pada gambar 3.5 dapat dilihat masing-masing pengelompokkan tahapan dari proses enkripsi hingga proses dekripsi.
Tabel 3.8 Deskripsi Use Case Enkripsi
Nama Use
Case Enkripsi
Tujuan Proses penyisipan bit file teks ke dalam bit file image
Syarat
- Format file teks adalah plain text
- Ukuran file gambar haus lebih besar dari ukuran file teks
Aktor Utama
User :
1. Terdapat file teks
2. Terdapat file gambar sebagai wadah untuk peniyisipan 3. Mempunyai kata sandi yang akan digunakan sebagai
pengaman pesan rahasia
Deskripsi pengelompokan proses enkripsi yang menggambarkan pemilihan pesan rahasia yang akan dienkripsi berdasarkan use case diagram dari gambar 3.5 dapat dilihat pada tabel 3.9.
Tabel 3.9 Deskripsi Use Case Pilih Pesan
Nama Use
Case Pilih Pesan
Tujuan Untuk menginput file teks
Syarat
Sistem hanya bisa membaca file plain text
Aktor Utama
User :
1.Memilih pesan rahasia yang akan dienkripsi
Pengelompokkan proses pilih gambar yang merupakan wadah penyisipan pesan rahasia yang sudah dipilih, seperti tabel 3.10.
Tabel 3.10 Deskripsi Use Case Pilih Gambar
Nama Use
Case Pilih Gambar
Tujuan Untuk melakukan penyisipan gambar
Syarat
- Ukuran file gambar harus lebih besar dari ukuran pesan
Aktor Utama
User :
- User mengambil file gambar dari media penyimpanan - Sistem akan menampilkan keterangan gambar
Pada use case pilih kunci pengguna akan menginputkan kunci berupa karakter, seperti pada tabel 3.11.
Tabel 3.11 Deskripsi Use Case Masukkan Kunci
Nama Use
Case Masukkan Kunci
Tujuan Untuk menginput kata sandi
Syarat
Sistem meminta penginputan kata sandi
Aktor Utama
User :
Pada use case simpan gambar hasil enkripsi pengguna dapat menyimpan gambar yang telah dienkripsi. Deskripsi use case simpan gambar hasil enkripsi dapat dilihat pada tabel 3.12.
Tabel 3.12 Deskripsi Use Case Simpan Gambar Hasil Enkripsi
Nama Use
Case Simpan Gambar Hasil Enkripsi
Tujuan Untuk menyimpan gambar yang telah dienkripsi
Syarat
Sistem meminta user menginput nama file gambar yang akan disimpan
Aktor Utama
User :
Menginput nama file gambar yang akan disimpan.
Untuk proses dekripsi, hal yang dapat dilakukan oleh user adalah pilih gambar yang telah dienkripsi, masukkan kunci dan simpan file teks yang telah didekripsi. Deskripsi use case dekripsi dapat dilihat pada tabel 3.13.
Tabel 3.13 Deskripsi Use Case Dekripsi
Nama Use
Case Dekripsi
Tujuan Proses mengembalikan informasi teks yang disimpan didalam file gambar yang dienkripsi dalam bit file image
Syarat -Format file teks hasil dekripsi adalah plain text
- Ukuran file gambar harus lebih besar dari ukuran file teks Aktor Utama User :
-Mempunyai kata sandi yang akan digunakan sebagai pengaman pesan rahasia
Deskripsi use case proses pilih gambar hasil enkripsi yang telah disisip pesan rahasia yang sudah dipilih dapat dilihat pada tabel 3.14.
Tabel 3.14 Deskripsi Use Case Pilih Gambar Hasil Enkripsi
Nama Use
Case Pilih Gambar
Tujuan Untuk melakukan dekripsi file gambar yang telah dienkripsi
Syarat
- Ukuran file gambar harus lebih besar dari ukuran pesan
Aktor Utama
User :
- User mengambil file gambar dari media penyimpanan - Sistem akan menampilkan keterangan gambar
Pada use case pilih kunci pengguna akan menginputkan kunci berupa karakter, untuk deskripsi use case masukkan kunci dapat dilihat pada tabel 3.15.
Tabel 3.15 Deskripsi Use Case Masukkan Kunci
Nama Use
Case Masukkan Kunci
Tujuan Untuk menginput kata sandi
Syarat
Aktor Utama
User :
Menginput kata sandi minimal 1 karakter dan maksimal 56 karakter.
Pada use case simpan file hasil enkripsi pengguna dapat menyimpan file teks hasil dekripsi. Deskripsi use case simpan file hasil dekripsi dapat dilihat pada tabel 3.16.
Tabel 3.16 Deskripsi Use Case Simpan File Hasil Dekripsi
Nama Use
Case Simpan File Hasil Dekripsi
Tujuan Untuk menyimpan file teks yang telah didekripsi
Syarat
Sistem meminta user menginput nama file teks yang akan disimpan
Aktor Utama
User :
Menginput nama file teks yang akan disimpan.
3.5 Perancangan Tampilan
Pada perancangan tampilan dibagi menjadi tiga tampilan, yaitu tampilan form utama, tampilan proses enkripsi, dan tampilan proses dekripsi.
3.5.1. Perancangan Tampilan Form Utama
Gambar 3.7 Tampilan Perancangan Form Utama
Keterangan :
1. Tombol untuk menampilkan proses enkripsi. 2. Tombol untuk menampilkan proses dekripsi. 3. Tombol untuk keluar dari aplikasi.
3.5.2. Perancangan Tampilan Proses Enkripsi
Gambar 3.8 Tampilan Perancangan Proses Enkripsi
Keterangan :
1. Tombol untuk memasukkan pesan yang akan di sisipkan pada gambar. 2. Tombol untuk memasukkan gambar yang ingin di proses.
3. Tampilan progress pada saat proses enkripsi berlangsung. 4. Tempat untuk menampilkan pesan yang akan di sisipkan. 5. Gambar asli sebelum dilakukan proses enkripsi.
6. Hasil tampilan gambar yang telah dilakukan proses enkripsi. 7. Tampilan keterangan dari pesan yang akan disisipkan. 8. Tampilan keterangan pada gambar.
9. Tampilan keterangan dari gambar yang telah di enkripsi. 10. Kotak teks untuk penulisan kata sandi.
11. Ceklist untuk menampilkan karakter dari kata sandi tersebut. 12. Tombol untuk memulai proses enkripsi.
3.5.3 Perancangan Tampilan Proses Dekripsi
Tampilan proses dekripsi merupakan tampilan form untuk membaca pesan dari gambar kemudian melakukan proses dekripsi terhadap pesan. Bentuk dan rancangan form dekripsi dapat dilihat pada gambar 3.9.
Gambar 3.9 Tampilan Perancangan Proses Dekripsi
Keterangan :
1. Tombol untuk memasukkan gambar yang ingin di proses. 2. Kotak teks untuk penulisan kata sandi.
3. Ceklist untuk menampilkan karakter dari kata sandi tersebut. 4. Gambar yang telah dilakukan proses enkripsi.
5. Tampilan progress pada saat proses dekripsi berlangsung. 6. Tampilan isi pesan yang terdapat pada gambar.
7. Tampilan keterangan pada gambar.
8. Tampilan keterangan dari pesan yang disisipkan pada gambar 9. Tombol untuk memulai proses dekripsi.
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1. Implementasi Sistem
Pada bab ini dijelaskan hasil analisis dan perancangan sistem yang akan mengimplementasikan kombinasi kriptografi dan steganografi dengan menggunakan algoritma blowfish dan algoritma modified least significant bit (MLSB), kedalam bentuk aplikasi.
4.1.1. Spesifikasi Kebutuhan Perangkat Keras
Spesifikasi perangkat keras yang digunakan sebagai pendukung untuk mengimplementasikan aplikasi pengamanan data menggunakan algoritma blowfish dan modified least significant bit (mlsb) adalah:
1. Processor intel core i3 2.4 GHz
2. Memory RAM yang digunakan @ GB 3. Kapasitas harddisk 320 GB
4. Monitor LCD 18.0”
4.1.2. Spesifikasi Kebutuhan Perangkat Lunak
4.2. Tampilan Aplikasi
Berikut akan dijelaskan tampilan dari aplikasi yang dibangun. Tampilan aplikasi ini dibagi menjadi tiga tampilan, yaitu tampilan menu utama, tampilan enkipsi, dan tampilan dekipsi.
4.2.1.Tampilan Menu Utama
Tampilan halaman menu utama pada aplikasi pengamanan data menggunakan algoritma blowfish dan modofied least significant bit (mlsb) dapat dilihat pada gambar 4.1. Pada halaman ini terdapat menu-menu yang dapat dipilih oleh pengguna yaitu menu enkripsi untuk memulai melakukan pengamanan data, dekripsi untuk melihat hasil dari data yang telah dienkripsi, dan terkahir adalah menu exit untuk keluar dari aplikasi.
4.2.2.Tampilan Menu Enkripsi
Tampilan menu enkripsi dapat dilihat pada gambar 4.2. Halaman ini akan ditampilkan setelah pengguna memilih menu enkripsi pada menu utama. Pada menu ini pengguna dapat memulai enkripsi data dengan memasukkan pesan yang tedapat di tombol pilih pesan, lalu memilih pesan yang akan dienkripsi. Setelah memilih pesan maka akan ditampilakn isi pesan yang dipilih, nama data, ukuran data, dan jumlah karakter pada pesan yang dipilih. Setelah memasukkan pesan yang dipilih maka tombol pilih gambar akan aktif, dan pengguna dapat memiih media gambar yang akan dipilih untuk menyisipkan pesan yang sudah dipilih.
Gambar 4.2. Tampilan Menu Enkripsi
keterang gambar sperti nama gambar, ukuran gambar, dan dimensi gambar. Apabila pengguna telah memilih gambar, maka tombol masukkan sandi akan aktif.
Pengguna dapat menuliskan sandi degan minimal 1 karakter dan maksimal 56 karakter. Pennguna juga dapat memilih tampilkan karakter untuk melihat sandi yang dibuat oleh pengguna. Setelah membuat sandi, maka icon enkripsi akan aktif, dan pengguna dapat melakukan proses enkripsi.
Apabila proses enkripsi telah selesai maka akan muncul pemberitahuan apakah pengguna akan menyimpan file gambar yang telah dienkripsi atau tidak menyimpannya gambar 4.3. atau bisa juga dengan memilih icon simpan gambar.
Hasil enkripsi akan terlihat apabila proses enkripsi yang dilakukan oleh pengguna telah berhasil dilakukan. Pada keterangan gambar akan terlihat perbedaan dengan gambar sebelum dienkripsi.
Pada menu enkripsi terdapat juga icon kembali, untuk kembali kemenu utama, icon hapus untuk membersihkan semua proses enkripsi yang telah dilakukan agar pengguna dapat melakukan enkripsi data selanjutnya.
4.2.3.Tampilan Menu Dekripsi
Gambar 4.3. Tampilan Menu Dekripsi
Pada tampilan proses dekripsi, proses awal yang harus dilakukan oleh pengguna adalah memasukkan gambar yang sudah disisipkan pesan sebelumnya dengan cara menekan tombol pilih gambar. Setelah memilih gambar yang ingin didekripsi, maka akan terlihat keterangan gambar yang dipilih oleh pengguna, seperti nama gamabar, ukuran gambar dan dimensi gambar.
Setelah memilih gambar textbox kata sandi dan check box tampilkan karakter akan aktif, dan pengguna dapat memasukkan sandi yang sama ketika melakukan proses enkripsi.
Icon dekripsi akan aktif setelah textbox kata sandi sudah diisi, dan pengguna dapat mendekripsi pesan yang terdapat dalam gambar yang telah dipilih oleh pengguna dengan menekan icon dekrispi. Setelah proses dekripsi selesai dilakukan, maka icon simpan pesan akan aktif.
4.3. Pengujian Sistem
4.3.1.Pengujian Enkripsi
Pengujian yang dilakukan berikut ini adalah dengan menggunakan salah satu file plaintext yang akan disisipkan ke dalam gambar. Pengujian ini melakukan proses enkripsi pesan ke dalam gambar dan melakukan proses dekripsi terhadap gambar yang sudah disisipkan pesan.
Adapun gambar awal yang digunakan dalam pengujian ini adalah gambar dengan resolusi 102 x 102 piksel, nama gambar “gambar1.bmp”, dan ukuran gambar “31470 byte”. Jumlah karakter pesan yang ingin disembunyikan dalam pengujian ini adalah sebanyak “5195” karakter dan kunci yang digunakan adalah “1234”. Kemudian setelah proses enkripsi selesai, gambar hasil enkripsi akan diberi nama “hasil1.bmp”, seperti yang terlihat pada gambar 4.4.
Gambar 4.4. Tampilan Hasil Pengujian Enkripsi
Tabel 4.1. Tabel Data Gambar Hasil Pengujian
Keterangan Gambar Sebelum Enkripsi
Keterangan Gambar Sesudah Enkripsi
Nama
Gambar gambar1.bmp Nama Gambar hasil1.bmp
Resolusi
Gambar 102 x 102 piksel
Resolusi Gambar
102 x 102 piksel
Ukuran
Gambar 31470 byte
Ukuran
Gambar 41670 byte
Pada tabel 4.1 dapat dilihat, ukuran gambar yang telah dienkripsi atau yang telah disisipi oleh pesan rahasia akan berubah, ukuran gambar yang telah dienkripsi akan
menjadi “41670 byte”.
4.3.2.Pengujian Dekripsi
Gambar 4.5. Tampilan Hasil Pengujian Proses Dekripsi Dengan Sandi Sama
Dari hasil pengujian ini diperoleh data jumlah karakter pesan sebelum dan sudah disisipkan ke dalam gambar adalah sebagai berikut :
Tabel 4.2 Tabel Data Pesan Hasil Pengujian
Keterangan Pesan Sebelum Dekripsi Keterangan Pesan Sesudah Dekripsi Nama Pesan BAB I.txt Nama Pesan Hasil1.txt Ukuran Pesan 5195 byte Ukuran Pesan 5195 byte Jumlah Karakter 5195 karakter Jumlah
Karakter 5195 karakter
maka pada pengujian ini akan dimasukkan sandi 123. Hasil dari proses dekripsi dari gambar yang sudah disisipkan pesan dengan kunci yang berbeda dapat dilihat pada gambar 4.7
Gambar 4.6. Tampilan Hasil Pengujian Proses Dekripsi Dengan Sandi Berbeda
Pada gambar 4.6 menunjukkan, jika kunci yang dimasukkan berbeda dengan kunci pada saat proses enkripsi maka proses dekripsi tidak dapat dilakukan.
Gambar yang dipilih untuk melakukan enkripsi harus lebih besar daripada pesan yang akan dienkriipsi. Hasil uji terhadap pesan gambar dan pesan teks yang akan dienkripsi dapat dilihat pada tabel 4.3.
Tabel 4.3 Pengujian Gambar
Nama sama terhadap ukuran gambar yang berbeda, maka dapat disimpulkan bahwa sistem hanya mampu melakukan enkripsi apabila file gambar penyisip harus lebih besar dari pada ukuran pesan yang akan disisip.
Tabel 4.4 Perbandigan Gambar
2.bmp
17062 128 * 128
Hasiltes2.jpg
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah melakukan implementasi dan pengujian kepada aplikasi pengamanan data menggunakan kombinasi kriptografi dan steganografi dengan algoritma blowfish dan modified least significant bit (MLSB), maka dapat ditarik kesimpulan sebagai berikut :
1. Aplikasi ini hanya mampu menyisipkan pesan dalam format plaintext
2. Sistem hanya mampu melakukan enkripsi apabila file gambar penyisip lebih besar dari pada ukuran pesan yang akan disisip
5.2 Saran
Penulis menyarankan pengembangan penelitian tentang aplikasi pengamanan data dengan menggunakan kombinasi kriptografi dan steganografi sebagai berikut :
1. Aplikasi pengamanan data dapat dikembangkan dengan menggunakan kombinasi algoritma yang lain
2. Pengembang dapat menyisipkan pesan rahasia dengan berbagai macam format, seperti *doc, *xls, *ppt dan berbagai macam bentuk format yang lain
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
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
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)
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.
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.
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 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
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.
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
Gambar 2.2 Fungsi F dalam Blowfish
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
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.
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 Peneliti/Tahun Judul Keterangan
1 .
dengan kombinasi
pengamanan data untuk file teks. pesan pada bit msb citra, sedangkan hasil indeks
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknologi yang begitu pesat memungkinkan adanya kemudahan bagi siapa saja dalam mengakses informasi atau pesan dari berbagai tempat. Perkembangan teknologi informasi ini memberi peran sangat penting untuk menjalin pertukaran data atau informasi (Simarmata, 2011). Maka masalah keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu sistem informasi, karena tindakan kejahatan komputer semakin tinggi yang merupakan efek samping dari kemajuan teknologi tersebut. Selama pengiriman dan ketika sampai di tujuan, informasi harus tetap terjaga kerahasiaan dan keasliannya dan tidak dimodifikasi. Informasi atau pesan tidak akan berguna lagi apabila isinya telah dirubah oleh orang yang tidak bertanggung jawab.
Penerima informasi harus yakin bahwa informasi tersebut memang berasal dari si pengirim yang tepat, begitu juga sebaliknya, pengirim yakin bahwa si penerima adalah orang yang sesungguhnya. Selain itu, penerima tidak ingin pengirim membantah pernah mengirim informasi tersebut, dan jika hal tersebut terjadi, penerima perlu membuktikan ketidakbenaran penyangkalan tersebut. Untuk permasalahan – permasalahan keamanan tersebut diperlukan metode untuk menjaga keamanan informasi, metode yang akan digunakan adalah metode steganografi dan kriptografi.
dan dekripsi data. Salah satunya adalah algoritma blowfish. Algoritma blowfish ini memanfaatkan teknik manipulasi bit dan teknik pemutaran ulang dan pergiliran kunci yang dilakukan sebanyak 16 kali. Oleh karena itu blowfish dianggap sebagai algoritma enkripsi yang kuat (Ali, Afaf, dan Hasan 2011).
Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia didalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui (Munir, 2006). Pada penelitian ini penulis menggunakan algoritma mlsb (modified least significant bit), modifikasi dari algoritma lsb (least significant bit) digunakan untuk meng-encode data ke dalam media. MLSB menggunakan manipulasi beberapa tingkat bit – bit dari data sebelum meng-encode data tersebut (Zaher, 2011).
Beberapa penelitian yang pernah dilakukan dalam pengamanan data antara lain Arifin (2013), Suryani (2008), Rakhmat (2010), Prasetyo (2013), Tambunan (2010), dengan berkembangnya teknologi, maka pengembangan dan pengkajian terus dilakukan. Melalui peneletian ini, penulis mengharapkan dapat memberikan akternatif dalam pengamanan informasi.
1.2. Rumusan Masalah
Pentingnya pengamanan pesan dari pihak-pihak tidak bertanggung jawab yang dapat merugikan satu pihak. Oleh karena itu, dalam penelitian ini akan dibuat sebuah aplikasi alternatif untuk menjaga keamanan sebuah pesan rahasia.
1.3. Batasan Masalah
Pada penelitian ini penulis membatasi masalah sebagai berikut : 1. File yang dienkripsi dalam bentuk plain text
1.4. Tujuan Penelitian
Tujuan utama dari penelitian ini adalah menghasilkan aplikasi alternatif yang berguna untuk pengaman data informasi dengan metode menggunakan kombinasi algoritma blowfish dan mlsb (modified least significant bit).
1.5. Manfaat Penelitian
Manfaat yang diharapkan dari penelitian ini adalah dapat menambah ilmu pengetahuan dan wawasan tentang metode steganografi dan kriptografi dalam pengamanan informasi dan dapat memahami tentang penggunaan algoritma mlsb (modified least significant bit) dan algortima blowfish.
1.6. Sistematika penulisan
Adapun sistematika penulisan penelitian tugas akhir ini disusun dalam enam bab dengan sistematika penulisan sebagai berikut:
BAB 1 PENDAHULUAN
Bab ini berisi uraian tentang hal – hal yang mendasari dilakukannya penelitian serta pengidentifikasian masalah penelitian. Bagian – bagian yang terdapat dalam bab pendahuluan ini meliputi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian dan sistematika penulisan.
BAB 2 TINJAUAN PUSTAKA
Pada bab ini akan dibahas teori tentang steganografi, kriptografi, algoritma mlsb (modified least significant bit) ,dan algoritma blowfish.
BAB 3 ANALISIS DAN PERANCANGAN
BAB 4 HASIL DAN PEMBAHASAN
Bab ini menjelaskan hasil analisis dan perancangan aplikasi serta pengujian aplikasi penelitian yang telah dilakukan
BAB 5 KESIMPULAN DAN SARAN
ABSTRAK
Masalah keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu sistem informasi, karena tindakan kejahatan komputer semakin tinggi yang merupakan efek samping dari kemajuan teknologi tersebut. Banyak cara untuk dapat menjaga keamanan dan kerahasiaan data tersebut diantaranya dengan menggunakan teknik kriptogafi dan steganografi. Pada penelitian ini akan digunakan kedua teknik tersebut dalam pengamanan data. Pengamanan dilakukan dengan terlebih dahulu menggunakan algoritma blowfish yang merupakan bagian dari teknik kriptografi. Setelah melakukan kriptografi, sistem kemudian akan melakukan teknik steganografi dengan menggunakan algoritma modified least significant bit mlsb). Aplikasi akan dikembangkan dengan metode perancangan UML dan menggunakan bahasa pemrograman VB.NET.
DATA SECURITY APPLICATIONS USING COMBINATION OF BLOWFISH ALGORITHM AND MODIFIED LEAST SIGNIFICANT BIT (MLSB)
ABSTRACT
Security and confidentiality of data is one important aspect of an information system, due to the higher computer crime which is a side effect of these technological advances. Recipients of information have to be sure that the information is coming from the right sender, and the sender believes that the receiver is the truth. For the security issues the necessary methods to maintain the security of information, methods to be used in this research is to combine the methods of cryptography with the blowfish algorithm and steganography methods with modified least significant bits algorithm (mlsb).
APLIKASI PENGAMANAN DATA MENGGUNAKAN
KOMBINASI ALGORITMA BLOWFISH DAN MODIFIED LEAST
SIGNIFICANT BIT (MLSB)
SKRIPSI
AZHARUL WANDA SIREGAR
081402034
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
APLIKASI PENGAMANAN DATA MENGGUNAKAN KOMBINASI
ALGORITMA BLOWFISH DAN MODIFIED LEAST SIGNIFICANT BIT (MLSB)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat untuk memperoleh ijazah Sarjana Teknologi Informasi
AZHARUL WANDA SIREGAR 081402034
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Judul : APLIKASI PENGAMANAN DATA MENGGUNAKAN KOMBINASI ALGORITMA BLOWFISH DAN
MODIFIED LEAST SIGNIFICANT BIT (MLSB) Kategori : SKRIPSI
Nama : AZHARUL WANDA SIREGAR Nomor Induk Mahasiswa : 081402034
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOMTI) UNIVERSITASUMATERA UTARA
Diluluskan di
Medan, Agustus 2014
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Sajadin Sembiring S.Si.M.Com.Sc Dr. Syahril Efendi, S.Si.,M.MIT NIP 19671110 199602 1 001
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
APLIKASI PENGAMANAN DATA MENGGUNAKAN KOMBINASI ALGORITMA BLOWFISH DAN MODIFIED LEAST
SIGNIFICANT BIT (MLSB)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Agustus 2014
Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh ijazah Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Ucapan terimakasih penulis sampaikan kepada:
1. Kedua orangtua dan keluarga penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda Haris Muda Siregar dan Ibunda Arlena Nasution yang selalu sabar dalam mendidik dan membesarkan penulis.
2. Bapak Dr. Syahril Efendi, S.Si.,M.MIT selaku pembimbing satu dan Bapak Sajadin Sembiring S.Si.M.Com.Sc selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.
3. Bapak M. Anggia Muchtar,ST., M.MM.IT, selaku ketua jurusan program studi Teknologi Informasi dan M. Fadly Syahputra, B.Sc., M.Sc sebagai sekretaris jurusan Teknologi Informasi Universitas Sumatera Utara.
4. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen dan pegawai di Program Studi Teknologi Informasi.
5. Terima kasih kepada staf pegawai administrasi tata usaha Program Studi Teknologi Informasi Abangda Faisal Hamid dan Ibu Delima Harahap yang telah banyak membantu segala urusan administrasi.
henti, Karina Wibawanti Nasution, Kharisma Rinaldi Siregar, Dwiporanda E, Teza Amaluddin, Rizky Yanda, Inis Caisarian Siregar, Andre Wandi, Zulfikri Putra, Sanra Cheney, Ridho Fakhrozi dan Harigo Chany, Hasan Maksum, Waldi Rizky Combih, Novia Maheran, teman – teman alumni SMA Plus Al Azhar Medan, serta teman-teman mahasiswa Teknologi Informasi lainnya yang tidak dapat penulis sampaikan satu persatu.
ABSTRAK
Masalah keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu sistem informasi, karena tindakan kejahatan komputer semakin tinggi yang merupakan efek samping dari kemajuan teknologi tersebut. Banyak cara untuk dapat menjaga keamanan dan kerahasiaan data tersebut diantaranya dengan menggunakan teknik kriptogafi dan steganografi. Pada penelitian ini akan digunakan kedua teknik tersebut dalam pengamanan data. Pengamanan dilakukan dengan terlebih dahulu menggunakan algoritma blowfish yang merupakan bagian dari teknik kriptografi. Setelah melakukan kriptografi, sistem kemudian akan melakukan teknik steganografi dengan menggunakan algoritma modified least significant bit mlsb). Aplikasi akan dikembangkan dengan metode perancangan UML dan menggunakan bahasa pemrograman VB.NET.
DATA SECURITY APPLICATIONS USING COMBINATION OF BLOWFISH ALGORITHM AND MODIFIED LEAST SIGNIFICANT BIT (MLSB)
ABSTRACT
Security and confidentiality of data is one important aspect of an information system, due to the higher computer crime which is a side effect of these technological advances. Recipients of information have to be sure that the information is coming from the right sender, and the sender believes that the receiver is the truth. For the security issues the necessary methods to maintain the security of information, methods to be used in this research is to combine the methods of cryptography with the blowfish algorithm and steganography methods with modified least significant bits algorithm (mlsb).
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Ucapan Terima Kasih iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Bab 1 Pendahuluan
1.1. Latar Belakang 1
1.2. Rumusan Masalah 2
1.3. Batasan Masalah 2
1.4. Tujuan Penelitian 3
1.5. Manfaat Penelitian 3
1.6. Sistematika Penulisan 3
Bab 2 Landasan Teori
2.3. Algoritma Blowfish 10
2.3.1. Pengenalan Blowfish 10
2.3.2. Keamanan Blowfish 14
2.4 Format File 14
2.5 Kriptoanalisis dan Setegaanalisis 15
2.6 Penelitian Sebelumnya 16
Bab 3 Analisis dan Perancangan Sistem
3.1. Analisis Sistem 18
3.2. Algoritma Blowfish 18
3.2.1. Enkripsi Algoritma Blowfish 18
3.2.2. Dekripsi Algoritma Blowfish 21
3.3. Analisis Algoritma Modified Least Significant Bit (MLSB) 24
3.5. Perancangan Tampilan 36
3.5.1. Perancangan Tampilan Form Utama 36 3.5.2 Perancangan Tampilan Proses Enkripsi 37 3.5.3 Perancangan Tampilan Proses Dekripsi 39 Bab 4 Implementasi dan Pengujian Sistem
4.1. Implementasi 40
4.1.1. Spesifikasi Kebutuhan Perangkat Keras 40
4.1.2. Spesifikasi Kebutuhan Perangkat Lunak 40
4.2. Tampilan Aplikasi 41
4.2.1. Tampilan Menu Utama 41
4.2.2. Tampilan Menu Enkripsi 42
4.2.3. Tampilan Menu Dekripsi 43
4.3. Pengujian Sistem 44
4.3.1. Pengujian Enkripsi 45
4.3.2. Pengujian Dekripsi 46
Bab 5 Kesimpulan dan Saran 51
4.1. Kesimpulan 51
DAFTAR TABEL
Halaman
Tabel 3.1 Control Symbol 24
Tabel 3.2 Contoh Media Cover 26
Tabel 3.3 Biner Media Cover 26
Tabel 3.4 Sampel Biner Hasil Penyisipan 27
Tabel 3.5 Nilai Hexa Media Hasil Penyisipan 27
Tabel 3.6 Stego Media 28
Tabel 3.7 Blok-Blok Pesan 29
Tabel 3.8 Deskripsi Use Case Enkripsi 32
Tabel 3.9 Deskripsi Use Case Pilih Pesan 32
Tabel 3.10 Deskripsi Use Case Pilih Gambar 33
Tabel 3.11 Deskripsi Use Case Memasukkan Kunci 33
Tabel 3.12 Deskripsi Use Case Simpan Gambar Hasil Enkripsi 34
Tabel 3.13 Deskripsi Use Case Dekripsi 34
Tabel 3.14 Deskripsi Use Case Pilih Gambar Hasil Dekripsi 35
Tabel 3.15 Deskripsi Use Case Memasukkan Kunci 35
Tabel 3.16 Deskripsi Use Case Simpan File Hasil Dekripsi 36
Tabel 4.1 Tabel Data Gambar Hasil Pengujian 46
Tabel 4.2 Tabel Data Pesan Hasil Pengujian 47
Tabel 4.3 Pengujian Gambar 49
DAFTAR GAMBAR
Halaman
Gambar 2.1 Least Significant Bit 8
Gambar 2.2 Fungsi F dalam Blowfish 13
Gambar 2.3 FlowChart F Fungsi 13
Gambar 2.4 Empat Kategori Utama Format File Steganografi 14
Gambar 3.1 Jaringan Feistel 20
Gambar 3.2 Tahapan Fungsi F 21
Gambar 3.3 Diagram Skema Dekripsi Algoritma Blowfish 23
Gambar 3.4 Flowchart Dari Sistem Yang Di Bangun 30
Gambar 3.5 Use Case Diagram 31
Gambar 3.7 Tampilan Perancangan Form Utama 37
Gambar 3.8 Tampilan Perancangan Proses Enkripsi 38
Gambar 3.9 Tampilan Perancangan Proses Dekripsi 39
Gambar 4.1 Tampilan Menu Utama 41
Gambar 4.2 Tampilan Menu Enkripsi 42
Gambar 4.3 Tampilan Menu Dekripsi 44
Gambar 4.4 Tampilan Hasil Pengujian Enkripsi 45