INFORMATICS ENGINEERING STUDY PROGRAM FACULTY OF ENGINEERING SANATA DHARMA

  JOIN OF CRYP Propo To Obtain

  

A Thesis

oposed To Fullfill One Of The Requirements

tain Bachelor Degree In Information Technol

  

By

STEFANUS DANU APRIYANTO

015314083

INFORMATIC FA SAN YPTOGRAPHY AND STEGANOG

  

TICS ENGINEERING STUDY PR

FACULTY OF ENGINEERING

NATA DHARMA UNIVERSITY

YOGYAKARTA

2007

NOGRAPHY ts nology

  PROGRAM Y

  

GABUNGA GAN ANTARA CRYPTOGRAPHY PHY DAN

STEGANOGRA RAPHY DALAM PENGAMANA AN PESAN

S K R I P S I

Diaj iajukan untuk memenuhi salah satu syarat

memperoleh Gelar Sarjana Teknik

  

Jurusan Teknik Informatika

Disusun Oleh

STEFANUS DANU APRIYANTO

  

015314083

PROGRAM AM STUDI TEKNIK INFORMAT ATIKA

FAKULTAS TEKNIK

UNIV

IVERSITAS SANATA DHARMA MA

  

YOGYAKARTA

2007

HALAMAN PERSEMBAHAN

  Karya ini kupersembahkan untuk :

Tuhan Yesus Kristus yang telah memberikan kesempatan untuk

hidup dan menjalani semuanya, rahmat, kebijaksaan, kesehatan

rohani dan jasmani, bimbingan dalam Roh Kudus dan semua kebaikan dan kasih sayang-Mu

   Papa, Mama yang dengan sabar mengasuh, membimbing, memberikan kasih sayang, membesarkan dan mendampingi,

memberikan semua tenaga, waktu, pikiran, dana, fasilitas. Adik-

adikku yang dengan sabar membantu, mendorong, memberikan

fasilitas.

   My lovely yang telah mendampingi, memberikan cinta,

memberikan kasih sayang, pengertian, dorongan, waktu-waktu

yang indah

   Teman-temanku yang telah sabar memberikan kritik, saran, fasilitas, kebersamaan, kesenangan, dan semuanya.

HALAMAN TERIMAKASIH

  

Papa dan Mama

Yang telah memberikan doa, cinta, kasih sayang, kesabaran, waktu, fasilitas, dana,

dukungan, tenaganya. Thx for everything. You’re special parents.

  

Adik-adikku semua

Atas doa, bantuan, dukungan n semangat yang telah diberikan. You’re special sisters.

Kristiani (My Lovely)

Atas doa, cinta, kasih sayang, kesabaran, waktu-waktu yang indah dalam kebersamaan,

dukungan, suka, duka. You’re special gift from God for my life.

  

Pak Gun UNY

Atas pembentukan mental dan cara berfikir dengan metode LFA-nya secara tidak

langsung, terima kasih juga untuk semangat dan pengertiannya.

  

Jenggot dan keluarga, Wulan, Bebek, Adit, Yudhie, Roni

Atas tumpangan rumahnya, fasilitas, ilmu programmingnya, logika pemrograman, suka,

duka yang telah kalian berikan.

  

Christien, Desni ‘Deston’

Atas dukungan, fasilitas, hari-hari yang indah, permasalahan yang dikeluhkan sehingga

menambah ilmu penyusun, waktu, pikiran untuk curhat, suka, duka, pilem, lagu, software.

  

Teman-teman seperjuangan angkatan 01

Atas dukungan, saran, kritik, hari-hari yang indah selama berjuang, suka, duka.

Siwie, Itax dan sekeluarga (Mama-nya Itax, Ms Diaz, Mb Maya)

Atas dukungan, saran, kritik, hari-hari yang indah, kebutuhan jasmani dan rohani, suka,

duka.

Udit, Sentot, Kakek, Dadang n yayangnya, Antok, Danang, Wawan (Pati)

Atas kebutuhan jasmani, pilem, game, waktu buat ngenet, fasilitas, ilmu-ilmu diluar ilmu

