SKRIPSI
AHMAD IHSAN
081401058
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI KOMBINASI RIVEST SHAMIR ADLEMAN (RSA) DAN ELGAMAL DALAM PENYANDIAN
CITRA BITMAP
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
AHMAD IHSAN 081401058
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI KOMBINASI RIVEST SHAMIR ADLEMAN (RSA) DAN ELGAMAL DALAM PENYANDIAN CITRA BITMAP
Kategori : SKRIPSI
Nama : AHMAD IHSAN
Nomor Induk Mahasiswa : 081401058
Program Studi : S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Siti Dara Fadilla, S.Si, M.T Drs. Marihat Situmorang, M.Kom NIP. 197705162005012001 NIP. 196312141989031001
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI KOMBINASI RIVEST SHAMIR ADLEMAN (RSA) DAN ELGAMAL DALAM PENYANDIAN CITRA BITMAP
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 12 Januari 2015
PENGHARGAAN
Alhamdulillahirabbil’alamin, penulis mengucapkan puji syukur yang tiada hentinya kehadirat Allah SWT atas limpahan rahmat dan karunia-Nya serta segala nikmat iman, islam, pikiran dan pemahaman terhadap ilmu pengetahuan sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Shalawat dan salam penulis ucapkan kepada Rasulullah Muhammad SAW beserta para sahabat dan keluarganya yang telah menjadi tauladan bagi penulis dalam menjalani kehidupan.
Pada kesempatan kali ini penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membantu penulis selama pengerjaan skripsi ini, antara lain kepada : 1. Dr. Poltak Sihombing, M.Kom selaku Ketua Departemen Ilmu Komputer,
Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara. 2. Drs. Marihat Situmorang, M.Kom selaku pembimbing I atas arahan, bimbingan
dan nasehatnya kepada penulis dalam menyelesaikan skripsi ini. Serta Siti Dara Fadilla, S.Si, M.T selaku pembimbing II yang telah banyak memberikan arahan, bimbingan, nasehat dan motivasi kepada penulis selama penulisan skripsi ini.. 3. Dr. Poltak Sihombing, M.Kom sebagai dosen penguji I dan Ade Candra, S.T,
M.Kom selaku dosen penguji II atas masukan, saran dan nasehatnya kepada penulis dalam menyelesaikan skripsi ini.
4. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
5. Seluruh dosen Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membimbing dan mencurahkan ilmunya selama masa perkuliahan.
6. Seluruh pegawai administrasi Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membantu penulis dalam pengurusan administrasi selama perkuliahan, seminar dan sidang meja hijau.
8. Abangda Tony Zatmiko, Rony Gustam Kalvarisi dan Kakanda saya Dewi Try Agustina atas segala nasehat, dukungan, doa dan teladan yang diberikan kepada penulis untuk dapat menyelesaikan skripsi ini.
9. Saudari Daini, atas kesetiaan, kebersamaan, semangat, doa, dukungan, dan keceriaan serta motivasi yang diberikan kepada penulis.
10. Teman-teman sejawat Ferdy Harahap, Hanafi, Rahmat Dani, Nurman Hidayat, M.Reza Alvi, Reycho Surahman Sinaga, Irfan Antoni Siregar, Saria Mahdi Ginting, Arion Immanuel Sitorus, Andronikus Simarmata atas dukungan, kebersamaan dan motivasi yang diberikan kepada penulis.
11. Keluarga besar S1 Ilmu Komputer, khususnya angkatan 2008 yang telah banyak memberi dukungan, masukan dan kerjasama yang baik.
12. Teman-teman parkir Ilkom Bang Rizal, Bang Nuzul, Bozes atas semua motivasi dan kebersamaan serta keceriaan untuk menghilangkan kejenuhan diri penulis. 13. Semua pihak yang terlibat langsung ataupun tidak langsung dalam membantu
penyelesaian skripsi ini yang tidak dapat penulis ucapkan satu persatu.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, karena kesempurnaan hanyalah milik Allah semata. Oleh karena itu penulis menerima kritik dan saran dari semua pihak yang bersifat membangun dan menyempurnakan skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya.
Medan, 12 Januari 2015
ABSTRAK
Pertukaran informasi baik pesan berupa teks, citra dan video semakin mudah dan popular untuk dilakukan. Hal ini tidak mengurangi adanya resiko pencurian dan pembajakan pesan. Perlu dilakukan pengamanan pesan citra dengan menggunakan kriptografi sebelum data tersebut dikirim, dua diantaranya adalah algoritma kunci public Rivest-Shamir-Adleman (RSA) dan El-Gamal. Algoritma RSA dan El-Gamal menggunakan bilangan prima untuk mengenkripsi isi pesan. Bilangan prima dibangkitkan dengan menggunakan metode bilangan mersenne. Dalam penelitian ini, pengecekan terhadap keprimaan suatu bilangan menggunakan Lucas Lehmer Primality Test. Sistem yang dihasilkan dapat menjaga melakukan enkripsi dan dekripsi terhadap pesan citra menggunakan algoritma RSA dan El-Gamal.
Kata Kunci : BMP, El-Gamal, Lucas Lehmer Primality Test, Mersenne,
ABSTRACT
Exchanging information such as text, image, and video is becoming popular and easy to do nowadays. This doesn't mean there is no risk in stealing or hijacking the information. It's necessary to secure the image messages using cryptography before sending, two among them are Rivest-Shamir-Adleman and El-Gamal public key algorithm . Those algorithm use prime numbers to encrypt the content. Prime number is generated using Mersenne number method. In this case, writer tries to check the prime number using Lucas Lehmer primality test. The resulting system can encrypt and decrypt the image message using RSA and El-Gamal algorithm.
Persetujuan ii
1.1 Latar Belakang Masalah 1
1.2 Rumusan Masalah 3
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 4
1.6 Metode Penelitian 4
1.7 Sistematika Penulisan 5
Bab 2 Tinjauan Pustaka
2.1 Kriptografi 6
2.2 Algoritma RSA 9
2.3.Algoritma ElGamal 12
2.4 Pengertian Citra 14
2.4.1 Pengertian Citra Analog 14
2.4.2 Pengertian Citra Digital 15
2.5 Jenis Citra 15
2.5.1 Citra Biner 16
2.5.2 Citra Grayscale 16
2.5.3 Citra Warna (16 Bit) 17
2.7.1 Mode Warna RGB (Red, Green, Blue) 20 2.7.2 Mode Warna CMYK (Cyan, Magenta Yellow Black) 21 2.7.3 Mode Warna HSI (Hue, Saturation, Intensity) 22
2.8 Kedalaman Bit 22
Bab 3 Analisis Dan Perancangan Sistem 23
3.1 Analisis Sistem 23
3.1.1 Analisis Masalah 23
3.1.2 Pemodelan Perangkat Lunak 24
3.1.2.1 Use Case Diagram 25
3.1.2.2 Squence Diagram 28
3.1.3 Analisis Proses Sistem 29
3.1.3.1 Analisis Lucas Lehmer Primality Test 30
3.1.3.2 Analisis Algoritma RSA 33
3.1.3.3 Analisis Algoritma ElGamal 36
3.2 Perancangan Sistem 38
3.2.1 Pembangkit Kunci Algoritma RSA dan ElGamal 39
3.2.2 Enkripsi Citra 39
3.2.3 Dekripsi Citra 40
3.2.4 Perancangan Flowchart 41
3.2.4.1 Flowchart Pembangkit Kunci Lucas Lehmer 42 3.2.4.2 Flowchart Pembangkit Kunci RSA 43 3.2.4.3 Flowchart Pembangkit Kunci Dekripsi RSA 44 3.2.4.4 Flowchart Pembangkit Kunci Enkripsi RSA 45 3.2.4.5 Flowchart Pembangkit Kunci ElGamal 46 3.2.4.6 Flowchart Proses Enkripsi ElGamal 47 3.2.4.7 Flowchart Proses Dekripsi ElGamal 48
3.2.5 Perancangan Tampilan 49
3.2.5.1 Perancangan Form Utama 49
4.1.1 Proses Pengambilan Nilai RGB Pada Pixel 52 4.1.2 Proses Enkripsi Nilai RGB Citra Asli 54 4.1.3 Proses Dekripsi Nilai RGB Citra Ter-Enkripsi 56
4.2 Pengujian Sistem 57
4.2.1 Proses Pengenkripsian Citra Bitmap RSA dan ElGamal 57 4.2.2 Proses Pendekripsian Citra Bipmap RSA dan ElGamal 63
Bab 5 Kesimpulan dan Saran 67
5.1 Kesimpulan 67
5.2 Saran 68
Daftar Pustaka 69
Halaman
Tabel 2.1 Hubungan Antara Bit pixel dengan Jumlah Warna Pada Bitmap 19 Tabel 2.2 Hubungan Antara Kedalaman warna dan Resolusi Warna 22
Tabel 3.1 Spesifikasi Use Case Enkripsi 26
Halaman
Gambar 2.1 Diagram Proses Enkripsi dan Dekripsi Algoritma Simetris 8 Gambar 2.2 Diagram Proses Enkripsi dan Dekripsi Algoritma Asimetris 8 Gambar 2.3 Koordinat Citra Digital 14
Gambar 2.4 Citra Biner 16
Gambar 2.5 Citra Grayscale 16
Gambar 2.6 Deret Warna 16 Bit 17
Gambar 2.7 Kedalaman Warna 16 Bit High Color 17
Gambar 2.8 Citra Warna 24 Bit 18
Gambar 2.9 Warna RGB 21
Gambar 2.10 Warna CMYK 21
Gambar 2.11 Warna Hue 22
Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem 24
Gambar 3.2 Use Case Perancang Sistem 25
Gambar 3.3 Activity Diagram Enkripsi 26
Gambar 3.4 Activity Diagram Dekripsi 27
Gambar 3.5 Squence Diagram Enkripsi Citra Digital 29 Gambar 3.6 Squence Diagram Dekripsi Citra Digital 29 Gambar 3.7 Rancangan Pembangkit Kunci Algoritma RSA dan ElGamal 39
Gambar 3.8 Proses Enkripsi Citra 40
Gambar 3.9 Proses Dekripsi Citra 40
Gambar 3.10 Flowchart Pembangkit Kunci Lucas Lehmer 42 Gambar 3.11 Flowchart Pembangkit Kunci RSA 43 Gambar 3.12 Flowchart Pembangkit Dekripsi RSA 44 Gambar 3.13 Flowchart Pembangkit Kunci Enkripsi RSA 45 Gambar 3,14 Flowchart Pembangkit Kunci ElGamal 46 Gambar 3.15 Flowchart Proses Enkripsi ElGamal 47 Gambar 3.16 Flowchart Proses Dekripsi ElGamal 48
Gambar 3.17 Rancangan Form Utama 49
Gambar 4.2 Matriks RGB Citra 53 Gambar 4.3 Tampilan Form Proses Enkripsi Citra 57
Gambar 4.4 Input Citra 58
Gambar 4.5 Generate RSA Key 59
Gambar 4.6 Pasangan Kunci 59
Gambar 4.7 Enkripsi Dekripsi Awal 60
Gambar 4.8 Generate ElGamal 60
Gambar 4.9 Pasangan Kunci ElGamal 61
Gambar 4.10 Proses Generate Key Selesai 61
Gambar 4.11 Konfirmasi Proses Enkripsi RSA 62
Gambar 4.12 Proses Enkripsi Algoritma RSA 62
Gambar 4.13 Konfirmasi Proses Enkripsi ElGamal 63
Gambar 4.14 Proses Enkripsi Selesai 63
Gambar 4.15 Aplikasi Enkripsi Dekripsi Citra Bitmap 64 Gambar 4.16 Menu “Dekripsi” Setelah Input Citra 64 Gambar 4.17 Private Key Dekripsi Algoritma RSA dan ElGamal 65
Gambar 4.18 Proses Dekripsi Algoritma RSA 65