Implementasi Keamanan Teks Pada Citra Bitmap Dengan Kombinasi Algoritma Knapsack Dan Algoritma Least Significant Bit (LSB) Terhadap Modifikasi Nilai Brightness

(1)

IMPLEMENTASI KEAMANAN TEKS PADA CITRA BITMAP DENGAN KOMBINASI ALGORITMA KNAPSACK DAN ALGORITMA LEAST

SIGNIFICANT BIT (LSB) TERHADAP MODIFIKASI NILAI BRIGHTNESS

SKRIPSI

DIRA FAHRENDY SEMBIRING 081401100

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2013


(2)

IMPLEMENTASI KEAMANAN TEKS PADA CITRA BITMAP DENGAN

KOMBINASI ALGORITMA KNAPSACK DAN ALGORITMA LEAST

SIGNIFICANT BIT (LSB) TERHADAP MODIFIKASI

NILAI BRIGHTNESS

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar sarjana komputer

DIRA FAHRENDY SEMBIRING 081401100

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2013


(3)

PERSETUJUAN

Judul : IMPLEMENTASI KEAMANAN TEKS PADA

CITRA BITMAP DENGAN KOMBINASI

ALGORITMA KNAPSACK DAN ALGORITMA

LEAST SIGNIFICANT BIT (LSB) TERHADAP

MODIFIKASI NILAI BRIGHTNESS

Kategori : SKRIPSI

Nama : DIRA FAHRENDY SEMBIRING

Nomor Induk Mahasiswa : 081401100

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM-TI) UNIVERSITAS

SUMATERA UTARA

Diluluskan di

Medan, 27 Agustus 2013

Komisi Pembimbing :

Pembimbing II Pembimbing I

M. Andri B, ST,M.Comp.Sc, MEM Dr. Poltak Sihombing, M. Kom NIP. 197510082008011011 NIP. 196203171991031001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP.196203171991031001


(4)

PERNYATAAN

IMPLEMENTASI KEAMANAN TEKS PADA CITRA BITMAP DENGAN

KOMBINASI ALGORITMA KNAPSACK DAN ALGORITMA LEAST

SIGNIFICANT BIT (LSB) TERHADAP MODIFIKASI

NILAI BRIGHTNESS

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Agustus 2013

Dira Fahrendy Sembiring 081401100


(5)

PENGHARGAAN

Alhamdulillahirrabbil’alamin. Puji dan syukur penulis ucapkan kepada Allah SWT atas limpahan rahmat, rezeki dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, dan tidak lupa Shalawat dan salam kepada Rasulullah Muhammad SAW.

Pada pengerjaan skripsi dengan judul Implementasi keamanan teks pada citra bitmap dengan kombinasi algoritma knapsack dan algoritma least significant bit

(LSB) terhadap modifikasi nilai brightness, penulis menyadari bahwa banyak memperoleh bantuan dari berbagai pihak yang turut membantu dan memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada:

1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, MSc(CTM). Sp.A(K) selaku rektor Universitas Sumatera Utara periode 2010 – 2015.

2. Bapak Prof. DR. Muhammad Zarlis M.Scselaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku ketua program studi S-1 Ilmu Komputer dan selaku dosen pembimbing I.

4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi Ilmu Komputer 5. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku dosen pembimbing II yang banyak memberikan motivasi nasehat dan arahan yang baik khususnya pada teknik penulisan tugas akhir ini.

6. Bapak Ade Candra, ST, M.Kom dan bapak Handrizal, S.Si, M.Comp.Sc selaku dosen Pembanding I dan II, atas kritik dan saran beliau maka penulisan tugas akhir ini dapat diselesaikan dengan baik.

7. Teristimewa penulis ucapkan terima kasih sebesar-besarnya kepada kedua orang tua penulis ayahanda Ir Edison Sembiring, MT dan ibunda tersayang Dra Nurdiana


(6)

Br Ginting Abangda tersayang Dira Ervandy Sembiring, SE adinda tersayang Dira tri Armanda, dan Dira Aprilia Timanta yang selalu mendo’akan dan memberi motivasi dan perhatian yang diberikan sehingga penulis dapat menyelesaikan skripsi ini.

8. Teman teristimewa Namira Listya Utami Tanjung, S.Kom yang selalu menemani dan tak henti-hentinya memberi motivasi, dukungan dan doa.

9. Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2008 secara khusus dan seluruh perkumpulan parkir rangers crew ( Octi Fadhilla, S.Kom, Nanang Tri Bhuana, S.Kom, Khairunnisa Lubis, S.Kom Nurul Faradhilla, S.Kom, Rahmad parmohonan, S.Kom, Gustaf Prameswara, S.Kom, Yassin R Fadhilah Harahap, S.kom, Nasan Martua Siregar, S.Kom, Andika Diapari S.Kom, Setyo Muhammad, S.Kom, Marthin Febrianto) yang telah memberikan semangat, motivasi dan dukungan moril yang tiada hentinya serta setia mendampingi penulis sampai penulisan skripsi ini selesai.

10.Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.

Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, oleh karena itu penulis menerima kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya.

Medan, Agustus 2013


(7)

ABSTRAK

Algoritma Knapsack merupakan bagian dari kriptografi asimetri yang mana kunci enkripsinya berbeda dengan kunci dekripsinya. Steganografi adalah teknik menyembunyikan data ke dalam data lain dengan cara menumpanginya tanpa mengubah data yang ditumpanginya tersebut sehingga tampilan data tetap terlihat sama. Dalam penelitian ini kriptografi dan steganografi akan digabungkan dan diimplementasikan kedalam sebuah program kombinasi. Algoritma yang digunakan adalah knapsack untuk kriptografi dan LSB (Least Bit Significant) untuk Steganografi. Dimana plainteks terlebih dahulu dienkripsi menggunakan Knapsack kemudian disisipkan ke file citra (citra penampung) menggunakan algoritma LSB. Plainteks dalam bentuk file *.txt dan citra penampung berformat *.bmp. Selain kedua kombinasi tersebut maka dilakukan juga modifikasi nilai brightness pada citra penampung yang telah disisipkan untuk memperketat keamanan data teks. Hasil pengujian pada sebuah sampel yang memiliki panjang 4 karakter dan waktu yang dibutuhkan untuk enkripsi adalah 0.860558 detik. Cipherteks juga memiliki panjang 4 karakter, waktu untuk penyisipan kedalam citra berukuran 100 × 137 piksel adalah 9.31643 detik dengan penambahan nilai brightness sebesar 30. Untuk pengembalian cipherteks menjadi plainteks dilakukan ekstraksi terlebih dahulu kemudian dekripsi. Pada penelitian ini semakin besar ukuran citra penampungnya maka semakin lama waktu proses penyisipan cipherteks ke dalam citra penampung tersebut. Namun semakin besar citra penampungnya semakin besar pula kapasitas pesan yang dapat disembunyikan.

.


(8)

IMPLEMENTATION OF TEXT SECURITY ON BITMAP IMAGE WITH COMBINATION OF KNAPSACK AND LEAST SIGNIFICANT BIT

(LSB) ALGORITHM FOR THE BRIGHTNESS VALUE MODIFICATION

ABSTRACT

Knapsack algorithm is part of the asymmetric cryptography which encryption key is different from the decryption key. Steganography is a technique for hiding the main data inside the other one by riding without changing the data host so the display of data still look the same. In this study, cryptography and steganography will be colaboraated and implemented into a combination of program. We will use knapsack algorithm for cryptography and LSB (Least Significant Bit) for Steganography. Where the plaintext will be encrypted using the Knapsack then pasted into the image file (image cover) using LSB algorithm. Plaintext in a file *.txt format. and the image container format *.Bmp. Except the combination of the two algorithm, we also modified brightness values in the cover image that has been inserted for text data security tightened. The test results on a sample that has a length of 4 characters and the time required for encryption is 0.860558 seconds. Ciphertext also has a length of 4 characters, the time for insertion into the image size is 100 × 137 pixels 9.31643 seconds with addition of brightness value is 30. For returns the ciphertext into plaintext, we do the extraction first and then the decryption. In this study, the larger image size the longer embedding ciphertext into the cover image. However, the larger cover image, the larger capacity of the message that can be hidden.