penyusun.

Komputer dan Printer-ku, Warnet ‘RamaNet’

Yang telah membantu penyusun hingga saat ini meskipun kemampuanmu dari hari ke hari

semakin menyerupai kakek-kakek, terima kasih fasilitas internetnya.

  

AD-3712-HK (Si Black)

Yang telah setia mengantarkan penyusun kemanapun juga meskipun telah menderita

parah.

HALAMAN MOTTO

  

Serahkanlah hidupmu kepada TUHAN dan percayalah kepada-Nya, dan Ia

akan bertindak

Mazmur 37 : 5

Segala hal yang kita kerjakan merupakan kepercayaan Tuhan kepada kita, maka

kerjakanlah semaksimal mungkin sampai tuntas

Jangan pernah takut mencoba dan salah pada hal-hal baru karena kesalahan

merupakan awal dari kesuksesan

Motivator terbaik adalah masa lalu kita

  

Siapa menabur dia menuai

Hadapilah apa yang harus kita hadapi

Lebih baik bisa dalam sedikit bidang namun expert daripada bisa dalam segala

bidang namun beginner

PERNYATAAN KEASLIAN KARYA

  Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis tidak memuat karya atau bagian karya orang lain, kecuali yang telah saya sebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.

  Yogyakarta, April 2007

  Stefanus Danu Apriyanto Penyusun

KATA PENGANTAR

  Puji dan syukur penyusun panjatkan kepada Tuhan Yang Maha Kuasa yang telah melimpahkan kasih saying dan karunia-Nya sehingga penyusun dapat menyelesaikan Tugas Akhir ini. Penulisan Tugas Akhir ini ditujukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Jurusan Teknik Informatika.

  Terselesaikannya penulisan tugas akhir ini tidak lepas dari peran serta beberapa pihak, baik secara langsung maupun secara tidak langsung. Oleh karena itu, penyusun ingin menyampaikan terima kasih kepada pihak-pihak yang telah ikut membantu dalam penulisan tugas akhir ini, baik dalam memberikan bimbingan, petunjuk, kerjasama, kritikan, maupun saran, antara lain kepada:

  1. Bapak Drs. Jong Jek Siang, M.Sc., selaku Dosen Pembimbing, yang telah memberikan bimbingan dengan kesabaran, dukungan hingga penyusun dapat menyelesaikan Tugas Akhir ini.

  2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma.

  3. Bapak Gunawan UNY, yang telah memberikan bimbingan mental lewat metode LFA-nya.

  4. Kedua orang tua penyusun, adik-adik penyusun serta my lovely yang selalu mendoakan, memberikan semangat, dorongan kepada penyusun untuk dapat menyelesaikan Tugas Akhir ini.

  5. Keluarga bapak Sukirman, atas rumah yang dipercayakan untuk dihuni oleh penyusun.

  6. Teman-teman Jurusan Teknik Informatika Angkatan 2001 yang telah berjuang bersama.

  7. Jenggot, Bebek, Adit, Yudhie, Roni, Wulan atas ilmu-ilmu yang udah dibagi, kesenangan yang diberikan.

  8. Christien, Desni, yang telah mengingatkan, memberikan dukungan, semangat.

  Thx for everything, you’re my best friend.

  9. Udit, yang telah menemani penyusun ke warnet tiap tengah malam sampai pagi.

  10. Siwi, Itax n keluarga, atas dukungan, semangat, pengertian-pengertiannya.

  Kalian dah kayak keluarga sendiri bagi penyusun.

  11. Sentot, Kakek, Dadang, atas persahabatannya. Buat Dadang, thx atas film, cd software, game-gamenya. Buat Sentot, thx buat kesenangan-kesenagannya.

  Buat Kakek, thx ya buat ilmu motornya.

  12. Dan seluruh pihak yang telah ikut ambil bagian dalam penyelesaian Tugas Akhir ini yang tidak dapat penyusun sebutkan satu-persatu.

  Akhir kata, penyusun menyadari bahwa Tugas Akhir yang penyusun buat ini masih jauh dari sempurna, hal ini disebabkan karena kemampuan dan pengetahuan penyusun yang terbatas. Oleh karena itu penyusun sangat mengharapkan saran dan kritik yang membangun dari semua pihak sehingga Tugas Akhir ini akan menjadi lebih sempurna dan dapat bermanfaat bagi penyusun serta seluruh civitas akademika Universitas Sanata Dharma Yogyakarta.

  Penyusun

  

