Aplikasi Pengamanan Data Menggunakan Kombinasi Algoritma Blowfish Dan Modified Least Significant BIT (MLSB)

(1)

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.

Zaher, M. A. 2011. Modified Least Significant Bit (MLSB). Jurnal Computer and Information Science Vol. 4, No. 1, Januari 2011. www.ccsenet.org/cis. Diakses tanggal 26 - Maret – 2014.


(2)

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:

P1 = 0x243f6a88 P2 = 0x85a308d3 P3 = 0x13198a2e P4 = 0x03707344


(3)

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:

1. Bagi X menjadi dua bagian yang masing-masing terdiri dari 32-bit: XL, XR. 2. For i = 1 to 16:

XL = XL XOR Pi XR = F(XL) XOR XR Tukar XL dan XR

3. Setelah iterasi ke-enam belas, tukar XL dan XR lagi untuk melakukan undo pertukaran terakhir.

4. Lalu lakukan


(4)

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.


(5)

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:

1. Pertama-tama inisialisasi P-array dan kemudian empat S-box secara berurutan dengan string yang tetap. String ini terdiri digit hexadesimal dari pi.


(6)

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

Total diperlukan 521 iterasi untuk menghasilkan semua subkunci yang dibutuhkan. Aplikasi kemudian dapat menyimpan subkunci ini dan tidak dibutuhkan langkah-langkah proses penurunan ini berulang kali, kecuali kunci yang digunakan berubah.


(7)

. Gambar 3.3 Diagram Skema Dekripsi Algoritma Blowfish

Metode Algoritma Blowfish dilakukan dengan cara membalikkan 18 subskey yang ada.Yang akan kita lakuakan pertama kali adalah masalah ini nampak tidak dapat dipercaya, karena terdapat dua XOR operasi yang mengikuti pemakaian f-fungsi yang sebelumnya, dan hanya satu yang sebelumnya pemakaian pertama f-fungsi. Walupun jika kita memodifikasi algoritma tersebut sehingga pemakaian subkey 2 sampai 17 menempatkan sebelum output f-fungsi yang di-XOR-kan ke sebelah kanan blok dan dilakukan ke data yang sama sebelum XOR itu, meskipun itu berarti ia sekarang berada di sebelaha kanan blok, karena XOR subkey tersebut telah dipindahkan sebelum swap (tukar) kedua belah blok tersebut (tukar separuh blok kiri dan separuh blok kanan). Kita tidak merubah suatu apapun karena informasi yang sama di-XOR-kan ke separuh blok kiri antara setiap waktu, informasi ini digunakan sebagai input f-fungsi. Kenyataannya, kita mempunyai kebalikan yang pasti dari barisan dekripsi.


(8)

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


(9)

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.

Pesan biner disisipkan ke dalam sebuah media cover seperti pada Tabel 3.2 .


(10)

Tabel 3.2. Contoh Media Cover 5 2 4 9 4 6 4 6 2 8 0 8 0 0 0 0 5 7 4 1 5 6 4 5 4 4 1 5 2 F 3 D 1 D 2 A 0 0 4 D 0 1 7 C 0 1 1 2 4 5 6 8 0 0 0 1 1 1 0 5

Data Media Cover di atas dikonversikan ke dalam biner menjadi seperti pada Tabel 3.3.

Tabel 3.3. Biner Media Cover

01010 010 01001 001 01000 110 01000 110 00101 000 00001 000 00000 000 00000 000 01010 111 01000 001 01010 110 01000 101 01000 100 00010 101 00101 111 00111 101 00011 101 00101 010 00000 000 01001 101 00000 001 01111 100 00000 001 00010 010 01000 101 01101 000 00000 000 00000 001 00010 001 00000 101


(11)

Penyisipan dilakukan pada setiap byte pada nilai biner paling belakang seperti pada Tabel 3.4.

Tabel 3.4. Sampel Biner Hasil Penyisipan