(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel xi

Daftar Gambar xii

Bab 1 Pendahuluan

1.1 Latar Belakang Masalah 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 Landasan Teori

2.1 Kriptografi 6

2.1.1 Algoritma Simetris 7


(10)

2.2 Algoritma Knapsack 9

2.2.1 Knapsack Problem 9

2.2.2 Enkripsi Dan Dekripsi 11

2.3 Steganografi 13

2.4 Citra Digital 14

2.4.1 Format Citra Digital 15

2.4.2 Format Citra Bitmap 16

2.5 Algoritma LSB 18

2.5.1 Algoritma LSB Terhadap Modifikasi Nilai Brightness 19

Bab 3 Analisis Dan Perancangan Sistem

3.1 Analisis Sistem 21

3.1.1 Analisis Masalah 21

3.2 Analisis Persyaratan 22

3.2.1. Persyaratan Fungsional 23

3.2.2. Persyaratan Non-Fungsional 23

3.3 Pemodelan Sistem 24

3.3.1 Use case Diagram 24

3.3.1.1 Activity Diagram untuk Use case Bangkit kunci 25 3.3.1.2 Activity Diagram untuk Use case Enkripsi 26 3.3.1.3 Activity Diagram untuk Use case Penyisipan 27 3.3.1.4 Activity Diagram untuk Use case Ekstraksi 29 3.3.1.5 Activity Diagram untuk Use case Dekripsi 30

3.3.2 Sequence Diagram 32

3.3.3 Flowchart Sistem 34

3.4 Perancangan Antar Muka 39

3.4.1 Rancangan Menu Utama 40

3.4.2 Rancangan Pembangkit Kunci Dan Enkripsi 41

3.4.3 Rancangan Penyisipan 42

3.4.4 Rancangan Ekstraksi 43

3.4.5 Rancangan Bantuan 44


(11)

Bab 4 Implementasi dan Pengujian Sistem

4.1. Pemrosesan Keamanan Pesan 45

4.1.1 Tahapan algoritma Knapsack dan LSB 45

4.1.1.1 Proses Enkripsi menggunakan algoritma Knapsack 45 4.1.1.2 Proses Penyisipan menggunakan algoritma LSB 47 4.1.1.3 Proses Dekripsi menggunakan algoritma Knapsack 51

4.2. Implementasi Sistem 52

4.2.1 Form Menu Utama 52

4.2.2 Form Enkripsi 53

4.2.3 Form Penyisipan 54

4.2.4 Form Ekstraksi dan Dekripsi 55

4.3. Pengujian Sistem 56

4.3.1 Proses Enkripsi 56

4.3.2 Proses Penyisipan 61

4.3.3 Proses Ekstraksi 64

4.3.4 Proses Dekripsi 66

Bab 5 Penutup

5.1. Kesimpulan 70

5.2. Saran 71

Daftar Pustaka 72

Lampiran A


(12)

DAFTAR TABEL

Halaman

2.1 BMP File Header 17

3.1 Spesifikasi Use CaseBangkit Kunci 25

3.2 Spesifikasi Use CaseEnkripsi 27

3.3 Spesifikasi Use CasePenyisipan 28

3.4 Spesifikasi Use case Ekstraksi 30

3.5 Spesifikasi Use case Dekripsi 31


(13)

DAFTAR GAMBAR

Halaman

2.1 Proses Enkripsi Dan Dekripsi 6

2.2 Diagram Proses Enkripsi Dan Dekripsi Algoritma Simetris 8 2.3 Diagram Proses Enkripsi Dan Dekripsi Algoritma Asimetris 8

2.4 Format Citra 8-bit (256 Warna) 16

2.5 Format Citra 24-bit (16 Juta Warna) 17

3.1 Diagram Ishikawa Untuk Analisis Permasalahan Sistem 22

3.2 Use Case Diagram 24

3.3 Activity Diagram Bangkit Kunci 25

3.4 Activity Diagram Enkripsi 26

3.5 Activity DiagramPenyisipan 28

3.6 Activity Diagram Ekstraksi 28

3.7 Activity Diagram Dekripsi 31

3.8 Sequence Diagram Enkripsi 32

3.9 Sequence Diagram Penyisipan 33

3.10 Sequence Diagram Bangkit Kunci 34

3.11 Flowchart Bangkit Kunci 35

3.12 Flowchart Sistem Enkripsi 36

3.13 Flowchart Enkripsi 36

3.14 Flowchart Penyisipan 37

3.15 Flowchart Ekstraksi 38

3.16 Flowchart Sistem Dekripsi 38

3.17 Flowchart Dekripsi 39

3.18 Rancangan Menu Utama 40

3.19 Rancangan Bangkit Kunci Dan Enkripsi 41

3.20 Rancangan Penyisipan 42


(14)

3.22 Rancangan Bantuan 44

3.23 Rancangan Tentang 45

4.1 Citra Cover (100 × 137 Piksel) 48

4.2 Citra Dalam Bentuk Biner 48

4.3 Proses Penyisipan 49

4.4 Sebelum Termodifikasi 50

4.5 Sesudah Termodifikasi 50

4.6 Form Menu Utama 53

4.7 Form Enkripsi 54

4.8 Form Penyisipan 55

4.9 Form Ekstraksi dan Dekripsi 56

4.10 Input Parameter 57

4.11 Buka File Teks 58

4.12 Proses Enkripsi 59

4.13 Simpan Kunci Rahasia 60

4.14 Simpan Cipherteks 60

4.15 Memasukkan Citra Cover 61

4.16 Pilih Teks 62

4.17 Stego Image Termodifikasi 63

4.18 Simpan Stego Image Termodifikasi 64

4.19 Buka File Citra 65

4.20 Ekstraksi 66

4.21 Load Kunci 67


(15)

ABSTRAK

Algoritma Knapsack merupakan bagian dari kriptografi asimetri yang mana kunci enkripsinya berbeda dengan kunci dekripsinya. Steganografi adalah teknik menyembunyikan data ke dalam data lain dengan cara menumpanginya tanpa mengubah data yang ditumpanginya tersebut sehingga tampilan data tetap terlihat sama. Dalam penelitian ini kriptografi dan steganografi akan digabungkan dan diimplementasikan kedalam sebuah program kombinasi. Algoritma yang digunakan adalah knapsack untuk kriptografi dan LSB (Least Bit Significant) untuk Steganografi. Dimana plainteks terlebih dahulu dienkripsi menggunakan Knapsack kemudian disisipkan ke file citra (citra penampung) menggunakan algoritma LSB. Plainteks dalam bentuk file *.txt dan citra penampung berformat *.bmp. Selain kedua kombinasi tersebut maka dilakukan juga modifikasi nilai brightness pada citra penampung yang telah disisipkan untuk memperketat keamanan data teks. Hasil pengujian pada sebuah sampel yang memiliki panjang 4 karakter dan waktu yang dibutuhkan untuk enkripsi adalah 0.860558 detik. Cipherteks juga memiliki panjang 4 karakter, waktu untuk penyisipan kedalam citra berukuran 100 × 137 piksel adalah 9.31643 detik dengan penambahan nilai brightness sebesar 30. Untuk pengembalian cipherteks menjadi plainteks dilakukan ekstraksi terlebih dahulu kemudian dekripsi. Pada penelitian ini semakin besar ukuran citra penampungnya maka semakin lama waktu proses penyisipan cipherteks ke dalam citra penampung tersebut. Namun semakin besar citra penampungnya semakin besar pula kapasitas pesan yang dapat disembunyikan.

.


(16)

IMPLEMENTATION OF TEXT SECURITY ON BITMAP IMAGE WITH COMBINATION OF KNAPSACK AND LEAST SIGNIFICANT BIT

(LSB) ALGORITHM FOR THE BRIGHTNESS VALUE MODIFICATION

ABSTRACT

Knapsack algorithm is part of the asymmetric cryptography which encryption key is different from the decryption key. Steganography is a technique for hiding the main data inside the other one by riding without changing the data host so the display of data still look the same. In this study, cryptography and steganography will be colaboraated and implemented into a combination of program. We will use knapsack algorithm for cryptography and LSB (Least Significant Bit) for Steganography. Where the plaintext will be encrypted using the Knapsack then pasted into the image file (image cover) using LSB algorithm. Plaintext in a file *.txt format. and the image container format *.Bmp. Except the combination of the two algorithm, we also modified brightness values in the cover image that has been inserted for text data security tightened. The test results on a sample that has a length of 4 characters and the time required for encryption is 0.860558 seconds. Ciphertext also has a length of 4 characters, the time for insertion into the image size is 100 × 137 pixels 9.31643 seconds with addition of brightness value is 30. For returns the ciphertext into plaintext, we do the extraction first and then the decryption. In this study, the larger image size the longer embedding ciphertext into the cover image. However, the larger cover image, the larger capacity of the message that can be hidden.


(17)

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Dewasa ini perkembangan teknologi semakin pesat, ketergantungan antara komputer dan telekomunikasi semakin besar sehingga memudahkan kita untuk saling bertukar informasi secara jarak jauh, baik antar kota antar wilayah antar Negara bahkan antar benua tanpa membutuhkan waktu yang lama lagi dan bukan merupakan suatu kendala lagi dalam melakukan komunikasi dan pertukaran data. Teknik dan metode penyampaian pesan pun semakin beragam. Namun, teknik dan metode penyampaian pesan tersebut tidak menjamin keamanan pesan tersebut sampai ke tujuan. Apalagi jika pesan yang ingin disampaikan tersebut bersifat penting dan rahasia. Oleh karena itu perlu digunakan berbagai cara untuk mengamankan pesan tersebut agar dapat sampai ke tujuan secara utuh. Seperti halnya pesan teks, pengamanan pesan dapat dilakukan dengan berbagai teknik, Salah satu cara untuk mengamankan data adalah dengan menggunakan kombinasi dua teknik yaitu kriptografi dan steganografi.

Pada penilitian ini akan dilakukan enkripsi dan dekripsi pesan berupa teks dengan menggunakan metode kriptografi yaitu Algoritma Knapsack. Dan dikombinasikan dengan metode steganografi yaitu menyamarkan keberadaan informasi (data teks) ke dalam media penyamar, misalnya media yang berbentuk berkas multimedia menggunakan algoritma least significant bit (LSB). Metode LSB ini memodifikasi bit-bit terakhir dari setiap piksel citra dari semua komponen warna sesuai dengan bit-bit data yang akan disisipi ke dalam citra penampung [9]. Untuk pengamanan yang lebih baik lagi, penulis menambahkan modifikasi nilai brightness pada citra penampung.


(18)

Penelitian ini merujuk pada skripsi yang berjudul “PERLINDUNGAN PESAN RAHASIA PADA CITRA DIGITAL MENGGUNAKAN METODE LEAST SIGNIFICANT BIT STEGANOGRAFI”yang ditulis oleh Hidayat. Pada Skripsi ini, digunakan suatu metode steganografi berbasiskan Least significant bit (LSB) untuk diimplementasikan pada aplikasi steganografi ini. Dimana nantinya akan berguna untuk mengirimkan data rahasia secara aman tanpa sepengetahuan orang lain. Metode LSB ini dapat membantu dalam mengirimkan pesan rahasia secara aman karena pesan yang dikirim tidak dapat dipaksa di buka atau diganggu oleh orang lain karena akan hancur dengan sendirinya demi keamanan pesan itu sendiri [3].

Penelitian skripsi berikut mengenai “IMPLEMENTASI STEGANOGRAFI DAN KRIPROGRAFI UNTUK KEAMANAN DATA DENGAN METODE RC2 DAN

LSB PADA CITRA BITMAP” yang ditulis oleh Naufal. penelitian ini adalah

membuat suatu aplikasi keamanan data dengan menggabungkan teknik steganografi dan kriptografi. Metode yang akan digunakan dalam steganografi yaitu metode Least Significant Bit (LSB) sedangkan pada kriptografi yang akan digunakan adalah metode RC2. Proses yang dilakukan adalah dengan mengenkripsi data yang dirahasiakan terlebih dahulu, lalu menyembunyikannya ke dalam media lain dalam bentuk gambar yaitu berupa citra bitmap. Hasil dari penelitian ini adalah aplikasi yang dirancang mampu memenuhi kebutuhan keamanan informasi, baik perlindungan terhadap kerahasiaan informasi maupun perlindungan terhadap pemalsuan dan pengubahan informasi yang tidak diinginkan [7].

Menimbang begitu pentingnya arti keamanan dalam komunikasi pertukaran data, maka penulis ingin melakukan suatu penelitian yang berjudul “Implementasi keamanan teks pada citra bitmap dengan Kombinasi Algoritma

knapsack dan Algoritma least significant bit (LSB) terhadap Modifikasi Nilai


(19)

1.2 Rumusan Masalah

Berdasarkan hal-hal yang telah diungkapkan pada latar belakang, maka yang menjadi rumusan masalah dalam penelitan ini apakah “Kombinasi algoritma Knapsack dan LSB terhadap modifikasi nilai brightness tepat untuk digunakan dalam mengamankan data”.

1.3 Batasan Masalah

Beberapa batasan masalah yang menjadi acuan dalam pengerjaan skripsi ini adalah sebagai berikut:

1. Penelitian ini hanya membahas tentang kombinasi dua teknik pengamanan data yaitu menggunakan algoritma Knapsack dan LSB terhadap modifikasi nilai

brightness.

2. Pesan yang menjadi objek dalam implementasi ini adalah file teks dengan format *.txt.

3. Citra penampung dalam implementasi ini adalah berformat *.BMP.

4. Citra penampung yang digunakan mempunyai nilai warna R,G,B lebih besar dari 30 dan lebih kecil dari 210

1.4 Tujuan Penelitian

1. Membangun aplikasi yang dapat merahasiakan pesan ke dalam citra dengan menggunakan dua teknik yaitu enkripsi dan dekripsi menggunakan algoritma

Knapsack serta teknik steganografi menggunakan LSB terhadap modifikasi nilai brightness.

2. Mengetahui hasil kombinasi antara dua proses pengamanan data

3. Membuktikan tepat atau tidaknya metode enkripsi dekripsi pesan menggunakan algortima Knapsack dikombinasikan dengan metode penyembunyian pesan menggunakan algoritma LSB terhadap modifikasi nilai brightness untuk pengamanan data.


(20)

1.5 Manfaat Penelitian

1. Diharapkan penilitian ini akan menambah literatur dan rujukan dalam bidang ilmu enkripsi dekripsi mengenai pengamanan data menggunakan algoritma

Knapsack serta ilmu steganografi menggunakan algoritma LSB pada citra.

2. Bagi masyarakat diharapkan aplikasi ini dapat berguna untuk memberikan rasa aman dengan pengamanan data secara ganda untuk melakukan pertukaran informasi melalui jaringan komunikasi.

1.6 Metode Penelitian

Tahapan yang dilakukan dalam penelitian ini:

1. Studi Literatur

Penulisan tugas akhir ini di awali dengan melakukan pembelajaran literatur pada sejumlah buku, artikel, paper, jurnal, makalah, maupun situs internet mengenai kriptografi dengan algoritma knapsack dan steganografi dengan algoritma LSB terhadap modifikasi Nilai Brightness .

2. Analisis dan Perancangan Sistem

Pada tahap ini akan dilaksanakan perancangan antarmuka dan perancangan sistem Keamanan teks pada citra bitmap dengan menggunakan algoritma knapsack dan algoritma LSB terhadap modifikasi Nilai Brightness.

3. Implementasi Sistem

Pada tahap ini akan dilaksanakan pengkodean ( coding ).

4. Pengujian Sistem

Dalam tahap ini dilakukan pengujian terhadap sistem yang telah dibangun, seperti melakukan ujicoba proses enkripsi dan dekripsi serta penyisipan dan ekstraksi.

5. Dokumentasi

Dalam tahapan ini dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem dalam format penulisan penelitian.


(21)

1.7 Sistematika Penulisan

Dalam penulisan skripsi ini penulis membuat sistematika sebagai berikut:

BAB 1 PENDAHULUAN membahas Latar Belakang, Perumusan Masalah, Batasan Masalah, Tujuan penelitian, Manfaat Penelitian, Metode Penelitian yang dilakukan serta Sistematika penulisan.

BAB 2 LANDASAN TEORI membahas tentang landasan teori kriptografi menggunakan algoritma knapsack dan steganografi menggunakan algoritma

Least Significant Bit (LSB) terhadap modifikasi nilai brightness.

BAB 3 ANALISIS DAN PERANCANGAN membahas mengenai penyisipan pesan teks ke dalam citra, flow chart sistem serta perancangan antar muka pengguna.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM membahas tentang implementasi dan pengujian sistem.

BAB 5 PENUTUP merupakan kesimpulan dari semua pembahasan yang ada dengan saran-saran yang ditujukan bagi para pembaca atau pengembang.


(22)

BAB 2

LANDASAN TEORI

2.1 Kriptografi

Kriptografi merupakan metode untuk mengirimkan pesan rahasia sehingga hanya penerima pesan yang dimaksud dapat menghapus, menyamarkan atau membaca pesan tersebut. Kriptografi berasal dari bahasa Yunani yaitu kryptos yang berarti tersembunyi dan grapein yang berarti menulis. Pesan asli disebut plaintext dan pesan yang telah disandikan disebut ciphertext. Pesan yang telah dienkapsulasi dan dikirim disebut kriptogram. Proses mengubah plaintext menjadi ciphertext disebut enkripsi. Membalikkan proses ciphertext menjadi plaintext disebut dekripsi. Siapapun yang terlibat dalam kriptografi disebut kriptografer. Pada sisi lain, studi tentang teknik matematika karena berusaha untuk mengalahkan metode kriptografi disebut pembacaan sandi. Cryptanalysts adalah orang-orang berlatih pembacaan sandi [5]. Proses enkripsi dan dekripsi seperti pada gambar 2.1:

Gambar 2.1 Proses Enchiphering dan Deciphering [4]

Konsep kriptografi sendiri telah lama digunakan oleh manusia misalnya pada peradaban Mesir dan Romawi walau masih sangat sederhana. Prinsip-prinsip yang mendasari kriptografi yakni:

1. Confidentiality (kerahasiaan) merupakan usaha untuk menjaga kerahasiaan pesan agar tidak dapat di akses oleh orang-orang yang tidak berhak.

Enciphering Plaintext

Ciphertext

Key Key Deciphering

Plaintext Ciphertext


(23)

Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami.

2. Data integrity (keutuhan data) yaitu layanan untuk menjaga keutuhan

data, dalam artian data tersebut tidak mengalami perubahan selama proses pengiriman atau tidak mengalami modifikasi oleh pihak-pihak yang tidak berhak.

3. Authentication (keontetikan) yaitu layanan yang berhubungan dengan

identifikasi apakah pesan tersebut berasal dari sumber yang diharapkan. Dengan kata lain informasi itu datang dari orang yang di hendaki.

4. Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya)