INTISARI

  Perkembangan teknologi menuntut para pelaku teknologi untuk lebih memperhatikan sisi keamanan data yang dimilikinya. Banyak cara dapat dilakukan oleh pemilik data untuk mengamankan data-datanya. Hal ini dilakukan karena adanya kesadaran akan pentingnya data yang dimiliki oleh pemilik data tersebut.

  Kriptografi merupakan salah satu cara pengamanan data dengan cara mengacak data-data tersebut sehingga data-data tersebut tidak dapat dimengerti.

  Steganografi merupakan salah satu cara pengamanan data dengan cara menyembunyikan data-data tersebut ke dalam suatu media lain. Ada banyak algoritma yang digunakan dalam kriptografi maupun steganografi.

  Algoritma Blowfish merupakan salah satu algoritma blok 64-bit pada kriptografi. Least Significant Bit merupakan salah satu algoritma pada steganografi. Penggabungan antara kedua algoritma tersebut dapat meningkatkan tingkat keamanan dari data yang ingin diamankan. Penggabungan antara kedua algoritma yaitu algoritma Blowfish dan Least Significant Bit dapat dibuat dengan menggunakan Microsoft Visual Basic 6.0.

  Hasil dari algoritma Blowfish adalah data-data teracak yang tidak dapat dimengerti dan hasil dari Least Significant Bit adalah media yang telah disisipi oleh data-data teracak hasil algoritma Blowfish. Media yang digunakan untuk algoritma Least Significant Bit adalah citra dengan ekstensi bitmap (*.bmp).

  Hasil percobaan menunjukkan bahwa persentase pertambahan jumlah karakter pada enkripsi dengan algoritma Blowfish akan sangat besar apabila jumlah karakter aslinya sangat sedikit. Persentase pertambahan jumlah karakter pada proses enkripsi akan mendekati titik 0% apabila jumlah karakter aslinya adalah (8 * n) - 1 dimana n = 1, 2, 3, …dst. Sedangkan untuk algoritma Least

  

Significant Bit menunjukkan bahwa penyisipan karakter teks tidak mempengaruhi

  ukuran file dari gambar yang dipilih. Jumlah karakter maksimal yang dapat disisipkan adalah 1/3 ukuran gambar.

  Kelebihan dari algoritma Blowfish dengan menggunakan mode CBC adalah hasil dari algoritma Blowfish dengan kunci dan pesan yang sama akan selalu berbeda. Sedangkan kelebihan dari algoritma Least Significant Bit adalah proses untuk algoritma ini sangat mudah namun keamanan tetap terjamin.

  Sedangkan kelemahan dari penggunaan kedua algoritma secara bersamaan adalah proses yang dibutuhkan untuk melakukan pengamanan akan lebih panjang sehingga membutuhkan waktu yang lebih lama dibandingkan dengan menggunakan satu algoritma.

  

