IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN
STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB)
BERDASARKAN PENYISIPAN MENGGUNAKAN
FUNGSI LINIER
DRAFT SKRIPSI
LIDYA ANDINY NASUTION
091401083
PROGRAM STUDI S- 1 I LMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN
STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB) BERDASARKAN
PENYISIPAN MENGGUNAKAN FUNGSI LINIER
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana
Ilmu Komputer
LIDYA ANDINY NASUTION
091401083
PROGRAM STUDI S- 1 I LMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNI VERSI TAS SUMATERA UTARA
2 0 1 3
PERSETUJUAN
Judul : IMPLEMENTASI KRIPTOGRAFI ALGORITMA
ELGAMAL DENGAN STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB) BERDASARKAN PENYISIPAN MENGGUNAKAN FUNGSI LINIER
Kategori : SKRIPSI
Nama : LIDYA ANDINY NASUTION
Nomor Induk Mahasiswa : 091401083
Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
Diluluskan di Medan,
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dian Rachmawati, S.Si, M.Kom Drs. Partano Siagian,M.Sc NIP. 198307232009122004 NIP. 195112271980031001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA KRIPTOGRAFI ELGAMAL DENGAN TEKNIK STEGANOGRAFI LEAST SIGNIFICANT BIT (LSB) BERDASARKANPENYISIPAN
MENGGUNAKAN FUNGSI LINIER
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, November 2013
Lidya Andiny Nasution 091401083
PENGHARGAAN
Dengan mengucapkan puji dan syukur kehadirat Allah SWT atas segala rahmat, hidayah
serta karunianya sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai
syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer
Universitas Sumatera Utara.
Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar–
besarnya kepada :
1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, Msc(CTM), Sp.A(K)
selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer
dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu
Komputer Universitas Sumatera Utara dan Pembanding I yang telah memberikan
kritik dan saran dalam penyempurnaan skripsi ini.
4. Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu
Komputer Universitas Sumatera Utara.
5. Bapak Drs. Partano Siagian,M.Sc yang telah memberikan bimbingan, saran, dan
masukan kepada penulis dalam pengerjaan skripsi ini.
6. Ibu Dian Rachmawati,S.Si,M.Kom selaku Dosen Pembimbing II yang dengan
sabar telah memberikan bimbingan, saran, dan masukan kepada penulis dalam
pengerjaan skripsi ini.
7. Bapak Syahriol Sitorus,S.Si,MIT selaku Dosen Pembanding II yang telah
memberikan kritik dan saran dalam penyempurnaan skripsi ini.
8. Ayahanda M. Yusuf Nasution dan Ibunda Fatimah Dalimunthe yang selalu
memberikan doa dan dukungan serta kasih sayang kepada penulis yang terus
memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan skripsi ini.
9. Abangda Nandar Afriza atas semangat, dukungan, perhatian dan pengertian
terhadap penulis selama proses penyelesaian skripsi ini.
10. Teman-teman terdekat, terutama Nadya Soraya Hardiyana, Fithri Rizqi Khairani
Nst, Pocut Rizky, dan Dewi Ayu Pratami atas semangat dan dorongannya sehingga
penulis dapat menyelesaikan skripsi ini. Dan juga untuk Ismail Fata Lubis, Dessy
Winda sari Manurung, dan teman-teman seangkatan 2009 lainnya yang telah
11. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan
satu-persatu.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan
kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.
Medan, November 2013
Penulis
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.
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 fermat's 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.
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.1Latar Belakang 1
1.2Rumusan Masalah 2
1.3Batasan Masalah 2
1.4Tujuan Penelitian 3
1.5Manfaat Penelitian 3
1.6Metode Penelitian 3
1.7Sistematika 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
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.3.4 PseudocodeExtraction 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 LeastSignificant
Bit (LSB) dengan Fungsi Linier 50
3.4.5 Flowchart Proses Extraction pada Metode LeastSignificant
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.1Implementasi 60
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
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 82
5.2. Saran 82
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1
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 UseCaseEncryption - Embedding Spesifikasi UseCaseInput Kunci Kriptografi Spesifikasi UseCaseInputPlaintext
Spesifikasi UseCaseEncryption
Spesifikasi UseCaseInput Kunci Steganografi Spesifikasi UseCaseInputCoverimage
Spesifikasi UseCaseEmbedding Spesifikasi UseCaseSaveStegoimage
Spesifikasi UseCaseExtraction – Decryption Spesifikasi UseCaseInput Kunci Steganografi Spesifikasi UseCaseInputStegoimage
Spesifikasi UseCaseExtraction
Spesifikasi UseCase Input Kunci Kriptografi Spesifikasi UseCaseDecryption
Spesifikasi UseCaseSave
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
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1
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 LeastSignificantBit (LSB) dengan Fungsi Linier
Interface Halaman Utama
InterfaceMenuEncryption-Embedding InterfaceMenuExtraction-Decryption
InterfaceMenuAbout
InterfaceMenuHelp
InterfaceForm Halaman Utama (Home)
Submenu Halaman Utama (Home)
Halaman Encryption-Embedding Halaman Extraction-Decryption
Halaman MenuAbout
Halaman MenuHelp
Hasil Pemilihan FileText Pada Proses Enkripsi
MessageBoxInvalidPrimeNumber Bukan Prima;
Message Box Invalid Prime Number Harus Lebih Besar dari
255
MessageBoxInvalidRandomNumberg
MessageBoxInvalidRandomNumberx
MessageBoxInvalidRandomNumberk
Tampilan Hasil Proses Enkripsi
Hasil Pemilihan Citra Sebagai Coverimage Tampilan Hasil Proses Penyisipan (Embedding)
MessageBox Tidak Bisa Dilakukan Penyisipan Gambar
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
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1