IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB) BERDASARKAN PENYISIPAN MENGGUNAKAN FUNGSI LINIER DRAFT SKRIPSI LIDYA ANDINY NASUTION 091401083
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 UNI VERSI TAS SUMATERA UTARA 2 0 1 3
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 3PERSETUJUAN
Judul : IMPLEMENTASI KRIPTOGRAFI ALGORITMA
ELGAMAL DENGAN STEGANOGRAFI TEKNIKLEAST 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, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
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
membantu penulis dalam menyelesaikan skripsi ini.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.
Katakunci : Kriptografi, ElGamal, Steganografi, Least Significant Bit,
Fermat’s Little Theorem, Fungsi Linier.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
Halaman12
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
2.8 Citra Digital
7
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
2.4 Jenis Algoritma Kriptografi Berdasarkan Jenis Kunci
2.3 Tujuan Kriptografi
Persetujuan ii
2
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
1.3 Batasan Masalah
7
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
18 Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem
60
4.1.4 Halaman About
63
4.1.3 Halaman Extraction – Decryption
61
4.1.2 Halaman Encryption – Embedding
60
4.1.1 Halaman Utama (Home)
58 Bab 4 Implementasi dan Pengujian
4.1.5 Halaman Help
3.5.5 Halaman Help
58
3.5.4 Halaman About
56
3.5.3 Halaman Extraction – Decryption
54
3.5.2 Halaman Encryption – Embedding
65
66
3.5.1 Halaman Utama (Home)
4.2.5 Hasil Pengujian Proses Enkripsi (Encryption)
79
4.2.8 Hasil Pengujian Proses Dekripsi (Decryption)
77
4.2.7 Hasil Pengujian Proses Ekstraksi (Extraction)
76
4.2.6 Hasil Pengujian Proses Penyisipan (Embedding)
74
73
4.2 Pengujian Sistem
4.2.4 Pengujian Proses Dekripsi (Decryption)
71
4.2.3 Pengujian Proses Ekstraksi (Extraction)
69
4.2.2 Pengujian Proses Penyisipan (Embedding)
66
4.2.1 Pengujian Proses Enkripsi (Encryption)
66
53
52
19
3.2.1. Use Case Diagram
44
3.3 Pseudocode
42
3.2.3 Sequence Diagram
41
3.2.2 Activity Diagram
31
31
44
3.2 Pemodelan Sistem
21
3.1.3 Analisis Proses
19
3.1.2 Analisis Kebutuhan
19
3.1.1 Analisis Masalah
3.3.1 Pseudocode Enkripsi
3.3.2 Pseudocode Dekripsi
3.5 Perancangan Antar Muka (Interface)
48
51
3.4.5 Flowchart Proses Extraction pada Metode Least Significant Bit (LSB) dengan Fungsi Linier
50
Bit (LSB) dengan Fungsi Linier
3.4.4 Flowchart Proses Embedding pada Metode Least Significant
49
3.4.3 Flowchart Proses Dekripsi pada Algoritma ElGamal
3.4.2 Flowchart Proses Enkripsi pada Algoritma ElGamal
45
47
3.4.1 Flowchart Gambaran Umum Sistem
47
3.4 Flowchart
46
3.3.4 Pseudocode Extraction
45
3.3.3 Psedocode Embedding
4.1 Implementasi
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan
82
5.2. Saran
82 Daftar Pustaka
83
DAFTAR TABEL
Nomor Tabel Nama Tabel Halaman33
37
36
36
35
34
34
33
38
32
30
29
27
26
25
37
38
16
78
81
81
80
80
79
78
77
39
76
76
75
75
74
40
40
17
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
2.1
3.7
3.13
3.12
3.11
3.10
3.9
3.8
3.6
3.15
3.5
3.4
3.3
3.2
3.1
2.2
3.14
3.16
4.13
4.6
4.12
4.11
4.10
4.9
4.8
4.7
4.5
3.17
4.4
4.3
4.2
4.1
3.20
3.19
3.18
81
DAFTAR GAMBAR
Nomor Gambar Nama Gambar16
49
48
44
43
42
41
31
19
15
51
14
13
10
9
8
7
Message Box Tidak Bisa Dilakukan Penyisipan Gambar
Tampilan Hasil Proses Enkripsi Hasil Pemilihan Citra Sebagai Coverimage Tampilan Hasil Proses Penyisipan (Embedding)
50
52
255
67
71
70
69
68
68
68
67
67
66
53
65
64
62
61
60
59
58
56
54
Message Box Invalid Random Number g Message Box Invalid Random Number x Message Box Invalid Random Number k
Message Box Invalid Prime Number Bukan Prima;
Message Box Invalid Prime Number Harus Lebih Besar dari
Halaman
3.2
3.10
3.9
3.8
3.7
3.6
3.5
3.4
3.3
3.1
3.12
2.8
2.7
2.6
2.5
2.4
2.3
2.2
2.1
3.11
3.13
Halaman Encryption-Embedding Halaman Extraction-Decryption Halaman Menu About Halaman Menu Help Hasil Pemilihan File Text Pada Proses Enkripsi
4.10
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)
(LSB) dengan Fungsi Linier
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 LinierFlowchart Proses Extraction pada Metode Least Significant Bit
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
4.14
4.13
4.12
4.11
4.9
3.14
4.7 4.8 (a) 4.9 (b)
4.6
4.5
4.4
4.3
4.2
4.1
3.16
3.15
71
4.16 Tampilan Hasil Pemilihan Stegoimage
72
4.17 Tampilan Hasil Proses Ekstraksi (Extraction)
73
4.18 Message Box yang Menyatakan Nilai m dan b Tidak Sama
73 dengan Proses Penyisipan (Embedding)
4.19 Tampilan Hasil Proses Dekripsi (Decryption)
74