ABSTRACT

  The recent technology development ask the technician to more pay attention toward his own data’s security. Many ways are done by the data’s owner to secure his datas. The owner realize about how important his data is.

  Cryptography is one of many ways in order to secure these important datas. It is done by messing those datas, so the datas cannot be understood.

  Steganography is another way to secure the datas by hiding those datas into another media. There are a lot of algorithm used by both cryptography and steganography.

  Blowfish algorithm is one of 64-bit block algorithm of cryptography. Least Significant Bit is one of steganography algorithm. The uniting between those both algorithm can increase the data’s security rate. This uniting is Blowfish algorithm and Least Significant Bit. It is can be made by using Microsoft Visual Basic 6.0.

  Result of Blowfish algorithm is messed that cannot be understood and the result of Least Significant Bit is the media that has been inserted by messed datas of Blowfish algorithm’s result. The media that uses for Least Significant Bit algorithm is the identify of bitmap extension (.*bmp).

  Result of exercise refer percentage of amount character on encryption with Blowfish algorithm will very large if amount of true character if very least.

  Percentage of amount character on encryption process will close in 0% if amount of true character is (8 * n) – 1 which n = 1, 2, 3, … etc. Least Significant Bit refer inserted text character is not influence file size of picture. Maximal of character can be inserted is 1/3 picture size.

  The advantage of Blowfish algorithm which used CBC mode is result of Blowfish algorithm with same key and message will always different. The advantage of Least Significant Bit algorithm is process for this algorithm is very simple but the security still guarantee. The weakness for those algorithm used together is longest process to secure the datas.

  DAFTAR ISI

  JUDUL…………..…………………………………………………..............................i HALAMAN PERSETUJUAN………………………………………………………...ii HALAMAN PENGESAHAN………………………………………………………...iii HALAMAN PERSEMBAHAN ……………………………………………………...iv HALAMAN TERIMAKASIH………………………………………………………...v HALAMAN MOTTO………………………………………………………………...vi PERNYATAAN KEASLIAN KARYA ……………………………………………..vii KATA PENGANTAR………………………………………………………………viii

  INTISARI……………………………………………………………………………..xi ABSTRACT…………………………………………………………………………xiii DAFTAR ISI ………………………………………………………………………...xv DAFTAR GAMBAR ………..………………………………………………............xix DAFTAR TABEL ……………………………………………………………..…...xxii DAFTAR RUMUS………………………………………………………………....xxiii

  BAB I PENDAHULUAN

  1.1 Latar Belakang Masalah…………………………………………………1

  1.2 Rumusan Masalah……………………………………………………….2

  1.3 Tujuan Penelitian………………………………………………………...2

  1.4 Manfaat Penelitian ………………………………………………………3

  1.5 Batasan Masalah ………………………………………………………...3

  1.6 Metodologi Penelitian…………………………………………………...3

  1.7 Sistematika Penulisan ……………………………………………….......4

  BAB II DASAR TEORI

  2.1 Kriptogrfi(Cryptography) ……………………………………………….6

  2.1.1 Algoritma Kriptografi ……….………………………………….7

  2.1.2 Cipher Block Chaining (CBC) Mode.........……………………...9

  2.1.3 Initialization Vector (IV) ………………….…………………...11

  2.1.4 Blowfish …………………………………….………………….11

  2.1.4.1 Key Expansion ……………………..…………………15

  2.1.4.2 Enkripsi Data………………………..………………..22

  2.1.4.3 Dekripsi Data ………………………..……………….26

  2.2 Steganografi (Steganography) …………………………………………26

  2.2.1 Bitmap(BMP)………………………………….……………….28

  2.2.2 Penyimpanan Data ……………………………………………..29

  2.2.3 Least Significant Bit …………………………….……………...30

  2.2.3.1 Proses Encoding………………………..…………….30

  2.2.3.2 Proses Decoding………………………..…………….34

  BAB III ANALISIS DAN PERANCANGAN SISTEM

  3.1 Perancangan Umum Proses Enkripsi dan Proses Dekripsi …………….38

  3.1.1 Blowfish Enkripsi ……………………………………………...38

  3.1.1.1 Key Expansion …………………………..……………39

  3.1.1.2 Enkripsi Data……………………………..………......43

  3.1.2 Blowfish Dekripsi ……………………………….…………...45

  3.1.2.1 Key Expansion …………………………..……………46

  3.1.2.2 Dekripsi Data …………………………..…………….47

  3.2 PerancanganUmum Proses Encoding dan Proses Decoding…………...50

  3.2.1 Encoding ……………………………………………………….50

  3.2.2 Decoding ……………………………………………………….53

  3.3 Perancangan Umum Proses Cek Piksel Gambar ………………….…..55

  3.4 Desain Sistem…………………………………………………………..56

  3.4.1 Halaman Utama………………………………………………...56

  3.4.2 Halaman Cari Gambar ………………………………………....57

  3.4.3 Halaman Masukkan/Generate Initialization Vector (IV) ……...58

  3.4.4 Halaman Set Kunci/Password………………………………….60

  3.4.5 Halaman Pengecekan Piksel Gambar Secara Otomatis ……......62

  3.4.6 Halaman Pengecekan Piksel Gambar dengan Pemasukkan Koordinat ………………………………………………………64

  3.4.7 Halaman Pengecekan Piksel gambar dengan Koordinat Acak ..64

  3.5 Keluaran Sistem………………………………………………………...65

  BAB IV IMPLEMENTASI SISTEM

  4.1 Spesifikasi Hardware dan Software……………………………………66

  4.1.1 Spesifikasi Hardware…………………………………………..66

  4.1.2 Spesifikasi Software……………………………………………66

  4.2 Pembuatan Antarmuka (Interface)……………………………………..66

  4.2.1 Splash Screen …………………………………………………..66

  4.2.2 Halaman Utama………………………………………………...67

  4.2.3 Halaman Cari Gambar ………………………………………....73

  4.2.4 Halaman Generate IV pada Proses Enkripsi…………………...74

  4.2.5 Halaman Masukkan IV pada Proses Dekripsi ………………....76

  4.2.6 Halaman Set Kunci dan Set Password…………………………77

  4.3 Simulasi Program………………………………………………............79

  4.4 Pembahasan………………………………………………………….....87

  4.4.1 Pembahasan Blowfish ……………………………………….....87

  4.4.2 Pembahasan Steganografi ……………………………………...91

  BAB V PENUTUP

  5.1 Kesimpulan ………………………………………………………….....93

  5.2 Kelebihan dan Kekurangan Sistem…………………………………….93

  5.2.1 Kelebihan Sistem ………………………………………………93

  5.2.2 Kekurangan Sistem …………………………………………….94

  5.3 Saran ………………………………………………………………….94

  DAFTAR PUSTAKA LAMPIRAN

  DAFTAR GAMBAR