01010 011 01001 001 01000 111 01000 110 00101 000 00001 001 00000 000 00000 000 01010 111 01000 001 01010 111 01000 100 01000 101 00010 100 00101 110 00111 101 00011 100 00101 011 00000 000 01001 100 00000 001 01111 101 00000 001 00010 011 01000 101 01101 000 00000 000 00000 001 00010 001 00000 101

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

09 00 00 57 41

57 44 45 14 2E

3D 1C 2B 00 4C

01 7D 01 13 45

68 00 01 11 05

Pada proses ekstraksi dengan algoritma MLSB dilakukan dengan cara: 1. Input stego media.


(12)

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

01010 011 01001 001 01000 111 01000 110 00101 000 00001 001 00000 000 00000 000 01010 111 01000 001 01010 111 01000 100 01000 101 00010 100 00101 110 00111 101 00011 100 00101 011 00000 000 01001 100 00000 001 01111 101 00000 001 00010 011 01000 101 01101 000 00000 000 00000 001 00010 001 00000 101


(13)

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 100

10 011

10 100

10 100

11 111

00 111

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

Pada bagian ini akan digambarkan secara singkat bagaimana sistem yang di bangun bekerja dengan menggunakan flowchart diagram dari proses mulai hingga selesai, seperti gambar 3.4


(14)

Gambar 3.4 Flowchart Dari Sistem Yang Di Bangun

3.4.2 Use Case Diagram

Langkah pertama yang dilakukan untuk membuat kebutuhan pengguna adalah memodelkan sistem, hal tersebut dapat digambarkan dengan menggunakan use case diagram. Use case menggambarkan mengenai proses yang digunakan dan data model dari sistem. Pada gambar 3.5 akan diperlihatkan mengenai sistem pengamanan data.


(15)

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.

Pada tabel 3.8 akan diberikan mengenai deskripi use case diagram sistem pengamanan data:


(16)

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

2.Ukuran file dan jumlah karakter akan ditampilkan pada keterangan pesan


(17)

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 :

Menginput kata sandi minimal 1 karakter dan maksimal 56 karakter.


(18)

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 :


(19)

-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


(20)

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

Tampilan form utama berikut merupakan tampilan pertama program ketika dijalankan. Bentuk dan rancangan form utama dapat dilihat pada gambar 3.6.


(21)

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

Tampilan proses enkripsi merupakan tampilan form untuk melakukan proses enkripsi pesan dan kemudian menyisipkannya ke dalam gambar. Bentuk dan rancangan form enkripsi dapat dilihat pada gambar 3.8.


(22)

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.

13. Tombol untuk kembali ke tampilan utama. 14. Tombol untuk menyimpan gambar.


(23)

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.


(24)

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

Aplikasi pengaman data menggunakan algoritma blowfish dan modified least significant bit (mlsb) dibangun menggunakan sistem operasi windows 7 32-bit. Perangkat lunak yang digunakan sebagai kompiler adalah microsoft visual basic 2010.


(25)

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.


(26)

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

Media gambar yang sudah dipilih akan ditampilkan sesuai dengan gambar yang telah dipilih oleh pengguna. Setelah gambar ditampilkan maka akan ditampilkan


(27)

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

Pada menu dekripsi pengguna akan melihat button pilih gambar, keterangan gambar, kolom masukkan sandi, isi pesan yang sudah dienkripsi, keterangan pesan, icon dekripsi, icon kembali untuk kembali kemenu utama, icon hapus untuk membersihkan layar dekripsi, dan simpan pesan. Seperti yang terlihat pada gambar 4.3.


(28)

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

Pada tahap ini akan dilakukan pengujian pada setiap proses yang ada didalam aplikasi, pengujian ini dilakukan untuk mengetahui apakah aplikasi berjalan dengan baik atau


(29)

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

Dari hasil pengujian diperoleh data dari gambar sebelum dan sesudah disisipkan pesan adalah sebagai berikut :


(30)

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