Kriptografi modern merupakan suatu perbaikan yang mengacu pada kriptografi klasik. Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim melalui jaringan komputer. Algoritma kriptografi modern terdiri dari dua bagian:

2.1.1 Algoritma Simetris

Algoritma simetri sering disebut dengan algoritma klasik, karena memakai kunci yang sama untuk proses enkripsi dan dekripsi. Algoritma ini sudah ada sejak 4000 tahun yang lalu. Karena kunci yang digunakan untuk proses enkripsi dan dekripsi sama, sehingga sering disebut juga one key/ private key/ single key, seperti

Twofish, One Time Pad [5]. Proses enkripsi dan dekripsi algoritma simetris dapat dilihat pada gambar 2.2:

Plainteks Cipherteks Plainteks

dekripsi enkripsi

Kunci dekripsi (K) Kunci enkripsi (K)


(24)

Gambar 2.2 Diagram proses enkripsi dan dekripsi algoritma simetris

2.1.2 algoritma Asimetris

Algoritma Asimetri sering juga disebut dengan kunci publik. Dimana kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi, seperti algoritma RSA, ElGamal, dll. Kunci-kunci tersebut berhubungan satu sama lain. Proses enkripsi dan dekripsi algoritma asimetris dapat dilihat pada gambar 2.3:

Gambar 2.3 Diagram proses enkripsi dan dekripsi algoritma asimetris.

Salah satu contoh algoritma kriptografi simetris adalah algoritma

knapsack. Algoritma knapsack adalah algoritma kriptografi kunci-publik yang keamanannya terletak pada sulitnya memecahkan persoalan knapsack (knapsack problem). Knapsack artinya karung/kantung. Karung mempunyai kapasitas muat terbatas. Barang-barang dimasukkan ke dalam karung hanya sampai batas kapasitas maksimum karung saja.

2.2 Algoritma Knapsack

Permasalahan Knapsack adalah permasalahan optimisasi kombinatorial. Diberikan kumpulan benda, masing-masing memiliki berat dan nilai, tentukan benda mana saja yang akan diambil sehingga total beratnya sama dengan suatu batas nilai (biasanya kapasitas tas) dan nilai yang sebesar-besarnya. Nama dari problem ini

Cipherteks

enkripsi dekripsi

Plainteks Plainteks


(25)

diperoleh dari masalah yang dihadapi seseorang saat berhadapan dengan tas yang ukurannya terbatas namun harus diisi dengan benda yang paling berharga atau berguna. Algoritma knapsack diciptakan untuk menyelesaikan problem knapsack. Dimana harus mencari solusi terbaik dari banyak kemungkinan yang dihasilkan.

2.2.1 Knapsack Problem

Diberikan bobot knapsack adalah M. Diketahui n buah objek yang masing-masing bobotnya adalah w1, w2, … wn.Tentukan nilai bi sedemikian sehingga

M = b1w1 + b2w2 + … + bnwn …...………...(8.1)

yang dalam hal ini, bi bernilai 0 atau 1. Jika bi = 1, berarti objek i dimasukkan ke

dalam knapsack, sebaliknya jika bi = 0, objek i tidak dimasukkan.

Di dalam teori algoritma, persoalan knapsack termasuk ke dalam kelompok NP-complete. Persoalan yang termasuk NP-complete tidak dapat dipecahkan dalam orde waktu polynomial [6].

Ada dua macam bentuk atau tipe Knapsack yaitu:

1) Algoritma knapsack sederhana (General Knapsack) 2) Superincreasing knapsack

Algoritma superincreasing knapsack adalah algoritma yang lemah, karena cipherteks dapat didekripsi menjadi plainteksnya secara mudah dalam waktu lanjar. Algoritma

non-superincreasing knapsack atau normal knapsack adalah kelompok algoritma

knapsack yang sulit (dari segi komputasi) karena membutuhkan waktu dalam orde eksponensial untuk memecahkannya. Namun, superincreasing knapsack dapat dimodifikasi menjadi non-superincreasing knapsack dengan menggunakan kunci publik (untuk enkripsi) dan kunci rahasia (untuk dekripsi). Kunci publik merupakan barisan non-superincreasing sedangkan kunci rahasia tetap merupakan barisan

superincreasing. Modifikasi ini ditemukan oleh Martin Hellman dan Ralph Merkle.


(26)

1. Tentukan barisan superincreasing.

2. Kalikan setiap elemen di dalam barisan tersebut dengan n modulo m. Modulus m seharusnya angka yang lebih besar daripada jumlah semua elemen di dalam barisan, sedangkan pengali n seharusnya tidak mempunyai faktor persekutuan dengan m.

3. Hasil perkalian akan menjadi kunci publik sedangkan barisan

superincreasing semula menjadi kunci rahasia.

Contoh 1:

Misalkan barisan superincreasing adalah {1,2,5,11,23,47,95), m = 230, dan n = 3. Barisan non-superincreasing (atau normal) knapsack dihitung sbb:

1 . 3 mod 230 = 3

2 . 3 mod 230 = 6

5 . 3 mod 230 = 15

11 . 3 mod 230 = 33

23 . 3 mod 230 = 69

47 . 3 mod 230 = 141

95 . 3 mod 230 = 55

Jadi, kunci publik adalah {3,6,15,33,69,141,55}, sedangkan kunci rahasia adalah {1,2,5,11,23,47,95}.

2.2.2 Enkripsi dan Dekripsi

Proses menyandikan plainteks menjadi chiperteks disebut enkripsi (encryption)

atau enciphering (standard nama menurut ISO 7498-2). Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi

(decryption) atau deciphering (standard nama menurut ISO 7498-2). Enkripsi dan dekripsi dapat diterapkan baik pada pesan yang dikirim maupun pada pesan tersimpan. Istilah encryption of data in motion mengacu pada enkripsi pesan yang ditransmisikan melalui saluran komunikasi, sedangkan istilah encryption of data


(27)

at-rest mengacu pada enkripsi dokumen yang disimpan didalam storage. Contoh

encryption of data in motion adalah pengiriman nomor PIN dari mesin ATM ke computer server dikantor bank pusat. Contoh encryption of data at-rest enkripsi file basis data didalam hard disk.

a. Enkripsi

Enkripsi dilakukan dengan cara yang sama seperti algoritma knapsack sebelumnya. Mula-mula plainteks dipecah menjadi blok bit yang panjangnya sama dengan kardinalitas barisan kunci publik. Kalikan setiap bit di dalam blok dengan elemen yang berkoresponden di dalam kunci publik.

Contoh 2:

Misalkan Plainteks: 1000010101010110010111010101 dan kunci publik yang digunakan seperti pada Contoh 1.

Plainteks dibagi menjadi blok yang panjangnya 7, kemudian setiap bit di dalam blok dikalikan dengan elemenyang berkorepsonden di dalam kunci publik:

Blok plainteks ke-1 : 1000010

Kunci publik : 3,6,15,33,69,141,55 Kriptogram : (1 × 3) + (1 × 141) = 144

Blok plainteks ke-2 : 1010101

Kunci publik : 3,6,15,33,69,141,55

Kriptogram : (1 × 3) + (1 × 15) + (1 × 69) + (1 × 55) = 142