Gambar 2.1 Proses Enkripsi dan Dekripsi Secara Sederhana…………………………6Gambar 2.2 Algoritma Asimetris Secara Sederhana ………………………………….8Gambar 2.3 Algoritma Simetris Secara Sederhana………………………………........9Gambar 2.4 Cipher Block Chaining (CBC) Mode Proses Enkripsi………………….10Gambar 2.5 Cipher Block Chaining (CBC) Mode Proses Dekripsi………………….10Gambar 2.6 Algoritma Blowfish……………………………………………………..14Gambar 2.7 Jaringan Feistel………………………………………………………….14Gambar 2.8 Steganografi Secara Sederhana ………………………………………....28Gambar 3.1 Flowchart Blowfish pada Proses Enkripsi……………………………...38Gambar 3.2 Flowchart Key Expansion………………………………………………39Gambar 3.3 Flowchart Enkripsi Data………………………………………………..43Gambar 3.4 Flowchart Blowfish Dekripsi…………………………………………...45Gambar 3.5 Flowchart Dekripsi Data………………………………………………..47Gambar 3.6 Flowchart Encoding…………………………………………………….50Gambar 3.7 Flowchart Decoding ……………………………………………………53Gambar 3.8 Halaman Utama…………………………………………………………57Gambar 3.9 Halaman Cari Gambar…………………………………………………..58Gambar 3.10 Halaman Generate Initialization Vector (IV) Proses Enkripsi………...59Gambar 3.11 Halaman Masukkan Initialization Vector (IV) Proses Dekripsi ………60Gambar 3.12 Halaman Set Kunci Enkripsi…………………………………………..61Gambar 3.13 Halaman Set Kunci Dekripsi…………………………………………..61Gambar 3.14 Halaman Set Password Encode………………………………………..61Gambar 3.15 Halaman Set Password Decode ……………………………………….62Gambar 3.16 Halaman Utama Cek Piksel Gambar…………………………………...63Gambar 3.17 Halaman Informasi Piksel Gambar……………………………………..63Gambar 3.18 Halaman Cek Piksel dengan Memasukkan Koordinat………………....64Gambar 3.19 Halaman Cek Piksel dengan Mengklik Koordinat Acak……………….65Gambar 4.1 Splash Screen …………………………………………………………...67Gambar 4.2 Halaman Utama…………………………………………………………68Gambar 4.3 Halaman Cari Gambar…………………………………………………..73Gambar 4.4 Halaman Memasukkan/Generate IV pada Proses Enkripsi …………….75Gambar 4.5 Halaman Masukkan IV pada Proses Dekripsi…………………………..76Gambar 4.6 Halaman Set Kunci Enkripsi……………………………………………77Gambar 4.7 Halaman Set Kunci Dekripsi……………………………………………78Gambar 4.8 Halaman Set Password Encode…………………………………………78Gambar 4.9 Halaman Set Password Decode…………………………………………78Gambar 4.10 Plaintext Proses Enkripsi ……………………………………...............80Gambar 4.11 Generate IV Proses Enkripsi …………………………………………..80Gambar 4.12 Set Kunci Proses Enkripsi……………………………………………..81Gambar 4.13 Ciphertext Proses Enkripsi…………………………………………….81Gambar 4.14 Cari Gambar Proses Encoding………………………………………...82Gambar 4.15 Password Encoding……………………………………………………82Gambar 4.16 Data Statistik Piksel…………………………………………………….83Gambar 4.17 Cari Gambar Proses Decoding………………………………………...84Gambar 4.18 Password Decoding……………………………………………………85Gambar 4.19 Ciphertext Proses Decoding…………………………………………...85Gambar 4.20 Initialization Vector Proses Dekripsi ………………………………….86Gambar 4.21 Set Kunci Proses Dekripsi……………………………………………..86Gambar 4.22 Plaintext Hasil Dekripsi ……………………………………………….87Gambar 4.23 Grafik Pertambahan Jumlah Karakter………………………………....90

  DAFTAR TABEL