Proses selanjutnya adalah melakukan proses dekripsi dari gambar. Dan hasil dari proses dekripsi dari gambar yang sudah disisipkan pesan dengan kunci yang sama dapat dilihat pada gambar 4.5.


(31)

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

Pada tabel 4.2 dapat dilihat pesan yang telah dienkripsi memiliki jumlah karakter yang sama dengan pesan yang telah didekripsi.


(32)

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.

Dari hasil pengujian yang telah dilakukan, ukuran gambar yang sudah dienkripsi dan sebelum dienkripsi tidak memiliki perbedaan yang signifikan. Sedangkan perbandingan jumlah karakter pesan sebelum dan sesudah dilakukan enkripsi memiliki jumlah karakter yang sama. Ini menandakan bahwa tidak ada pesan yang hilang saat proses enkripsi maupun saat proses dekripsi berlangsung. Jika sandi yang digunakan pada saat melakukan proses dekripsi berbeda dengan sandi yang digunakan pada saat proses enkripsi, maka aplikasi yang dibangun akan menampilkan pesan kesalahan, dan pesan yang ada di dalam gambar tersebut tidak dapat dibaca.


(33)

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 Gambar Ukuran Gambar dalam byte Ukuran Dimensi Gambar Ukuran Pesan dalam byte Jumlah Karakter Pesan Hasil

1.bmp 5174 64 x 64 5195 5195 Gaga

l Gambar1.

bmp

31470 128 x 128

5195 5195 Berh

asil

2.bmp 17062 128 x

128

5195 5195 Berh

asil

Berdasarkan data tabel 4.3 hasil pengujian dengan jumlah karakter pesan yang 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

Gambar Asli Ukuran Gambar Dalam byte Ukuran Dimensi Gambar Gambar Hasil Ukuran Gambar Dalam byte Hasil 2.bmp

17062 128 * 128

Hasiltes2.bmp

65590 Berhasil

2.bmp

17062 128 * 128

Hasiltes2.png


(34)

2.bmp

17062 128 * 128

Hasiltes2.jpg

3493 Tidak Berhasl


(35)

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

3. Pengembang dapat menyempurnakan dan memperbaiki kekurangan aplikasi ini.


(36)

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


(37)

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,


(38)

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


(39)

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


(40)

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.


(41)

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


(42)

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:


(43)

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


(44)

Gambar 2.2 Fungsi F dalam Blowfish


(45)

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:


(46)

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


(47)

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 .

Esti Suryani/2008 Kombinasi Kriptografi Dengan Hillcipher Dan Steganografi Dengan Lsb Untuk Keamanan Data Teks

Pada proyek ini dilakukan penelitian yang bertujuan untuk pengamanan teks, dengan cara

mengkombinasi kriptografi dan steganografi. Metode yang digunakan adalah kriptografi hillciper dan menggunakan metode stegonagrafi lsb. 2 . Basuki Rakhmat/2010 Steganografi menggunakan metode

Penelitian ini bertujuan membangun aplikasi yang


(48)

dengan kombinasi Algoritma kriptografi vigenère dan rc4

klasik vigenere dan algoritma modern rc4 sebagai metode kriptografi dan mengintegrasikan steganografi dalam penyisipan gambar. 3 . Shanty Erikawati Aryani Tambunan/2010 Implementasi Algoritma Kriptografi Blowfish Untuk Keamanan Dokumen Pada Microsoft Office

Peneltian ini menguji kemampuan algoitma blowfish sebagai

pengamanan data untuk file teks. 4 . Budi Prasaetyo/2013 Kombinasi Steganografi Bit Matching dan

Kriptografi Des untuk Pengamanan Data

Pada penelitian ini metode steganografi yang digunakan dengan

melakukan pencocokan bit pesan pada bit msb citra, sedangkan hasil indeks posisi bit dienkripsi menggunakan algoritma kriptografi Data Encryption Standard (DES)

5 .

Rian Arifin/2013 Implementasi Kriptografi dan Steganografi menggunakan Algoritma RSA dan Metode LSB

