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 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA 2013
Universitas Sumatera Utara
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 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA 2013
Universitas Sumatera Utara
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB) BERDASARKAN PENYISIPAN MENGGUNAKAN FUNGSI LINIER : SKRIPSI : LIDYA ANDINY NASUTION : 091401083 : SARJANA (S1) ILMU KOMPUTER : ILMU KOMPUTER : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Diluluskan di Medan,
Komisi Pembimbing
:
Pembimbing 2
Dian Rachmawati, S.Si, M.Kom NIP. 198307232009122004
Pembimbing 1
Drs. Partano Siagian,M.Sc NIP. 195112271980031001
Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
11. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan satupersatu.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.
Medan, November 2013
Penulis
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 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.
Universitas Sumatera Utara
DAFTAR ISI
Halaman
Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Daftar Lampiran
ii iii iv vi vii viii xi xii xiv
Bab 1 Pendahuluan 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metode Penelitian 1.7 Sistematika Penulisan
1 2 2 3 3 3 4
Bab 2 Landasan Teori 2.1 Kriptografi 2.2 Enkripsi dan Dekripsi 2.3 Tujuan Kriptografi 2.4 Jenis Algoritma Kriptografi Berdasarkan Jenis Kunci 2.4.1 Algoritma Simetris 2.4.2 Algoritma Asimetris 2.4.3 Algoritma ElGamal 2.5 Bilangan Prima 2.6 Aritmatika Modulo 2.7 Fermat’s Little Theorem 2.8 Citra Digital 2.8.1 Bitmap 2.8.2 PNG 2.8.3 JPEG 2.9 Steganografi 2.10Least Significant Bit 2.11Fungsi Linier
6 7 7 8 8 9 9 11 12 12 13 13 14 14 15 17 18
Universitas Sumatera Utara
Bab 3 Analisis dan Perancangan Sistem 3.1 Analisis Sistem 3.1.1 Analisis Masalah 3.1.2 Analisis Kebutuhan 3.1.3 Analisis Proses 3.2 Pemodelan Sistem 3.2.1. Use Case Diagram 3.2.2 Activity Diagram 3.2.3 Sequence Diagram 3.3 Pseudocode 3.3.1 Pseudocode Enkripsi 3.3.2 Pseudocode Dekripsi 3.3.3 Psedocode Embedding 3.3.4 Pseudocode Extraction 3.4 Flowchart 3.4.1 Flowchart Gambaran Umum Sistem 3.4.2 Flowchart Proses Enkripsi pada Algoritma ElGamal 3.4.3 Flowchart Proses Dekripsi pada Algoritma ElGamal 3.4.4 Flowchart Proses Embedding pada Metode Least Significant Bit (LSB) dengan Fungsi Linier 3.4.5 Flowchart Proses Extraction pada Metode Least Significant Bit (LSB) dengan Fungsi Linier 3.5 Perancangan Antar Muka (Interface) 3.5.1 Halaman Utama (Home) 3.5.2 Halaman Encryption – Embedding 3.5.3 Halaman Extraction – Decryption 3.5.4 Halaman About 3.5.5 Halaman Help Bab 4 Implementasi dan Pengujian 4.1 Implementasi 4.1.1 Halaman Utama (Home) 4.1.2 Halaman Encryption – Embedding 4.1.3 Halaman Extraction – Decryption 4.1.4 Halaman About 4.1.5 Halaman Help 4.2 Pengujian Sistem 4.2.1 Pengujian Proses Enkripsi (Encryption) 4.2.2 Pengujian Proses Penyisipan (Embedding) 4.2.3 Pengujian Proses Ekstraksi (Extraction) 4.2.4 Pengujian Proses Dekripsi (Decryption) 4.2.5 Hasil Pengujian Proses Enkripsi (Encryption) 4.2.6 Hasil Pengujian Proses Penyisipan (Embedding) 4.2.7 Hasil Pengujian Proses Ekstraksi (Extraction) 4.2.8 Hasil Pengujian Proses Dekripsi (Decryption)
19 19 19 21 31 31 41 42 44 44 45 45 46 47 47 48 49 50 51 52 53 54 56 58 58
60 60 61 63 65 66 66 66 69 71 73 74 76 77 79
Universitas Sumatera Utara
Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 5.2. Saran
82 82
Daftar Pustaka
83
Universitas Sumatera Utara
DAFTAR TABEL
Nomor Tabel 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
Nama Tabel
Halaman
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 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
Nama Gambar
Halaman
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 B. Curriculum Vitae
A-1 B-1
Universitas Sumatera Utara