Blok plainteks ke-3 : 1001011

Kunci publik : 3,6,15,33,69,141,55

Kriptogram : (1 × 3) + (1 × 33) + (1 × 141) + (1 × 55) = 232


(28)

Kunci publik : 3,6,15,33,69,141,55

Kriptogram : (1 × 3) + (1 × 15) + (1 × 69) + (1 × 55) = 142

Jadi, cipherteks yang dihasilkan : 144,142,232,142

b. Dekripsi

Dekripsi dilakukan dengan menggunakan kunci rahasia. Mula-mula penerima pesan menghitung n–1 , yaitu balikan n modulo m, sedemikian sehingga nn–1 ≡ 1 (mod m). Kekongruenan ini dapat dihitung dengan cara yang sederhana sebagai berikut (disamping dengan cara yang sudah pernah diberikan pada Teori Bilangan Bulat):

nn–1 ≡ 1 (mod m)

Kalikan setiap kriptogram dengan n–1 mod m, lalu nyatakan hasil kalinya sebagai penjumlahan elemen-elemen kunci rahasia untuk memperoleh plainteks dengan menggunakan algoritma pencarian solusi superincreasing knapsack.

Contoh 3:

Kita akan mendekripsikan cipherteks dari Contoh 2. Dengan menggunakan kunci rahasia {1,2,5,11,23,47,95}. Di sini, n = 3 dan m = 230. Nilai n–1 diperoleh sebagai berikut:

3 . n–1 = 1 (mod 230)

n–1 3 n–1 mod 230

1 3

2 6

3 9

. .

. .

77 1

Dengan mencoba n–1= 0, 1, 2, …,77 hingga hasil dari 3n–1 mod 230 = 1, diperoleh


(29)

n–1 = 1 (mod 230)/3 77 = 1 (mod 230)/3

Cipherteks dari Contoh 2. Adalah 144 142 232 142. Plainteks yang berkoresponden diperoleh kembali sebagai berikut:

144 . 77 mod 230 = 48 = 1 + 47 berkoresponden dengan 1000010

142 . 77 mod 230 = 124 = 1 + 5 + 23 + 95 berkoresponden dengan 1010101 232 . 77 mod 230 = 154 = 1 + 11 + 47 + 95 berkoresponden dengan 1001011

142 . 77 mod 230 = 124 = 1 + 5 + 23 + 95 berkoresponden dengan 1010101 Jadi, plainteks yang dihasilkan kembali adalah:

1000010 1010101 1001011 1010101

2.3 Steganografi

Kata steganografi berasal dari bahasa yunani yang terdiri dari steganos

(tersembunyi) graphen (menulis), sehingga bisa diartikan sebagai tulisan yang tersembunyi. Steganografi adalah ilmu yang mempelajari teknik penyembunyian pesan rahasia dalam pesan yang lainnya, sehingga orang tidak akan tahu bahwa terdapat pesan yang rahasia didalam pesan yang mereka baca [3].

Steganografi biasanya sering disamakan dengan kriptografi karena keduanya sama-sama bertujuan untuk melindungi informasi yang berharga dan rahasia. Perbedaan yang mendasar antara keduanya terletak pada proses merahasiakan data dan hasil akhir dari proses tersebut. Kriptografi melakukan proses pengacakan data asli sehingga dihasilkan data terenkripsi yang benar-benar acak dan berbeda dengan aslinya. Sementara itu, steganografi menyembunyikan data ke dalam data lain dengan cara menumpanginya tanpa mengubah data yang ditumpanginya tersebut sehingga tampilan data tetap terlihat sama [1].

Steganografi menggunakan sebuah berkas yang disebut dengan cover atau biasa disebut dengan carrier, tujuannya sebagai pembawa dari pesan yang


(30)

dirahasiakan. Banyak format carrier yang dapat dijadikan media untuk menyembunyikan pesan, diantaranya:

1. Format image (Format gambar): Bitmap (.bmp), Graphics Interchange Format

(.gif), Paintbrush Bitmap Graphic (.pcx), Joint Photographic Expert Group

(.jpeg).

2. Format audio (Format suara): Wideband Angular Vibration Experiment (.wav),

Motion Picture Expert Group Audio Stream Layer III (.mp3), Musical Instrument Digital Interface (.midi).

3. Format lain: teks file, Hyper Text Markup Language (.html), Portable Document Format (.pdf), video.

Pada dasarnya setiap media digital dapat digunakan sebagai media pembawa pada proses Steganografi. Penerapan Steganografi pada media digital menggunakan metode tertentu dan tergantung dari media yang dipilih sebagai carriernya [11].

2.4 Citra digital

Citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut pixel (picture elements). Pixel adalah elemen citra yang memiliki nilai yang menunjukkan intensitas warna.

Berdasarkan cara penyimpanan atau pembentukannya, citra digital dapat dibagi menjadi dua jenis. Jenis pertama adalah citra digital yang dibentuk oleh kumpulan pixel dalam array dua dimensi. Citra jenis ini disebut citra bitmap (bitmap

image)atau citra raster (raster image). Jenis citra yang kedua adalah citra yang dibentuk oleh fungsi-fungsi geometri dan matematika. Jenis citra ini disebut grafik vector (vector graphics). Dalam pembahasan skripsi ini, yang dimaksud citra digital adalah citra bitmap.

Citra digital (diskrit) dihasilkan dari citra analog (kontinu) melalui digitalisasi. Digitalisasi citra analog terdiri atas penerokan (sampling) dan kuantisasi (quantization) Penerokan adalah pembagian citra ke dalam elemen-elemen diskrit (pixel), sedangkan kuantisasi adalah pemberian nilai intensitas warna pada setiap pixel


(31)

dengan nilai yang berupa bilangan bulat. Banyaknya nilai yang dapat digunakan dalam kuantisasi citra bergantung kepada kedalaman pixel, yaitu banyaknya bit yang digunakan untuk merepresentasikan intensitas warna pixel. Kedalaman pixel sering disebut juga kedalaman warna. Citra digital yang memiliki kedalaman pixel n bit disebut juga citra n-bit [3].

2.4.1 Format Citra Digital

Citra digital dapat disimpan dalam berbagai macam format. Beberapa format citra digital dapat memanfaatkan metode kompresi dalam penyimpanan data citra. Kompresi yang dilakukan dapat bersifat lossy maupun lossless, bergantung kepada jenis format yang digunakan. Kompresi yang bersifat lossy menyebabkan penurunan kualitas citra, meskipun dalam beberapa kasus penurunan kualitas tersebut tidak dapat dikenali oleh mata manusia. Beberapa format citra digital yang banyak ditemui adalah BMP, JPEG, GIF, PNG, dan lain-lain [3].

2.4.2 Format Citra Bitmap

File format BMP bisa disebut juga bitmap atau format file DIB (untuk perangkat independen bitmap), adalah sebuah file gambar format yang digunakan untuk menyimpan gambar digital bitmap, terutama pada sistem operasi Microsoft Windows dan OS/2. Format ini mendukung mode warna dari Bitmap Mode hingga RGB Mode. File citra bitmap terdiri atas bagian header, palet RGB, dan data bitmap. Pada citra 8-bit, setiap elemen data bitmap menyatakan indeks dari peta warnanya di palet RGB. Header adalah merupakan informasi dari struktur dari pada sebuah file citra. Header biasanya memberikan informasi tentang nama file, ukuran, dimensi, resolusi (horizontal atau vertikal), format yang digunakan, teknik kompresi yang digunakan, dan lain-lain [2]. Format citra 8-bit (256 warna) dapat dilihat pada gambar 2.4.

<header> <palet RGB>


(32)

R G B

1 20 45 24

2 14 13 16

3 12 17 15

256 46 78 25

<data bitmap>

2 2 1 1 1 3 5 …

Gambar 2.4 Format citra 8-bit (256 warna) [2]

Pada citra 24-bit, tidak terdapat palet RGB, karena nilai RGB langsung diuraikan dalam data bitmap. Setiap elemen data bitmap panjangnya 3 byte, masing-masing byte menyatakan komponen R, G, dan B. format citra 24-bit (16 juta warna) dapat dilihat pada gambar 2.5.

<header> <data bitmap> 2 2 1 1 1 3 5 …

Gambar 2.5. Format citra 24-bit (16 juta warna) [2]

Pada contoh format citra 24-bit di atas, pixel pertama mempunyai R = 2, G = 2, B = 1.

BMP mudah dibuka dan disimpan, tetapi ada beberapa aturan khusus yang harus dicermati, diantaranya:

1. Format file ini menyimpan datanya secara terbalik, yaitu dari bawah ke atas

2. Citra dengan resolusi warna 8-bit, lebar citra harus merupakan kelipatan dari 4, bila tidak maka pada saat penyimpanan akan ditambahkan beberapa byte pada data hingga merupakan kelipatan dari 4.

3. Citra dengan resolusi warna 24-bit, urutan penyimpanan tiga warna dasar adalah

blue, green, red (B, G, R). Lebar citra dikalikan dengan 3 harus merupakan kelipatan dari 4, bila tidak maka pada saat penyimpanan akan ditambahkan beberapa byte pada data hingga merupakan kelipatan dari 4.


(33)

Struktur file .BMP seperti pada tabel 2.1:

Tabel 2.1 BMP File Header

Offset Size Name Description

0 2 bfType ASCII"BM"

2 4 bfSize Size of file(in Byte)

6 2 bfReserved I Zero

8 2 bfReserved I Zero

10 4 bgOffBits

Byte offset in file where image begins

14 4 biSize Size of this header (40 Bytes)

18 4 biWidth Image width in pixels

22 4 biHeight Image height in pixels

26 2 Biplanes Number of image planes, must be I

28 2 biBitCount Bits per pixel : 1,4,8 or 24

30 4 biCompression Compression type

Keterangan:

1. Offset : byte ke (yang dimulai dari angka 0). 2. Size : ukuran dari panjang byte.

a. byte ke-0 ukuran panjang 2 byte dispesifikasikan dengan nama tipe file yang diindikasikan berupa kode ASCII “BM”.

b. byte ke-2 dengan ukuran panjang 4 byte, nama spesifikasinya bitmap file size yang berupa ukuran dari file dalam bentuk bytes.

c. byte ke – 6 dan 8 yang ukurannya 2 byte berupa field cadangan di set 0.

d. byte ke – 10 ukurannya 4 byte yang merupakan spesifikasi dari struktur bitmap file header ke bit bitmap, dimana file gambar dimulai pada tahap ini.

e. byte ke – 14, panjangnya 4 byte dengan spesifikasi nama bitmap size yang mempunyai ukuran header 40 bytes.


(34)

f. byte ke – 18 dengan panjang 4 bytes merupakan lebar gambar dalam satuan pixel.

g. byte ke 22 dengan panjang 4 bytes merupakan tinggi gambar dalam satuan pixel.

h. byte ke-26 dengan panjang 2 bytes merupakan bitmap planes dengan sejumlah planes (umumnya 1).

i. byte ke-28 dengan panjang 2 byte merupakan jumlah bit per pixel : 1, 4, 8, atau 24.

j. byte ke-30 dengan panjang 4 byte yang merupakan tipe kompresi.

2.5 Algoritma LSB

Penyembunyian data dilakukan dengan mengganti bit-bit data yang tidak terlalu berpengaruh di dalam segmen citra dengan bit-bit data rahasia. Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling berarti (most significant bit atau MSB) dan bit yang paling kurang berarti (least significant bit atau LSB). Berikut contoh sebuah susunan bit pada sebuah byte:

11010010

MSB = Most Siginificant Bit LSB = Least Significant Bit

Bit yang cocok untuk diganti adalah bit LSB, sebab perubahan tersebut hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut menyatakan warna merah, maka perubahan satu bit LSB tidak mengubah warna merah tersebut secara berarti. Lagi pula, mata manusia tidak dapat membedakan perubahan yang kecil [3].

Misalkan segmen data citra sebelum perubahan:


(35)

10010110 11001001 11111001 10001000 10100011

Segmen data citra setelah pesan ‘1110010111‘ disembunyikan:

00110011 10100011 11100011 10101010 00100110

10010111 11001000 11111001 10001001 10100011

2.5.1 Algoritma LSB terhadap modifikasi nilai Brightness

Di dalam ruangan, seringkali kita perlu mengatur intensitas lampu agar ruangan menjadi lebih terang atau lebih gelap. Dalam dunia pengolahan citra, hal itu disebut pengaturan brightness, dimana dapat dilakukan dengan cara meningkatkan atau menurunkan nilai piksel dari seluruh bagian dalam citra tersebut.

Pengaturan kontras dengan menambahkan konstanta C ke masing-masing lokasi piksel untuk meningkatkan nilainya, yang artinya meningkatkan tingkat kecerahan. Mencampurkan gambar yang telah ditambahkan menghasilkan paduan gambar dari kedua gambar masukan. Teknik tersebut dapat digunakan untuk menghasilkan blending effect [10].

Untuk melakukan hal ini digunakan formula seperti terdapat di bawah ini.

Ko= Ki+ C ……….………..……….……….….(1)

Dimana:

Ko = nilai piksel output

Ki = nilai piksel input

C = konstanta yang bernilai positif

Pada penelitian ini, LSB yang akan digunakan tertuju pada nilai brightness

citra yang menjadi objek tersebut. Untuk citra berwarna yang mempunyai format warna RGB (red, green, blue), modifikasi brightness dilakukan terhadap setiap elemen warna yang masing-masing nilainya dapat berbeda dengan yang lain.


(36)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Sebelum dilakukan tahap perancangan sebuah sistem, analisis sistem yang akan dibangun perlu dilakukan. Fase-fase awal pengembangan system dijabarkan secara kolektif melalui analisis sitem. Analisis sistem pada dasarnya merupakan tahapan yang ditujukan untuk menciptakan pemahaman yang menyeluruh terhadap sistem sehingga diperoleh gambaran tentang kebutuhan, cara kerja, dan alur data yang akan dikerjakan sistem. Hal ini akan membantu mempermudah dalam proses implementasi sistem.

3.1.1 Analisis Masalah

Masalah dalam sistem ini adalah bagaimana agar sistem ini dapat membantu pengguna sistem untuk melakukan pengamanan data (data security). Dalam sistem ini file teks akan dienkripsi menggunakan algoritma Knapsack. Selanjutnya teks yang sudah terenkripsi disisipkan kedalam citra Bitmap menggunakan algoritma LSB dan meningkatkan nilai brightness. Sehingga diharapkan file teks ini terjaga kemanannya. Setelah dipilah dan dibagi dalam beberapa kategori, dapat diuraikan sebagai berikut: 1. User adalah seorang yang melakukan proses bangkit kunci, enkripsi, penyisipan,

dan ekstraksi.

2. Proses : Sistem ini akan berjalan mengkombinasikan kedua algoritma Knapsack dan LSB terhadap modifikasi nilai brightness yaitu proses Enkripsi pada file teks kemudian penyisipan cipherteks kedalam citra .BMP.

3. Sistem : Sistem menunjukkan pengamanan data yang baik menggunakan dua algoritma Knapsack dan LSB


(37)

Selanjutnya masalah diuraikan kedalam bentuk diagram tulang ikan (ishikawa Diagram) dapat dilihat pada gambar 3.1

IMPLEMENTASI KEAMANAN TEKS PADA CITRA BITMAP

DENGAN KOMBINASI ALGORITMA KNAPSACK DAN ALGORITMA LEAST SIGNIFICANT BIT (LSB) TERHADAP MODIFIKASI

NILAI BRIGHTNESS

Data Kebijakan

User Proses

Mendapati

manipulasi data Tidak Efisien melakukan proses secara terpisah Pencurian data tidak terlalu mendapat prioritas Data tidak aman

Citra yang digunakan tidak sesuai

Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalan Sistem

3.2 Analisis Persyaratan

Analisis ini ditujukan untuk menganalisis persyaratan yang akan dibutuhkan oleh sistem ini agar dapat berjalan sesuai dengan apa yang rencanakan. Analisis persyaratan terbagi menjadi dua yaitu persyaratan fungsional (functional requirement) dan persyaratan nonfungsional (nonfunctional requirement). Dimana persyaratan fungsional adalah aktifitas dan layanan yang harus diberikan atau disediakan oleh sebuah sistem, dan persyaratan nonfungsional berkaitan denga fitur, karakterisitik, dan batasan lainnya yang menetukan apakah sistem memuaskan atau tidak.

3.2.1 Persyaratan Fungsional


(38)

1. File teks sebagai pesan rahasia yang akan dienkripsi memiliki format *.txt dan yang menjadi citra cover berformat *.BMP.

2. Modifikasi nilai brightness dilakukan setelah pesan teks yang terenkripsi disisipkan kedalam citra cover.

3. Hasil enkripsi dan dekripsi disimpan dalam format *.txt. 4. Hasil penyisipan dan ekstraksi disimpan dalam format *.BMP.

3.2.2 Persyaratan Non-Fungsional

Persyaratan non-fungsional terhadap sistem ini adalah: 1. Performa:

Sistem harus dapat melakukan proses kriptografi menggunakan algoritma

knapsack dan steganografi menggunakan algoritma LSB serta modifikasi nilai

brightness. 2. Mudah Digunakan:

Sistem harus dibuat sesederhana mungkin agar tidak menyulitkan penggunanya.

3. Hemat Biaya:

Sistem tidak membutuhkan perangkat keras lainnya sebagai bantuan 4. Dokumentasi:

Sistem dapat menyimpan file teks yang terenkripsi, terdekripsi dan stego image.

5. Manajemen Kualitas:

Sistem dapat menghasilkan tampilan yang baik dan proses yang relative cepat.

3.3 Pemodelan Sistem

Pemodelan sistem yang dibuat pada dasarnya mengikuti metode algoritma knapsack

dan LSB terhadap modifikasi nilai brightness yang disajikan oleh penulis. Program yang dibuat berdasarkan langkah demi langkah untuk menyelesaikan teknik kriptografidan steganografi.


(39)

3.3.1 Use case Diagram

Use case diagram menggambarkan semua kegiatan di dalam sebuah sistem yang berjalan, selain itu Use case diagram dibuat berdasarkan keperluan aktor dan juga aktor yang melakukan aktifitas di dalam sistem. Berikut adalah gambar dari rancangan

Use case diagram seperti pada gambar 3.2

Enkripsi Plainteks (Knapsack)

Penyisipan (LSB)

Ekstraksi (LSB)

Dekripsi (Knapsack)

Sender Receiver

Sistem

Bangkit Kunci

Gambar 3.2 Use case diagram

Use case diagram yang ditunjukkan pada Gambar 3.1 tedapat dua aktor yaitu sender dan receiver. User1 sebagai Sender dan User2 sebagai receiver. Sender sebagai pengirim pesan yang telah disisipkan pada gambar dan Receiver sebagai orang yang menerima pesan dan mengekstraksinya. User1 memiliki peranan dalam melakukan membangkitkan kunci, penyembunyian, penyisipan, dan penguraian pesan (stego image). User2 hanya memiliki dua peranan yaitu melakukan penguraian untuk mendapatkan pesan rahasia yang ada sudah disisipkan dan kemudian mendekripsikannya. Untuk lebih jelas kegiatan sistem dapat dilihat pada keterangan


(40)

3.3.1.1 Activity Diagram untuk Use case Bangkit kunci

Activity diagram untuk Use case Bangkit kunci dapat dilihat seperti pada Gambar 3.3

User memilih menu Enkripsi

User mengeksekusi tombol bangkit.

User menginput nilai n dan mengeksekusi tombol Kunci Publik

User menginputparameter kunci dan mengeksekusi tombol kunci rahasia.

Sistem menampilkan form Enkripsi.

Sistem melakukan proses kunci rahasia dan menampilkan kunci rahasia.

Sistem menampilkan nilai m secara acak dan nilai n.

System menampilkan kunci publik.

User Sistem

Gambar 3.3 activity diagram Bangkit kunci

Berikut spesifikasi Use case bangkit kunci seperti pada tabel 3.1

Tabel 3.1 Spesifikasi Use case bangkit kunci

Name Bangkit kunci

Actors User1

Description Use case ini mendeksripsikan proses Bangkit kunci

Preconditions User menggunakan aplikasi kriptografi

Post Conditions User dapat melihat hasil kunci rahasia dan kunci publik Kegiatan User Respon sistem

Success Scenario

1. User memilih menu Enkripsi.

2. User menginputparameter

kunci dan mengeksekusi tombol kunci rahasia.

3. User mengeksekusi tombol bangkit.

1. Sistem menampilkan form Enkripsi.

2. Sistem melakukan proses kunci rahasia dan menapilkan kunci rahasia.


(41)

3.3.1.2 Activity Diagram untuk Use case Enkripsi

Activity diagram untuk Use case Enkripsi dapat dilihat seperti pada Gambar 3.4

User memilih menu Enkripsi

User mengeksekusi tombol Enkripsi.

User dapat melihat cipherteks

User memilih plainteks dengan mengeksekusi tombol Pilih Teks

Sistem menampilkan form Enkripsi.

Sistem menampilkan plainteks pada box teks.

Sistem melakukan proses Enkripsi dan menampilkan cipherteks

User Sistem

Gambar 3.4 activity diagram Enkripsi

Berikut spesifikasi Use case Enkripsi seperti pada tabel 3.2

Tabel 3.2 Spesifikasi Use case Enkripsi 4. User menginput nilai n dan

mengeksekusi tombol Kunci publik.

secara acak dan nilai n. 4. System menampilkan kunci

publik.

Name Enkripsi

Actors User1


(42)

3.3.1.3 Activity Diagram untuk Use case Penyisipan

Activity diagram untuk Use case Penyisipan dapat dilihat seperti pada Gambar 3.5

User memilih menu Penyisipan.

User dapat melihat Citra stego

User memodifikasi nilai brightness User memilih Citra cover, memilih fileembed dan

mengeksekusi tombol Sisip

Sistem menampilkan form Penyisipan.

Sistem melakukan proses penyisipan dan menampilkan hasil Penyisipan (Citra stego).

Sistem menampilkan hasil citra stego yang termodifikasi

User Sistem

Gambar 3.5 activity diagram Penyisipan

Preconditions User menggunakan aplikasi Kriptografi

Post Conditions User dapat melihat hasil Enkripsi

Kegiatan User Respon sistem

Success Scenario

1. User memilih menu Enkripsi. 2. User memilih plainteks dengan

mengeksekusi tombol Pilih Teks

3. User mengeksekusi tombol

Enkripsi

4. User mengeksekusi tombol Enkripsi.

5. User dapat melihat cipherteks.

1. Sistem menampilkan form Enkripsi

2. Sistem menampilkan plainteks pada box teks.