Tabel 2.1 Pengubahan ASCII ke Biner……………………………………………....31Tabel 4.1 Pertambahan Jumlah Karakter pada Proses Enkripsi……………………...90

DAFTAR RUMUS

  Rumus 2.1 Pengubahan Kunci 8-bit Menjadi Kunci 32-bit……………………….....17 Rumus 2.2 Algoritma Blowfish ……………………………………………………...20 Rumus 2.3 Jaringan Feistel …………………………………………………………..20 Rumus 2.4 Pembagi Data 32-bit Menjadi Data 8-bit………………………………...25

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

  Setiap perusahaan, organisasi maupun personal menginginkan semua data maupun informasi penting yang dimiliki terjamin keamanannya. Apabila terjadi kebocoran data maupun informasi penting yang dimilikinya, maka kejadian tersebut merupakan awal bencana untuk perusahaan, organisasi maupun personal yang bersangkutan. Untuk menghindari bencana tersebut maka dibutuhkan suatu pengaman data maupun informasi penting. Terdapat banyak jenis pengaman data maupun informasi mulai dari penggunaan password sederhana sampai penggunaan sertifikat digital. Hal tersebut dilakukan karena perusahaan, organisasi maupun personal sadar akan bahaya pencurian data atau informasi yang dapat terjadi sewaktu-waktu tanpa disadari oleh si pengirim data atau informasi tersebut.

  Terdapat banyak teknik dalam pengamanan data maupun informasi, teknik tersebut antara lain adalah teknik kriptografi (cryptography) dan teknik steganografi (steganography). Terdapat banyak algoritma pengamanan untuk teknik kriptografi yaitu salah satunya adalah algoritma Blowfish dan Least

  

