DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xii
Daftar Lampiran xiv
Bab 1 Pendahuluan
1.1 Latar Belakang
1 1.2
Rumusan Masalah 2
1.3 Batasan Masalah
2 1.4
Tujuan Penelitian 3
1.5 Manfaat Penelitian
3 1.6
Metode Penelitian 3
1.7 Sistematika Penulisan 4
Bab 2 Landasan Teori 2.1 Kriptografi
6
2.2 Enkripsi dan Dekripsi 7
2.3 Tujuan Kriptografi 7
2.4 Jenis Algoritma Kriptografi Berdasarkan Jenis Kunci 8
2.4.1 Algoritma Simetris 8
2.4.2 Algoritma Asimetris 9
2.4.3 Algoritma ElGamal 9
2.5 Bilangan Prima 11
2.6 Aritmatika Modulo 12
2.7 Fermat’s Little Theorem 12
2.8 Citra Digital 13
2.8.1 Bitmap 13
2.8.2 PNG 14
2.8.3 JPEG 14
2.9 Steganografi 15
2.10Least Significant Bit 17
2.11Fungsi Linier 18
Universitas Sumatera Utara
Bab 3 Analisis dan Perancangan Sistem 3.1 Analisis Sistem
19 3.1.1 Analisis Masalah
19 3.1.2 Analisis Kebutuhan
19 3.1.3 Analisis Proses
21 3.2 Pemodelan Sistem
31 3.2.1. Use Case Diagram
31 3.2.2 Activity Diagram
41 3.2.3 Sequence Diagram
42 3.3 Pseudocode
44 3.3.1 Pseudocode Enkripsi
44 3.3.2 Pseudocode Dekripsi
45 3.3.3 Psedocode Embedding
45 3.3.4 Pseudocode Extraction
46 3.4 Flowchart
47 3.4.1 Flowchart Gambaran Umum Sistem
47 3.4.2 Flowchart Proses Enkripsi pada Algoritma ElGamal
48 3.4.3 Flowchart Proses Dekripsi pada Algoritma ElGamal
49 3.4.4 Flowchart Proses Embedding pada Metode Least Significant
Bit LSB dengan Fungsi Linier
50 3.4.5 Flowchart Proses Extraction pada Metode Least Significant
Bit LSB dengan Fungsi Linier 51
3.5 Perancangan Antar Muka Interface 52
3.5.1 Halaman Utama Home 53
3.5.2 Halaman Encryption – Embedding 54
3.5.3 Halaman Extraction – Decryption 56
3.5.4 Halaman About 58
3.5.5 Halaman Help 58
Bab 4 Implementasi dan Pengujian 4.1
Implementasi 60
4.1.1 Halaman Utama Home 60
4.1.2 Halaman Encryption – Embedding 61
4.1.3 Halaman Extraction – Decryption 63
4.1.4 Halaman About 65
4.1.5 Halaman Help 66
4.2 Pengujian Sistem 66
4.2.1 Pengujian Proses Enkripsi Encryption 66
4.2.2 Pengujian Proses Penyisipan Embedding 69
4.2.3 Pengujian Proses Ekstraksi Extraction 71
4.2.4 Pengujian Proses Dekripsi Decryption 73
4.2.5 Hasil Pengujian Proses Enkripsi Encryption 74
4.2.6 Hasil Pengujian Proses Penyisipan Embedding 76
4.2.7 Hasil Pengujian Proses Ekstraksi Extraction 77
4.2.8 Hasil Pengujian Proses Dekripsi Decryption 79
Universitas Sumatera Utara
Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan
82 5.2. Saran
82 Daftar Pustaka
83
Universitas Sumatera Utara
DAFTAR TABEL
Nomor Tabel
Nama Tabel Halaman
2.1 2.2
3.1 3.2
3.3 3.4
3.5 3.6
3.7 3.8
3.9
3.10 3.11
3.12 3.13
3.14 3.15
3.16 3.17
3.18 3.19
3.20
4.1 4.2
4.3 4.4
4.5 4.6
4.7 4.8
4.9
4.10 4.11
4.12 4.13
4.14
Tabel contoh dari Hiddentext, Coverimage dan Stegoimage Proses Penyisipan Least Significant Bit LSB
Biner Ciphertext Biner Pixel
Penyisipan Pesan Pengubahan Biner Pixel
Desimal Ciphertext Spesifikasi Use Case Encryption - Embedding
Spesifikasi Use Case Input Kunci Kriptografi Spesifikasi Use Case Input Plaintext
Spesifikasi Use Case Encryption Spesifikasi Use Case Input Kunci Steganografi
Spesifikasi Use Case Input Coverimage Spesifikasi Use Case Embedding
Spesifikasi Use Case Save Stegoimage Spesifikasi Use Case Extraction – Decryption
Spesifikasi Use Case Input Kunci Steganografi Spesifikasi Use Case Input Stegoimage
Spesifikasi Use Case Extraction Spesifikasi Use Case Input Kunci Kriptografi
Spesifikasi Use Case Decryption Spesifikasi Use Case Save
Pengujian Proses Encryption tezt 2.txt Pengujian Proses Encryption nama.txt
Pengujian Proses Encryption komA.txt Pengujian Proses Embedding 1000x750.bmp
Pengujian Proses Embedding image2.bmp Pengujian Proses Embedding IMG_4881.bmp
Pengujian Proses Extraction pengujian1000x750.bmp Pengujian Proses Extraction penguimage2.bmp
Pengujian Proses Extraction hasilnya2.bmp Pengujian Proses Decryption tezt 2.txt
Pengujian Proses Decryption nama.txt Pengujian Proses Decryption komA.txt
Perbandingan Panjang Teks Plaintext dan Ciphertext Perbanndingan Ukuran Citra Coverimage dan Stegoimage
16 17
25 26
27 29
30 32
33 33
34 34
35 36
36 37
37 38
38 39
40 40
74 75
75 76
76 77
78 78
79 80
80 81
81 81
Universitas Sumatera Utara
DAFTAR GAMBAR Nomor
Gambar
Nama Gambar Halaman
2.1 2.2
2.3 2.4
2.5 2.6
2.7 2.8
3.1 3.2
3.3 3.4
3.5 3.6
3.7 3.8
3.9 3.10
3.11 3.12
3.13 3.14
3.15 3.16
4.1 4.2
4.3 4.4
4.5 4.6
4.7 4.8 a
4.9 b 4.9
4.10 4.11
4.12 4.13
4.14 4.15
Proses Umum Kriptografi Skema Kriptografi Simetris
Skema Kriptografi Asimetris Sistem Kriptografi Algoritma ElGamal
Contoh File Citra Bitmap Contoh File Citra PNG
Contoh File Citra JPEG Diagram Penyisipan dan Ekstraksi Pesan
Diagram Ishikawa Use Case Diagram
Sistem Activity Diagram
Proses Encryption-Embedding Activity Diagram
Proses Extraction-Decryption Sequence Diagram
Proses Encryption-Embedding Sequence Diagram
Proses Encryption-Embedding Flowchart
Gambaran Umum Sistem Flowchart
Proses Enkripsi pada Algoritma ElGamal Flowchart
Proses Dekripsi pada Algoritma ElGamal Flowchart
Proses Embedding pada Metode Least Significant Bit
LSB dengan Fungsi Linier Flowchart
Proses Extraction pada Metode Least Significant Bit LSB dengan Fungsi Linier
Interface Halaman Utama
Interface Menu Encryption-Embedding
Interface Menu Extraction-Decryption
Interface Menu About
Interface Menu Help
Interface Form Halaman Utama Home
Submenu Halaman Utama Home
Halaman Encryption-Embedding Halaman Extraction-Decryption
Halaman Menu About Halaman Menu Help
Hasil Pemilihan File Text Pada Proses Enkripsi Message
Box Invalid Prime Number Bukan Prima; Message
Box Invalid Prime Number Harus Lebih Besar dari 255
Message Box Invalid Random Number g
Message Box Invalid Random Number x
Message Box Invalid Random Number k
Tampilan Hasil Proses Enkripsi Hasil Pemilihan Citra Sebagai Coverimage
Tampilan Hasil Proses Penyisipan Embedding Message
Box Tidak Bisa Dilakukan Penyisipan Gambar 7
8 9
10 13
14 15
16 19
31 41
42 43
44 48
49 50
51
52 53
54 56
58 59
60 61
62 64
65 66
67 67
67
68 68
68 69
70 71
71
Universitas Sumatera Utara
4.16 4.17
4.18 4.19
Tampilan Hasil Pemilihan Stegoimage Tampilan Hasil Proses Ekstraksi Extraction
Message Box yang Menyatakan Nilai m dan b Tidak Sama
dengan Proses Penyisipan Embedding Tampilan Hasil Proses Dekripsi Decryption
72 73
73
74
Universitas Sumatera Utara
DAFTAR LAMPIRAN
Halaman A. Listing Program A-1
B. Curriculum Vitae B-1
Universitas Sumatera Utara
ABSTRAK
Kerahasiaan pesan atau data yang dimiliki oleh seseorang merupakan suatu hal yang penting. Pengamanan kerahasian pesan dapat menggunakan pengamanan
pesan seperti kriptografi dan steganografi. Pada penelitian ini digunakan algoritma kriptografi ElGamal dan teknik Steganografi Least Significant Bit LSB.
Algoritma ElGamal menggunakan fermat’s little theorem untuk pengecekan bilangan prima yang digunakan. Teknik steganografi least significant bit LSB
menggunakan fungsi linier untuk menentukan letak pixel yang akan disisipkan pesan rahasia. Proses dari sistem ini adalah pesan rahasia berformat .txt atau
input langsung dari sistem dan kunci publik dan private yang diinput langsung dari sistem, kemudian kunci publik y dihitung dengan menggunakan kunci publik
p, g dan k serta kunci private x yang digunakan pada proses enkripsi untuk menghasilkan ciphertext. Ciphertext digunakan sebagai pesan yang akan
disisipkan embedding dengan menggunakan teknik least significant bit LSB berdasarkan fungsi linier ke dalam coverimage berformat .bmp dan
menghasilkan stegoimage. Kemudian stegoimage diekstraksi dan mengeluarkan pesan rahasia ciphertext yang disisip pada citra. Pesan rahasia yang diperoleh
dari proses ektraksi didekripsi untuk mendapatkan pesan asli dari pesan rahasia dengan menggunakan kunci publik p dan kunci private x. Pada proses pengujian
enkripsi menggunakan teks dengan panjang karakter 115, 8 dan 6 menghasilkan jumlah ciphertext dua kali lebih besar dari plaintext yaitu 230, 16 dan 12,
sedangkan pada proses embedding digunakan citra berukuran 2,14 MB, 81,2 KB dan 2,82 MB menghasilkan citra yang berukuran lebih besar yaitu 2,86 MB, 1,47
MB dan 30,4 MB. Katakunci : Kriptografi, ElGamal, Steganografi,
Least Significant Bit, Fermat’s Little Theorem, Fungsi Linier.
Universitas Sumatera Utara
ABSTRACT
Confidentiality of messages or data is owned by a person is an important thing. Safeguarding of confidentiality of the message can use a security message like
Cryptography and steganography. This research used ElGamal algorithms for cryptographic and Least Significant Bit LSB techniques for Steganography.
ElGamal algorithm use fermats little theorem for checking prime numbers are used. Techniques least significant bit LSB of Steganography using a linear
function to determine the location of the pixel to be inserted the secret message. The process of this system is the secret message format .txt or input directly
from the system and the public and private keys that are input directly from the system, then the public key y is computed using the public key p, g, k and private
key x used in encryption process to produce ciphertext. Ciphertext is used as the message will be inserted embedding using the technique of least significant bit
LSB based on a linear function into coverimage format . bmp and produces stegoimage. Secret message obtained from the extraction process is decrypted to
get the original message of the secret message using the public key p and private key x.
In the process of testing the encryption using the text with character length 115, 8 and 6 produce amount of ciphertext two times bigger than the plaintext
that is 230, 16 and 12, while in the process of embedding used image size of 2.14 MB, 81.2 KB and 2.82 MB produce much larger image size is 2.86 MB, 1.47 MB
and 30.4 MB. Keyword: Cryptography, ElGamal, Steganography, Least Significant Bit,
Fermat’s Little Theorem, Liniear Function.
Universitas Sumatera Utara
BAB 1 PENDAHULUAN
1. Latar Belakang
Kerahasiaan pesan atau data yang dimiliki oleh seseorang merupakan hal penting dalam pengiriman pesan agar pesan tersebut hanya dapat diberikan oleh orang tertentu
saja yang dapat mengakses informasi tersebut. Untuk menjaga kerahasiaan pesan diperlukan pengamanan data atau dikenal sebagai kriptografi.
Kriptografi merupakan ilmu yang mempelajari cara pengamanan data dengan tujuan mencegah dari orang lain yang ingin mengetahui isinya, dengan menggunakan
kode-kode dan aturan-aturan tertentu dan metode lainnya sehingga hanya orang yang berhak yang dapat mengetahui isi pesan sebenarnya. Salah satu algoritma kriptografi
adalah algoritma ElGamal. Algoritma ElGamal termasuk dalam kriptografi modern yang menggunakan plainteks, cipherteks dan kunci untuk melakukan proses enkripsi
dan dekripsi dalam pengamanan data.
Dengan berkembangnya kriptografi, ada pihak-pihak yang dapat merusak algoritma kriptografi itu sendiri. Untuk mengatasi masalah ini dapat dilakukan
penggabungan pengaman pesan dengan menggunakan kriptografi dan steganografi. Steganografi merupakan seni dan ilmu menyembunyikan pesan tersembunyi dengan
cara menyisipkan pesan ke dalam sebuah gambar dengan tujuan tidak ada seorang pun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia selain pengirim dan
penerima pesan. Ada beberapa teknik steganografi salah satuya least significant bit LSB.
Steganografi dengan teknik Least Significant Bit LSB menggunakan cara penyisipan pada bit rendah atau bit yang paling kanan pada data pixel yang menyusun
file tersebut pada akhir file. Pada teknik LSB dapat dimodifikasi menggun
Universitas Sumatera Utara
akan teknik penyisipan sesuai fungsi linier, dengan fungsi linier menjadi acuan untuk menentukan lokasi penyisipan pesan pada gambar.
Kelebihan dari algoritma ElGamal adalah terletak pada keamanannya yaitu sulitnya perhitungan logaritma ketika bilangan yang dipilih adalah bilangan prima
yang besar sehingga algoritma ElGamal mempunyai kekurangan yaitu membutuhkan resource yang besar dan processor yang mampu melakukan perhitungan besar.
Kelebihan dari teknik least significant bit LSB yaitu menghasilkan ukuran citra yang tidak jauh berubah dari ukuran semula tetapi teknik least significant bit
LSB memiliki kekurangan yaitu terbatasnya penyisipan pesan atau data yang sesuai dengan ukuran citra.
Dengan melihat kelebihan dan kekurangan dari algoritma ElGamal dan teknik least significant bit
LSB, penulis menggabungkan keduanya untuk mengamankan pesan atau data sehingga tingkat keamanan dan kerahasian data menjadi lebih baik.
Berdasarkan latar belakang yang telah diuraikan diatas, maka penulis membuat judul penelitian “Implementasi Kombinasi Kriptografi Algoritma ElGamal dengan
Steganografi Teknik Least Significant Bit LSB berdasarkan Penyisipan Menggunakan Fungsi Linier.”
1.2 Rumusan Masalah
Berdasarkan latar belakang maka yang menjadi rumusan masalah adalah bagaimana penerapan implementasi kriptografi algoritma ElGamal dengan steganografi teknik
Least Significant Bit LSB berdasarkan penyisipan menggunakan fungsi linier untuk
pengamanan data.
1.3 Batasan Masalah
Batasan masalah dalam penelitian implementasi kriptografi algoritma ElGamal dengan steganografi teknik least significant bit LSB berdasarkan penyisipan
menggunakan fungsi linier ini adalah sebagai berikut : 1.
Teks yang akan disisipkan hanya berjenis file txt.
Universitas Sumatera Utara
2. Jenis citra yang akan disisipkan teks yaitu file bmp.
3. Pengujian bilangan prima yang dipakai adalah Fermat’s Little Theorem dengan
bilangan prima lebih besar dari 255. 4.
Bilangan prima p , nilai x, k dan g di inputkan oleh user. 5.
nilai m dan b diinputkan oleh user dengan nilai m dan b harus bernilai positif. 6.
Hasil ciphertext tidak lebih besar dari 255. 7.
Nilai x dan hasil fx tidak dapat lebih besar dari nilai lebar dan panjang pixel citra. 8.
Implementasi algoritma ini dibangun dengan C Microsoft Visual Studio 2010.
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah memperoleh aplikasi kriptografi algoritma ElGamal dengan steganografi teknik least significant bit LSB yang melakukan penyisipan
berdasarkan fungsi linier pada pengaman pesan atau data untuk menjaga kerahasian atau keamanan data.
1.5 Manfaat Penelitian
Manfaat dari penelitian ini adalah dengan menggunakan algoritma ElGamal dan steganografi teknik least significant bit LSB berdasarkan penyisipan dengan fungsi
linier pada pesan atau data yang bersifat rahasia menjadi aman dari pihak yang tidak berhak atau pihak lain.
1.6 Metodelogi Penelitian
Tahapan yang dilakukan dalam penelitian ini adalah: 1.
Studi Literatur Penelitian ini terlebih dahulu dipelajari litelatur yang didapat melalui buku, jurnal,
artikel, makalah maupun situs internet yang membahas kriptografi algoritma ElGamal dengan steganografi teknik least significant bit LSB berdasarkan
penyisipan menggunakan fungsi linier. 2.
Analisis dan Perancangan Sistem Pada tahap ini dilakukan analisis terhadap permasalahan yang ada dan kebutuhan
yang diperlukan untuk membuat sistem serta dilakukan perancangan system dengan flowchart, data flow diagram DFD, dan antar muka interface.
Universitas Sumatera Utara
3. Implementasi Sistem
Pada tahap ini akan dilakukan pembuatan program aplikasi berdasarkan perancangan sistem yang telah dirancang sebelumnya.
4. Pengujian Sistem
Dalam tahap ini dilakukan pengujian terhadap sistem yang telah dibangun, seperti melakukan uji coba proses enkripsi dan dekprisi penyandian teks dengan algoritma
ElGamal serta embedding dan extraction pesan metode least significant bit LSB dengan penyisipan menggunakan fungsi linier.
5. Dokumentasi
Dalam tahap ini dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem dalam format penulisan penelitian.
1.7 Sistematika Penulisan