3. Menampilkan Kunci Publik 4. Sistem melakukan proses

Enkripsi dan menampilkan cipherteks


(43)

Berikut spesifikasi Use case penyisipan seperti pada tabel 3.3

Tabel 3.3 Spesifikasi Use case Penyisipan

3.3.1.4 Activity Diagram untuk Use case Ekstraksi

Activity diagram untuk Use case Ekstraksi dapat dilihat seperti pada Gambar 3.6

Name Penyisipan

Actors User1

Description Use case ini mendeksripsikan proses Penyisipan

Preconditions User menggunakan aplikasi steganografi

Post Conditions User dapat melihat hasil Penyisipan

Kegiatan User Respon sistem

Success Scenario

1. User memilih menu Penyisipan. 2. User memilih Citra cover,

memilih fileembed dan mengeksekusi tombol sisip. 3. User dapat melihat Citra stego. 4. User memodifikasi nilai

brightness.

1. Sistem menampilkan form Penyisipan.

2. Sistem melakukan proses penyisipan dan menampilkan hasil penyisipan (Citra Stego). 3. Sistem menampilkan hasil citra


(44)

User memilih menu Ekstraksi

User dapat melihat citra embed dan cipherteks

User memilih citra stego, memasukkan nilai brightness, dan mengeksekusi tombol Ekstraksi.

Sistem menampilkan form Ekstraksi.

Sistem melakukan proses pengembalian nilai brightness, proses ekstraksi dan menampilkan

hasil ekstraksi (Citra embed ) dan cipherteks

User Sistem

Gambar 3.6 activity diagram Ekstraksi

Berikut spesifikasi Use case Ekstraksi dapat dilihat pada tabel 3.4 Tabel 3.4 Spesifikasi Use case Ekstraksi

Name Ekstraksi

Actors User2

Description Use case ini mendeksripsikan proses mendeteksi file embed dari dalam

citra stego

Preconditions User menggunakan aplikasi steganografi

Post Conditions User dapat melihat hasil Ekstraksi

Kegiatan User Respon sistem

Success Scenario

1. User memilih menu Ekstraksi. 2. User memilih citra stego,

memasukkan nilai brightness, dan mengeksekusi tombol Ekstraksi.

3. User dapat melihat citra embed dan cipherteks .

1. Sistem menampilkan form

Ekstraksi.

2. Sistem melakukan proses pengembalian nilai brightness, proses ekstraksi dan

menampilkan hasil ekstraksi (Citra embed ) dan cipherteks.


(45)

3.3.1.5 Activity Diagram untuk Use case Dekripsi

Activity diagram untuk Use case Dekripsi dapat dilihat seperti pada Gambar 3.7

User memilih menu Ekstraksi

User dapat melihat hasil dekripsi (plainteks).

User mengeksekusi tombol Dekripsi.

Sistem menampilkan form Ekstraksi.

Sistem melakukan proses dekripsi dan menampilkan hasil dekripsi.

User Sistem

Gambar 3.7 activity diagram dekripsi Berikut spesifikasi Use case dekripsi dapat dilihat pada Tabel 3.5

Tabel 3.5 Spesifikasi Use case Dekripsi

Name Dekripsi

Actors User2

Description Use case ini melakukan proses dekripsi

Preconditions User menggunakan aplikasi kriptografi

Post Conditions User dapat melihat hasil dekripsi

Kegiatan User Respon sistem

Success Scenario

1. User memilih menu Ekstraksi 2. User mengeksekusi tombol

Dekripsi.

3. User dapat melihat hasil dekripsi (plainteks).

1. Sistem menampilkan form Ekstraksi.

2. Sistem melakukan proses dekripsi dan menampilkan hasil dekripsi.


(46)

3.3.2 Sequence Diagram

Proses enkripsi plainteks menggunakan algoritma Knapsack yang dilakukan oleh sistem membangkitkan kunci terlebih dahulu kemudian dapat mengenkripsi plainteks. Kemudian sistem akan mengecek kebutuhan data dan proses yang akan dilakukan selanjutnya. Sequence Diagram untuk proses Enkripsi dapat dilihat pada gambar 3.8

User Sistem

Input / Browse Plainteks

Hitung panjang karakter

Input & bangkitkan kunci

tampilkan kunci

enkripsi

Cipherteks

Gambar 3.8 Sequence Diagram Enkripsi

Setelah proses enkripsi menghasilkan cipherteks maka langkash selanjutnya adalah penyisipan cipherteks kedalam citra bmp. Sequence diagram untuk proses selanjutnya dapat dilihat pada gambar 3.9


(47)

User Sistem

Sisip

Modifikasi nilai Brightness Input Citra dan Cipherteks

Citra Stego hasil Penyisipan

Gambar 3.9 Sequence Diagram Penyisipan

Untuk mengembalikan plainteks yang telah menjadi cipherteks dan yang telah disisipkan maka perlu dilakukan proses ektraksi dan dekripsi.

Untuk membangkitkan kunci yang digunakan pada algoritma Knapsack

diperlukan parameter yang dimasukkan oleh user. Kemudian sistem akan melakukan pembangkitan kunci berdasarkan parameter tersebut. Sequence diagram untuk proses pembangkitan kunci dapat dilihat pada gambar 3.10.


(48)

User Sistem Masukkan parameter kunci

Bangkitkan kunci

Kunci

Gambar 3.10 Sequence Diagram Bangkit Kunci

3.3.3 Flowchart sistem

Flowchart proses Bangkit kunci dengan metode Algoritma Knapsack dapat dilihat seperti pada Gambar 3.11


(49)

start

Memasukkan parameter

Kunci rahasia

Barisan kunci rahasia

Bangkit kunci

Tampil nilai m dan n

Masukkan nilai n

Proses kunci publik

Barisan kunci publik

end

Gambar 3.11 flowchart bangkit kunci

Flowchart proses sistem Enkripsi dengan metode Algoritma Knapsack dapat dilihat seperti pada Gambar 3.12


(50)

start

Masukkan Plainteks

Load Kunci Publik

Enkripsi

Ciperteks

end

Gambar 3.12 Flowchart sistem Enkripsi

Flowchart proses Enkripsi dengan metode Algoritma Knapsack dapat dilihat seperti pada Gambar 3.13

Start

Masukkan Plainteks

Plainteks dirubah bentuk biner

Plainteks dipecah menjadi blok bit yang panjangnya sama dengan kunci

publik

Setiap bit dikalikan dengan elemen didalam kunci publik

Mendapat hasil perkalian menjadi

cipherteks

End


(51)

Flowchart proses penyisipan embed dengan metode LSB terhadap memodifikasi nilai brightness seperti pada Gambar 3.14

start

Input pesan terenkripsi

Input citra cover

Penyisipan

Citra stego

Modifikasi nilai brightness

Citra stego termodifikasi

end

Gambar 3.14 Flowchart Penyisipan

Flowchart proses ekstraksi embed dengan metode LSB terhadap modifikasi nilai brightness dapat dilihat seperti pada Gambar 3.15


(52)

start

Input citra stego termodifikasi

Mengembalikan nilai brightness

Proses ekstraksi

Menampilkan embed (cipherteks)

end

Gambar 3.15 Flowchart Ekstraksi

Flowchart proses sistem dekripsi dengan metode Algoritma Knapsack dapat dilihat seperti pada Gambar 3.16

start

Masukkan cipherteks

Dekripsi

Plainteks

end


(53)

Flowchart proses dekripsi dengan metode Algoritma Knapsack dapat dilihat seperti pada Gambar 3.17

Start

Masukkan Cipherteks

Setiap karakter dari cipherteks dikalikan dengan n–1 dan mod m

End

Hasil perkalian harus berkoresponden dengan kunci rahasia

Mendapat hasil plaintes

Gambar 3.17 Flowchart Dekripsi

3.4 Perancangan antar muka

Rancangan antar muka adalah rancangan tampilan sistem yang akan dibentuk oleh penulis pada penelitian ini, berikut adalah rancangan sistem:

3.4.1 Rancangan Menu Utama


(54)

IMPLEMENTASI KEAMANAN TEKS PADA CITRA BITMAP DENGAN KOMBINASI ALGORITMA

KNAPSACK DAN ALGORITMA LEAST SIGNIFICANT BIT (LSB) TERHADAP MODIFIKASI

NILAI BRIGHTNESS

Logo universitas sumatera utara

Dira Fahrendy sembiring lanjutkan

Gambar 3.18 Rancangan Menu Utama

Rancangan Menu Utama merupakan tampilan yang pertama kali muncul saat program dijalankan. Pada rancangan ini terdapat tombol lanjutkan yang berfungsi untuk melanjutkan ke form berikutnya. Adapun rancangan antar muka selanjutnya untuk membangkitkan kunci publik dan mengenkripsikan pesan txt dengan algoritma knapsack adalah sebagai berikut.

3.4.2 Rancangan Pembangkit kunci dan Enkripsi

Adapun Form Menu berfungsi untuk menampilkan beberapa form lainnya seperti

form Enkripsi, form Penyisipan, dan form Ekstraksi. Berikut rancangan bangkit kunci dan enkripsi seperti pada gambar 3.19


(55)

Enkripsi Beranda Menu Bantuan Tentang

Input parameter W0 = W1 = Jarak = Kunci Rahasia Kunci Rahasia Bangkit m = n = n = Kunci Publik Kunci Publik Enkripsi Hapus Buka File Lanjut Simpan Plainteks Cipherteks

Enkripsi = detik

Plainteks = Cipherteks = Waktu

Panjang

Gambar 3.19 Rancangan Bangkit kunci dan Enkripsi

Keterangan:

1. Button Kunci Rahasia, berfungsi menampilkan barisan Kunci rahasia pada kotak disebelahnya setelah memasukkan parameter yang diminta

2. Button Bangkit, berfungsi menampilkan nilai m secara acak dan nilai n secara list

3. Button Kunci Publik, berfungsi menampilkan barisan kunci public pada kotak sebelahnya.

4. Button Buka File, berfungsi untuk mengunjungi directory penyimpanan file teks

(browse files) yang diperlukan user dan sistem

5. Button Enkripsi, berfungsi untuk mengeksekusi plainteks menjadi pesan rahasia yang sudah terenkripsi (Cipherteks).

6. Button Simpan, berfungsi menyimpan hasil enkripsi yaitu cipherteks, kunci Rahasia dan Kunci Publik


(56)

3.4.3 Rancangan Penyisipan

Berikut rancangan penyisipan dapat dilihat pada Gambar 3.20

Penyisipan Beranda Menu Bantuan Tentang

Citra Cover Citra stego

Pilih Teks

Lanjut Pilih Gambar

Sisip Simpan

Cipherteks

Brightness

Waktu

Penyisipan = detik Hapus

Gambar 3.20 Rancangan Penyisipan

Keterangan:

1. Button Pilih Gambar, berfungsi untuk mengunjungi directory penyimpanan file gambar (browse files) yang diperlukan user dan sistem

2. Button Pilih Teks, berfungsi untuk mengunjungi directory penyimpanan file teks

(browse files) yang diperlukan user dan sistem 3. Button Sisip, berfungsi menampilkan citra stego

4. Button Simpan,berfungsi menyimpan citra stego


(57)

3.4.4 Rancangan Ekstraksi

Berikut rancangan Ekstraksi dapat dilihat pada Gambar 3.21

Ekstraksi dan Dekripsi Beranda Menu Bantuan Tentang