Significant Bit untuk teknik steganografi. Pemilihan terdapat algoritma yang akan

  digunakan tergantung dari banyak hal, antara lain : kecepatan eksekusi algoritma tersebut, gampang tidaknya algoritma tersebut dijebol oleh orang lain, kemudahan dalam pengimplementasiannya, dll.

  Dalam pengamanan pesan, dapat digunakan teknik kriptografi saja atau teknik steganografi saja atau bahkan tidak menutup kemungkinan menggunakan kedua teknik tersebut secara bersamaan. Penggunaan secara bersamaan antara algoritma Blowfish dengan algoritma Least Significant Bit dapat dilakukan dengan cara menggunakan hasil akhir dari algoritma Blowfish sebagai masukkan dari algoritma Least Significant Bit.

  Jika kedua teknik tersebut digunakan secara bersamaan, diharapkan aspek- aspek pengendalian keamanan dapat terpenuhi. Adapun aspek-aspek tersebut adalah proteksi data yang sensitive (privacy/confidentiality), informasi tidak berubah tanpa ijin (integrity), meyakinkan keaslian data (authentication), informasi harus dapat tersedia waktu dibutuhkan (availability), tidak dapat menyangkal (telah melakukan transaksi) (non repudiation, access control).

  1.2 Rumusan Masalah

  Bagaimana menerapkan algoritma Blowfish dan algoritma Least

  

Significant Bit secara bersama dalam proses pengamanan data atau informasi

penting.

  1.3 Tujuan Penelitian

  Membuat suatu sistem aplikasi dengan menggunakan algoritma Blowfish dan algoritma Least Significant Bit yang dapat digunakan untuk mengamankan data atau informasi penting.

  1.4 Manfaat Penelitian

  Dapat membuat sistem aplikasi yang digunakan untuk mengamankan data atau informasi penting menggunakan teknik kriptografi dan teknik steganografi secara bersama.

  1.5 Batasan Masalah

  Adapun batasan masalah dalam pembuatan tugas akhir ini adalah :

  1. Media penyimpanan data atau informasi pada teknik steganografi adalah berupa gambar dengan ekstensi Bitmap (*.bmp).

  2. Berbasis stand-alone.

  3. Panjang kunci untuk algoritma Blowfish adalah 56 byte.

  1.6 Metodologi Penelitian

  Metodologi penelitian yang digunakan untuk membuat suatu sistem aplikasi pengamanan pesan tersebut adalah :

  1. Studi pustaka Metode ini digunakan untuk mencari bahan kajian dari berbagai sumber yang sesuai dengan sistem yang akan dibuat. Bahan kajian yang digunakan dapat berasal dari buku-buku, tutorial-tutorial maupun artikel- artikel dari internet yang dapat digunakan sebagai masukan untuk memecahkan masalah yang ada.

  2. Perancangan Metode ini digunakan untuk melakukan perancangan sistem yang akan dibuat dimulai dari membuat flowchart sistem yang akan dibuat kemudian dilanjutkan dengan merancang tampilan antar muka sistem yang akan dibuat. Perancangan tampilan antar muka dapat berupa sketsa terhadap sistem yang akan dibuat.

  3. Membuat program Metode ini merupakan metode penulisan kode program baik untuk tampilan antar muka maupun kode program untuk algoritma-algoritma yang digunakan. Program yang digunakan untuk penulisan kode program ini adalah Microsoft Visual Basic 6.0

  4. Pengujian Metode ini digunakan untuk menguji program yang telah dibuat.

  Metode ini bertujuan untuk mengetahui apakah program dapat berjalan dengan baik dan benar. Dalam hal ini, hasil yang didapatkan apakah sama dengan data yang diberikan.

1.7 Sistematika Penulisan

  Merupakan struktur penulisan pada pembuatan laporan ini, yaitu : a.

  Bab I : Pendahuluan Bab ini meliputi latar belakang, rumusan masalah, tujuan penelitian, manfaat penelitian, batasan masalah, metodologi penelitian, sistematika penulisan b.

  Bab II : Dasar Teori Pada bab ini akan dibahas mengenai dasar-dasar teori yang mendukung dalam penyusunan tugas akhir ini, yaitu mengenai kriptografi, algoritma Blowfish, Cipher Block Chaining (CBC), Initialization Vector, Steganografi, Least Significant Bit (LSB).

  c.

  Bab III : Analisis dan Perancangan Sistem Bab ini berisi berisikan tentang analisis dan perancangan sistem yang akan dibuat.

  d.

  Bab IV : Implementasi Bab ini berisi tentang implementasi dari perancangan yang telah dibuat pada bab III.

  e.

  Bab V : Kesimpulan dan Saran Bab ini berisikan tentang kesimpulan dan saran dari penyusunan tugas akhir.

  f. Daftar Pusataka