Penelitian ini

menyandikan pesan teks menggunkan algoritma enkripsi RSA dan disisipkan kedalam covertext yang berupa file gambar 24 bit dengan menggunakan metode penyisipan LSB


(49)

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.

Kriptografi berasal dari bahasa yunani yaitu cryptos yang artinya secret (yang tersembunyi) dan graphen yang artinya writng (tulisan rahasia). Definisi yang dikemukakan oleh Bruce Schenier (1996), kriptografi adalah ilmu dan seni untuk


(50)

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

2. Kunci maksimal 56 karakter dan minimal 1 karakter 3. Ukuran plain text harus lebih besar dari ukuran media


(51)

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 ini berisi analisis algoritma mlsb (modified least sigificant bit), blowfish dan perancangan aplikasi yang akan dibuat.


(52)

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

Pada bab ini akan diuraikan kesimpulan dari seluruh bab – bab sebelumnya dan hasil penelitian yang diperoleh. Pada bab ini juga memuat saran yang diharapkan dapat bermanfaat untuk pengembangan aplikasi selanjutnya.


(53)

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.


(54)

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


(55)

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

2014


(56)

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

MEDAN 2014


(57)

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,


(58)

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

Azharul Wanda Siregar 081402034


(59)

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.

6. Terima kasih kepada sepupu saya, Safrida Riana Harahap, Annisa Mayang Rusdi, Nilam Mustika Rusdi, Fadli Mufli Harahap, dan T. Furqan Ahmadi yang selalu memberikan


(60)

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.

Akhir kata, saya ucapkan terimakasih kepada semua pihak yang terkait dalam penyelesaian skripsi ini yang tidak bisa saya sebut satu persatu. Semoga Allah memberi rahmat dan keberkahan kepada kita semua.


(61)

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.


(62)

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


(63)

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.1. Steganografi 5

2.1.1. Sejarah Steganografi 5

2.1.2. Kegunaan Steganografi 6

2.1.3. Metode Steganografi 7

A. Least Significant Bit Insertion (LSB) 7

B. Modified Least Significant Bit(MLSB) 8 2.1.4. Rancangan Algoritma LSB pada citra digital 8

2.2. Kriptografi 9

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


(64)

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


(65)

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


(66)

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

Gambar 4.5 Tampilan Hasil Pengujian Proses Dekripsi Dengan Sandi Sama 47 Gambar 4.6 Tampilan Hasil Pengujian Proses Dekripsi Dengan Sandi Berbeda 47 Gambar 4.4 Tampilan Hasil Pengujian Proses Dekripsi Dengan Sandi Berbeda 48


(1)

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.

Kata kunci : kriptografi, blowfish, steganografi, modified least significant bit.


(2)

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

Keyword : cryptography, steganography, blowfish, modified least significant bit.


(3)

DAFTARISI

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.1. Steganografi 5

2.1.1. Sejarah Steganografi 5

2.1.2. Kegunaan Steganografi 6

2.1.3. Metode Steganografi 7

A. Least Significant Bit Insertion (LSB) 7

B. Modified Least Significant Bit(MLSB) 8

2.1.4. Rancangan Algoritma LSB pada citra digital 8

2.2. Kriptografi 9

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.4. Pemodelan Sistem 29

3.4.1. Flowchart Diagram 30

3.4.2. Use Case Diagram 30


(4)

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

4.2. Saran 51


(5)

xi

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 SampelBiner Hasil Penyisipan 27

Tabel 3.5 Nilai HexaMediaHasil 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

Tabel 4.4 Perbandingan Gambar 49


(6)

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

Gambar 4.5 Tampilan Hasil Pengujian Proses Dekripsi Dengan Sandi Sama 47 Gambar 4.6 Tampilan Hasil Pengujian Proses Dekripsi Dengan Sandi Berbeda 47 Gambar 4.4 Tampilan Hasil Pengujian Proses Dekripsi Dengan Sandi Berbeda 48