Citra Stego m = n = Ekstraksi Hapus Buka File Simpan Ekstraksi Plainteks Load Kunci Dekripsi

Kunci Publik

Ok Input Nilai Brightness

Waktu

Ekstraksi = detik

Dekripsi = detik

Gambar 3.21 Rancangan Ekstraksi

Keterangan:

1. Button Buka file, berfungsi untuk mengunjungi directory penyimpanan file citra stego (browse files) yang diperlukan user dan sistem

2. Button Ekstraksi, berfungsi menampilkan dan melakukan pengeluaran Penyisipan pesan txt yang terenkripsi dari dalam citra stego.

3. Button Ok, berfungsi menginputkan nilai brightness

4. Button Load Kunci, berfungsi menampilkan kuci publik, nilai m dan nilai n

5. Button Dekripsi, berfungsi menampilkan dan mendekripsikan chiperteks(file embed)


(58)

7. Button Hapus, berfungsi menghapus semua data pada halaman Ekstraksi dan Dekripsi.

3.4.5 Rancangan Bantuan

Berikut rancangan bantuan dapat dilihat pada Gambar 3.22

Bantuan Beranda Menu Bantaun Tentang

Gambar 3.22 Rancangan Bantuan

Rancangan Bantuan adalah tampilan sederhana yang berguna untuk menampilkan informasi tentang cara penggunaan aplikasi tahap demi tahap.

3.4.6 Rancangan Tentang


(59)

Tentang Beranda Menu Bantuan Tentang

Gambar 3.23 Rancangan Tentang


(60)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Pemrosesan keamanan pesan

Tahap ini akan membahas bagaimana proses keamanan pesan berjalan sesuai dengan algoritma yang digunakan. Dengan kombinasi algoritma knapsack dan algoritma LSB terhadap modifikasi nilai brightness. Berikut adalah pembahasan kedua algoritma yang digunakan.

4.1.1 Tahapan algoritma Knapsack dan LSB

Dalam hal ini digunakan algoritma knapsack sebagai salah satu alternatif untuk mengamankan pesan rahasia. Dengan algoritma knapsack ini pesan rahasia tidak lagi menjadi pesan asli melainkan dirubah menjadi pesan yang acak dan tidak dapat terbaca atau dikatakan sebagai pesan yang sudah terenkripsi. Agar pesan tersebut lebih terjaga kemanannya maka pesan yang telah dienkripsi akan disisipkan kedalam sebuah citra.

4.1.1.1 Proses Enkripsi menggunakan algoritma Knapsack

Untuk mengenkripsi plainteks terlebih dahulu dibangkitkan kunci dengan parameter sebagai berikut:

W0 = 1 W1 = 2 Jarak = 2 M = 230 N = 3


(61)

Untuk mendapatkan kunci rahasia dilakukan dengan cara sebagai berikut:

1. W0 = 1

2. W1 = 2

3. W2 = (jarak) + 1 + 2 = 5

4. W3 = (jarak) + (1) + 1 + 2 + 5 = 11

5. W4 = (jarak) + (2) + 1 + 2 + 5 + 11 = 23

6. W5 = (jarak) + (3) + 1 + 2 + 5 + 11 + 23 = 47

7. W6 = (jarak) + (4) + 1 + 2 + 5 + 11 + 23 + 47 = 95 Dengan demikian didapatkan kunci rahasia:

1,2,5,11,23,47,95

Untuk mencari kunci publiknya, maka barisan superincreasing knapsack

dikalikan dengan dengan N modulo M, yaitu :

1. 1 . 3 mod 230 = 3

2. 2 . 3 mod 230 = 6

3. 5 . 3 mod 230 = 15

4. 11 . 3 mod 230 = 33

5. 23 . 3 mod 230 = 69

6. 47 . 3 mod 230 = 141

7. 95 . 3 mod 230 = 55

Dengan demikian didapatkan kunci publik : 3,6,15,33,69,141,55

Misalnya untuk mengenkripsi plainteks ‘BUKU’. Maka akan didapatkan. Karakter ‘B’ dalam ASCII mempunyai nilai biner 1000010,

Karakter ‘U’ dalam ASCII mempunyai nilai biner 1010101, Karakter ‘K’ dalam ASCII mempunyai nilai biner 1001011, Karakter ‘U’ dalam ASCII mempunyai nilai biner 1010101.

Setiap bit didalam blok dikalikan dengan elemen yang berkoresponden didalam kunci publik.


(62)

Misalkan

Karakter ‘B’ mempunyai nilai biner : 1000010

Kunci publik : 3,6,15,33,69,141,55

Kriptogram : (1 × 3) + (1 × 141) = 144

Karakter ‘U’ mempunyai nilai biner : 1010101

Kunci publik : 3,6,15,33,69,141,55

Kriptogram : (1 × 3) + (1 × 15) + (1 × 69) + (1 × 55) =

142

Karakter ‘K’ mempunyai nilai biner : 1001011

Kunci publik : 3,6,15,33,69,141,55

Kriptogram : (1 × 3) + (1 × 33) + (1 × 141) + (1 × 55) =

232

Karakter ‘U’ mempunyai nilai biner : 1010101

Kunci publik : 3,6,15,33,69,141,55

Kriptogram : (1 × 3) + (1 × 15) + (1 × 69) + (1 × 55) =

142

Jadi, cipherteks yang dihasilkan : 144,142,232,142

4.1.1.2 Proses Penyisipan menggunakan algoritma LSB

Sebelum melakukan proses penyisipan menggunakan algoritma LSB, dilakukan pembacaan dan penghitungan nilai biner dari masing-masing piksel pada citra cover.

Sebagai contoh diberikan citra berformat *.BMP berdimensi 100 × 137 piksel dengan nilai warna R,G,B 153. Dapat dilihat pada gambar 4.1


(63)

Gambar 4.1 citra cover 100 × 137

Dikonversi citra cover ke bentuk biner dapat dilihat pada gambar 4.2

Gambar 4.2 Citra Dalam Bentuk Biner

Untuk selanjutnya, tiap bit kode biner cipherteks digunakan untuk menggantikan bit terakhir atau paling kanan disetiap kode biner citra cover. Pesan yang menghasilkan cipherteks dirubah kedalam bentuk biner sehingga didapat:

144 kedalam biner = 10010000 142 kedalam biner = 10001110 232 kedalam biner = 11101000 142 kedalam biner = 10001110

Dengan demikian ada 32 piksel yang akan disisipi nilai biner dari cipherteks. Berikut proses penempatan bit rahasia pada citra cover untuk menghasilkan stego image. Dapat dilihat pada gambar 4.3


(64)

Gambar 4.3 Proses Penyisipan

Setelah proses penyisipan selesai, citra dalam bentuk biner ini akan dipetakan kembali kedalam bentuk citra dan menghasilkan stego image.

Metode LSB sudah banyak dilakukan didalam teknik steganografi, sehingga membutuhkan pengembangan atau modifikasi, untuk pengembangannya dapat berupa memodifikasi nilai brightness dengan meningkatkan atau menurunkan nilai piksel dari seluruh bagian dalam citra.

Untuk itu Pengaturan kontras dengan menambahkan konstanta C ke masing-masing lokasi piksel untuk meningkatkan nilainya, yang artinya meningkatkan tingkat kecerahan [10].

Untuk melakukan hal ini digunakan formula seperti terdapat di bawah ini.

Ko= Ki+ C ……….………..……….……….….(1)

Dimana:

Ko = nilai piksel output

Ki = nilai piksel input

C = konstanta yang bernilai positif

Pada penelitian ini citra warna yang mempunyai format RGB (red green blue)

di modifikasi terhadap setiap elemen masing-masing warna. Misalkan

R,G,B = 153 C = 30


(65)

=153 + 30 = 183

Dengan demikian nilai brightness pada stego image tersebut ditambahkan dengan nilai tertentu untuk menghasilkan stego image yang termodifikasi oleh nilai

brightness. Berikut stego image sebelum dan sesudah di modifikasi. Stego image

sebelum termodifikasi dapat dilihat pada gambar 4.4

Gambar 4.4 Sebelum Termodifikasi

Stego image sesudah termodifikasi dapat dilihat pada gambar 4.5

Gambar 4.5 Sesudah Termodifikasi

Nilai penambahan pada nilai brightness nantinya akan menambah keamanan pada

stego image sebelum di ekstraksi untuk mengembalikan cipherteks.

Untuk proses ekstraksi dapat dengan mudah dilakukan dengan menginputkan kembali nilai brightness untuk mengembalikan stego image dan mengambil kembali bit terakhir dari kode biner citra.


(66)

Dekripsi dilakukan dengan menggunakan kunci rahasia. Menghitung n-1 yaitu balikkan nilai n modulo m sehingga

n . n-1 = 1 (mod m)

Kunci rahasia = 1,2,5,11,23,47,95

N = 3

M = 230

Diperoleh 3 . n-1 = 1 (mod 230)

n–1 3 n–1 mod 230

1 3

2 6

3 9

. .

. .

. .

75 225

76 228

77 1

Hasil dari 3 . n-1 = 1 (mod 230) = 1, diperoleh n-1 bilangan bulat, yaitu 77

Cipherteks adalah 144 142 232 142. Plainteks yang berkoresponden diperoleh kembali sebagai berikut:

144 . 77 mod 230 = 48 = 1 + 47 berkoresponden dengan 1000010

142 . 77 mod 230 = 124 = 1 + 5 + 23 + 95 berkoresponden dengan 1010101 232 . 77 mod 230 = 154 = 1 + 11 + 47 + 95 berkoresponden dengan 1001011 142 . 77 mod 230 = 124 = 1 + 5 + 23 + 95 berkoresponden dengan 1010101

Nilai biner 1000010 dalam ASCII mempunyai karakter ‘B’ Nilai biner 1010101 dalam ASCII mempunyai karakter ‘U’ Nilai biner 1001011 dalam ASCII mempunyai karakter ‘K’ Nilai biner 1010101 dalam ASCII mempunyai karakter ‘U’

Jadi, plainteks yang dihasilkan kembali adalah: BUKU


(67)

4.2 Implementasi Sistem

Berdasarkan hasil analisis dan perancangan sistem yang telah dilakukan, maka dilakukan tahap implementasi sistem kedalam bahasa pemrograman yang merupakan tahap menerjemahkan hasil perancangan perangkat lunak secara rinci. Implementasi dilakukan menggunakan bahasa pemrograman matlab. Dalam implementasi ini dapat dilihat tampilan antamuka hasil dari tahapan analisis dan perancangan.

4.2.1 Form Menu Utama

Form menu utama merupakan awal dari sistem ini. Pada tampilan utama menampilkan Judul skripsi, nama penulis, dan tombol lanjutkan untuk menampilkan ke form berikutnya dapat dilihat pada gambar 4.6

Gambar 4.6 Form Menu Utama

4.2.2 Form Enkripsi

Form ini merupakan tempat melakukan enkripsi teks yang di inputkan oleh user untuk mengubah plainteks menjadi cipherteks. Form enkripsi dapat dilihat pada gambar 4.7


(68)

Gambar 4.7 Form Enkripsi

4.2.3 Form Penyisipan

Form ini merupakan tempat melakukan penyisipan cipherteks kedalam citra cover

sebagai citra penampungnya dan memodifikasi nilai brightness yang di inputkan oleh user untuk menghasilkan stego image. Form penyisipan dapat dilihat pada gambar 4.8


(69)

Gambar 4.8 Form Penyisipan

4.2.4 Form Ekstraksi dan Dekripsi