BAB II DASAR TEORI

2.1 Kriptografi (Cyptography)

  Kriptografi (Cryptography) berasal dari bahasa Yunani yaitu crypto dan

  

graphia yang berarti penulisan rahasia. Kriptografi merupakan suatu cabang ilmu

  matematika yang disebut cryptology. Kriptografi adalah ilmu atau seni mengamankan pesan dengan cara menyandikan atau mengacak data atau informasi tersebut sehingga tidak dapat dimengerti oleh pihak yang tidak berhak.

  Pada awalnya kriptografi ini hanya digunakan untuk keperluan militer dan diplomatik. Dengan kemajuan teknologi dan kesadaran akan keamanan data atau informasi, maka kriptografi saat ini banyak digunakan untuk keperluan bisnis ataupun pengiriman data atau informasi.

  Kriptografi secara garis besar terdiri dari dua proses yaitu proses enkripsi dan proses dekripsi. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan.

Gambar 2.1 menjelaskan secara sederhana operasi enkripsi dan dekripsi.Gambar 2.1 Proses enkripsi dan dekripsi secara sederhana Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut : EK (M) = C (Proses Enkripsi) DK (C) = M (Proses Dekripsi)

  Pada proses enkripsi, pesan M disandikan dengan suatu kunci K lalu dihasilkan pesan C. sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelum dienkripsi. Dengan demikian keamanan suatu pesan tergantung pada kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan. Sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis, serta produk-produk yang menggunakan algoritma tersebut dapat diproduksi massal. Tidaklah menjadi masalah apabila seseorang mengetahui algoritma yang digunakan. Selama orang tersebut tidak mengetahui kunci yang dipakai, maka orang tersebut tetap tidak dapat membaca pesan yang telah disandikan.

2.1.1 Algoritma Kriptografi

  Berdasarkan kunci yang dipakai, algoritma kriptografi dapat dibedakan menjadi dua golongan, yaitu : a. Algoritma Asimetris (Asymmetric Algorithms)

  Algoritma asimetris (asymmetric algorithms) adalah algoritma yang menggunakan kunci berbeda untuk proses enkripsi dan proses dekripsinya.

  Algoritma ini disebut juga algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat diketahui oleh setiap orang, tapi kunci untuk dekripsi hanya diketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key)

Gambar 2.2 menjelaskan secara sederhana algoritma asimetris (asymmetric

  algorithms )

Gambar 2.2 Algoritma asimetris secara sederhana

  Dari gambar 2.2 dapat dilihat bahwa pada algoritma asimetris terdapat dua kunci yang berbeda yaitu Kunci Umum dan Kunci Pribadi.

  b. Algoritma Simetris (Symmetric Algorithms) Algortima simetris (symmetric algorithms) atau disebut juga algoritma kriptografi konvensional adalah algoritma yang menggunakan kunci untuk proses enkripsi sama dengan kunci untuk proses dekripsi.

Gambar 2.3 menjelaskan secara sederhana algoritma simetris (symmetric

  algorithms )

Gambar 2.3 Algoritma simetris secara sederhana

  Dari Gambar 2.3, dapat dilihat bahwa terdapat dua kunci yang sama yaitu Kunci 1 pada proses enkripsi dan Kunci 1 pada proses dekripsi.

  Algoritma simetris dapat dibagi menjadi dua kategori, yaitu : algortima aliran (Stream Ciphers) dan algortima blok (Block Ciphers). Pada algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedangkan pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data.

2.1.2 Cipher Block Chaining (CBC) Mode

  Cipher Block Chaining (CBC) merupakan mekanisme arus balik untuk

  algoritma blok (block cipher). Hasil dari proses enkripsi digunakan untuk memodifikasi proses enkripsi berikutnya. Setiap blok ciphertext tidak saja tergantung pada blok plaintext tetapi tergantung pada semua blok plaintext sebelumnya.