Form ini merupakan tempat melakukan ekstraksi untuk mengeluarkan cipherteks dari

stego image dengan mengembalikan nilai brightness, dan dekripsi untuk

mengembalikan cipherteks menjadi plainteks awal. Form enkripsi dan dekripsi dapat dilihat pada gambar 4.9.


(70)

Gambar 4.9 Form Ekstraksi dan Dekripsi

4.3 Pengujian Sistem

Pengujian sistem dilakukan dengan sampel sebuah kata yang diinputkan lansung yaitu “BUKU” dan citra cover yang digunakan adalah bob.BMP dengan ukuran100 × 137 piksel. Pada subbab selanjutnya akan dijelaskan bagaimana setiap proses dilakukan menggunakan sampel tersebut.

4.3.1 Proses Enkripsi

Pada form enkripsi ini akan memulai mengubah palinteks menjadi cipherteks dimana pengguna memulai dengan input parameter terlebih dahulu untuk mendapatkan kunci rahasia. Setelah kunci rahasia didapatkan pengguna menekan tombol bangkit untuk mendapatkan hasil m dan n dimana hasil m didapat secara acak dan n dapat di inputkan sesuai dengan nilai n yang tertera dan pengguna menekan tombol kunci publik untuk mendapatkan hasil kunci publik. Dapat dilihat seperti pada gambar 4.10


(71)

Gambar 4.10 Input Parameter

Untuk memulai proses enkripsi pengguna dapat menekan tombol buka file untuk menampilkan pesan yang akan di jadikan cipherteks atau pengguna dapat menginput langsung secara langsung. Untuk buka file dapat dilihat pada gambar 4.11


(72)

Gambar 4.11 Buka File Teks

Proses plainteks selesai di inputkan maka pengguna dapat mengenkripsi pesan dengan menekan tombol enkripsi untuk merubah menjadi cipherteks setelah proses enkripsi selesai sistem akan menampilkan waktu enkripsi, panjang plainteks, dan panjang cipherteks. Untuk enkripsi dapat dilihat pada gambar 4.12


(73)

Gambar 4.12 Proses Enkripsi

Setelah proses enkripsi selesai pengguna menekan tombol simpan terlebih dahulu, untuk menyimpan kunci rahasia dengan file name buku.mat dan cipherteks dengan file name buku.txt. Untuk penyimpanan kunci rahasia dapat dilihat pada gambar 4.13


(74)

Gambar 4.13 Simpan Kunci Rahasia

Untuk penyimpanan cipherteks dapat dilihat pada gambar 4.14


(75)

Setelah penyimpanan selesai pengguna dapat menekan tombol lanjut untuk melanjutkan ke form penyisipan.

4.3.2 Proses Penyisipan

Untuk memulai proses penyisipan terlebih dahulu pengguna memasukan citra cover

berformat *.BMP sebagai citra penampungnya dengan menekan tombol pilih gambar. Untuk memasukkan citra cover dapat dilihat pada gambar 4.15

Gambar 4.15 Memasukkan Citra Cover

Untuk menginputkan teks yang terenkripsi pengguna menekan tombol pilih teks. Untuk pilih teks dapat dilihat pada gamabar 4.16


(76)

Gambar 4.16 Pilih Teks

setelah menginputkan file teks, kemudian pengguna menekan tombol sisip sebagai proses penyisipan untuk menghasilkan stego image dan akan menampilkan waktu dari penyisipan. Setelah penyisipan selesai dilakukan pengguna memodifikasi nilai

brightness untuk keamanan pesan didalam citra stego dengan nilai 30 sebagai nilai dari brightness. Untuk hasil stego image termodifikasi dapat dilihat pada gambar 4.17


(77)

Gambar 4.17 Stego image Termodifikasi

Proses modifikasi selesai dilakukan, pengguna menekan tombol simpan terlebih dahulu untuk menyimpan stego image yang sudah termodifikasi dengan file name 30.bmp agar dapat melanjutkan ke proses ekstraksi dan dekripsi. Untuk penyimpanan

stego image dapat dilihat pada gambar 4.18


(78)

4.3.3 Proses Ekstraksi

Pada proses ekstraksi ini akan mengeluarkan cipherteks yan terdapat didalam stego image yang termodifikasi dengan menekan tombol buka file untuk mengambil stego image yang termodifikasi dengan file name 30.bmp. Untuk buka file citra dapat dilihat pada gambar 4.19

Gambar 4.19 Buka File Citra

Setelah stego image dimasukkan kedalam sistem pengguna memasukkan kembali nilai brightness untuk mengembalikan stego image ke bentuk stego image awal. Pengguna menekan tombol ekstraksi untuk mengeluarkan cipherteks dan akan menampilkan waktu dari ekstraksi. Untuk ekstraksi dapat dilihat pada gambar 4.20


(1)

Gambar 4.20 Ekstraksi

4.3.4 Proses Dekripsi

Pada proses dekripsi pengguna menekan tombol load kunci untuk membangkitkan kunci rahasia dengan file name buku.mat. Untuk load kunci dapat dilihat pada gambar 4.21


(2)

Gambar 4.21 Load Kunci

Setelah kunci rahasia dimasukkan pengguna dapat menekan tombol dekripsi untuk merubah cipherteks menjadi plainteks sebagai pesan rahasia dan akan menampilkan waktu dari dekripsi. Untuk dekripsi dapat dilihat pada gambar 4.22


(3)

Beberapa percobaan untuk jenis citra yang berbeda. Dapat dilihat pada tabel 4.1 Tabel 4.1 hasil percobaan beberapa jenis citra

Jumlah karakter Citra penampung Nilai brightness Kapasitas citra

sebelum penyisipan setelah penyisipan

30 64 × 64 24 13 13

110 64 × 64 42 13 13

144 64 × 64 57 13 13

153 64 × 64 66 13 13

411 64 × 64 69 13 13

30 99 × 73 24 22 22

110 99 × 73 42 22 22

144 99 × 73 57 22 22

153 99 × 73 66 22 22

411 99 × 73 69 22 22

30 100 × 137 24 41 41

110 100 × 137 42 41 41

144 100 × 137 57 41 41

153 100 × 137 66 41 41

411 100 × 137 69 41 41

Pada tabel tersebut dapat kita lihat tidak adanya perubahan kapasitas citra setelah disisipkan pesan rahasia dan di modifikasi nilai brightness.


(4)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan pengujian terhadap perlindungan pesan rahasia pada citra digital, ada beberapa kesimpulan yang dapat diambil yaitu sebagai berikut :

1. Untuk menjaga kerahasiaan pesan dengan menyandikannya kedalam bentuk yang tidak dapat dimengerti merupakan seni dari algoritma Knapsack. Dalam sistem ini proses Enkripsi dan Dekripsi menggunakan algoritma Knapsack

dapat berjalan dengan baik dengan pesan rahasia yang disandikan berformat *.txt.

2. Kombinasi algoritma knapsack dan algoritma LSB dalam sistem ini dapat berjalan dengan baik untuk menyembunyikan cipherteks kedalam citra penampung yang berformat *.BMP dengan memodifikasi nilai brightness. 3. Dalam sistem ini, semakin besar ukuran citra penampungnya maka semakin

lama waktu proses penyisipan pesan rahasia kedalam citra penampung tersebut. Namun semakin besar citra penampungnya semakin besar pula kapasitas pesan yang dapat disembunyikan.

4. Sebelum pesan rahasia diekstraksi dari citra penampung yang sudah di modifikasi terlebih dahulu mengembalikan nilai brightness, agar pesan rahasia sewaktu di ekstraksi dapat kembali tanpa ada perubahan.

5. Dengan penggabungan teknik kriptografi dan steganografi tepat digunakan karena dapat membuat pesan rahasia lebih terjamin kerahasiaannya tetapi dengan ketentuan citra cover harus memenuhi syarat untuk dimodifikasi.


(5)

1. Disarankan algoritma knapsack dapat memproses semua bentuk fileteks, baik itu dalam format file *.docx, *.odt dan sebagainya.

2. Disarankan kedepannya sistem seperti ini dapat diterapkan pada media pengiriman pesan seperti email, sms dan sebagainya.

3. Perlunya pengembangan sistem, tidak hanya satu buah file saja yang dapat disembunyikan melainkan beberapa file.

4. Disarankan pada penelitian selanjutnya citra penampung yang digunakan dapat berformat jpg, jpeg dan lain sebagainya.


(6)

DAFTAR PUSTAKA

[1] Br, Ginting Priskilla. 2010. Kajian Steganografi dengan Metode Bit-Plane Complexity Segmentation (BPCS) Pada Dokumen Citra Terkompresi. Skripsi. Medan. Universitas Sumatera Utara.

[2] Haryani, Henni L. 2012. Analisis dan Perancangan Pengujian Nilai MSE

(Mean Squared Error) pada proses penyisipan Label Citra Menggunakan Metode Modified Least Significant Bit (MLSB). Skripsi. Medan. Sumatera Utara.

[3] Hidayat, Wildan . 2010. Perlindungan Pesan Rahasia Pada Citra Digital Menggunakan Metode Least Significant Bit Steganografi. Skripsi. Medan: Univeritas Sumatera Utara.

[4] Konheim, Alan G.2007. Computer Security And Cryptography .United State of America. John Wiley & Sons, Inc.

[5] Mollin, Richard A. 2007. An Introduction to Cryptography. Second Edition.

Taylor & Francis Group, LLC.

[6] Munir, Rinaldi. 2006. Kriptografi. Bandung: Penerbit Informatika

[7] Naufal, Muhammad. 2012. Implementasi Steganografi dan Kriprografi Untuk Keamanan Data Dengan Metode RC2 dan LSB Pada Citra Bitmap. Skripsi. Medan. Triguna Dharma

[8] Nurhasanah, Rossy. 2010. Peningkatan Keamanan Data Menggunakan Algoritma Rijndael Pada Audio Steganografi Berbasis MP3. Skripsi. Medan. Universitas Sumatera Utara.

[9] Setyawan, Henry. 2009. Implementasi Steganografi Dengan Metode Least Significant Bit. Jurnal Rekayasa Elektrika Vol 8, No. 1; April 2009. Banda Aceh, Indonesia : Universitas Syiah Kuala.


Dokumen yang terkait

Analisis Kombinasi Algoritma Watermarking Modified Least Significant Bit Dengan Least Significant Bit +1

2 57 94

Perancangan Aplikasi Kombinasi Algoritma Steganografi Least Significant Bit dan Alagoritma Kriptografi Kanpsack Merkle-Hellman pada Citra Bitmap

5 82 102

Modifikasi Least Significant Bit(LSB) Menggunakan Persamaan Kuadrat Pada Kunci Steganografi

2 32 64

Implementasi Steganografi Least Significant Bit (LSB) Dengan Modifikasi Vigenere Cipher Pada Citra Digital

11 84 79

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

2 18 125

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

1 1 13

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

0 0 2

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

0 0 5

BAB 2 LANDASAN TEORI 2.1 Kriptografi - Implementasi Keamanan Teks Pada Citra Bitmap Dengan Kombinasi Algoritma Knapsack Dan Algoritma Least Significant Bit (LSB) Terhadap Modifikasi Nilai Brightness

0 0 14

Implementasi Keamanan Teks Pada Citra Bitmap Dengan Kombinasi Algoritma Knapsack Dan Algoritma Least Significant Bit (LSB) Terhadap Modifikasi Nilai Brightness

0 0 14