IMPLEMENTASI KOMBINASI RIVEST SHAMIR ADLEMAN (RSA) DAN ELGAMAL DALAM PENYANDIAN CITRA BITMAP SKRIPSI AHMAD IHSAN 081401058
IMPLEMENTASI KOMBINASI RIVEST SHAMIR ADLEMAN
(RSA) DAN ELGAMAL DALAM PENYANDIAN
CITRA BITMAP
SKRIPSI
AHMAD IHSAN
081401058
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2015 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 MEDAN 2015
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, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
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 Ahmad Ihsan NIM. 081401058
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.
7. Kedua orang tua tercinta, Ayahanda Pitoyo dan Ibunda Supartini atas segala kasih dan sayang, nasehat, doa, dan dukungan serta kepercayaan yang telah diberikan kepada penulis selama kuliah dan menyelesaiakan skripsi ini.
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 Penulis
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, Rivest-
Shamir-Adleman (RSA)
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.
Keywords : BMP, El-Gamal, Lucas Lehmer Primality Test, Mersenne, Rivest-
Shamir-Adleman (RSA)DAFTAR ISI
15
9
2.3.Algoritma ElGamal
12
2.4 Pengertian Citra
14
2.4.1 Pengertian Citra Analog
14
2.4.2 Pengertian Citra Digital
2.5 Jenis Citra
6
15
2.5.1 Citra Biner
16
2.5.2 Citra Grayscale
16
2.5.3 Citra Warna (16 Bit)
17
2.5.4 Citra Warna (24 Bit)
17
2.2 Algoritma RSA
Halaman Persetujuan ii
Pernyataan iii
1.2 Rumusan Masalah
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xii
Bab 1 Pendahuluan
1.1 Latar Belakang Masalah
1
3
5 Bab 2 Tinjauan Pustaka
1.3 Batasan Masalah
3
1.4 Tujuan Penelitian
3
1.5 Manfaat Penelitian
4
1.6 Metode Penelitian
4
1.7 Sistematika Penulisan
2.1 Kriptografi
2.6 Format File Citra Bitmap (.Bmp)
18
2.7 Mode Warna
19
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
3.2.5.2 Perancangan Form Pembangkit Kunci RSA
50
3.2.5.3 Perancangan Form Pemabngkit Kunci ElGamal
51 Bab 4 Implementasi Dan Pengujian Sistem
52
4.1 Implementasi
52
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 Lampiran A
DAFTAR TABEL
Halaman
Tabel 2.1 Hubungan Antara Bit pixel dengan Jumlah Warna Pada Bitmap19 Tabel 2.2 Hubungan Antara Kedalaman warna dan Resolusi Warna
22 Tabel 3.1 Spesifikasi Use Case Enkripsi
26 Tabel 3.2 Spesifikasi Use Case Dekripsi
28
DAFTAR GAMBAR
27 Gambar 3.5 Squence Diagram Enkripsi Citra Digital
49 Gambar 3.18 Rancangan Form Pembangkit Kunci RSA
48 Gambar 3.17 Rancangan Form Utama
47 Gambar 3.16 Flowchart Proses Dekripsi ElGamal
46 Gambar 3.15 Flowchart Proses Enkripsi ElGamal
45 Gambar 3,14 Flowchart Pembangkit Kunci ElGamal
44 Gambar 3.13 Flowchart Pembangkit Kunci Enkripsi RSA
43 Gambar 3.12 Flowchart Pembangkit Dekripsi RSA
42 Gambar 3.11 Flowchart Pembangkit Kunci RSA
40 Gambar 3.10 Flowchart Pembangkit Kunci Lucas Lehmer
40 Gambar 3.9 Proses Dekripsi Citra
39 Gambar 3.8 Proses Enkripsi Citra
29 Gambar 3.7 Rancangan Pembangkit Kunci Algoritma RSA dan ElGamal
29 Gambar 3.6 Squence Diagram Dekripsi Citra Digital
26 Gambar 3.4 Activity Diagram Dekripsi
Halaman
25 Gambar 3.3 Activity Diagram Enkripsi
24 Gambar 3.2 Use Case Perancang Sistem
22 Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem
21 Gambar 2.11 Warna Hue
21 Gambar 2.10 Warna CMYK
18 Gambar 2.9 Warna RGB
17 Gambar 2.8 Citra Warna 24 Bit
17 Gambar 2.7 Kedalaman Warna 16 Bit High Color
16 Gambar 2.6 Deret Warna 16 Bit
16 Gambar 2.5 Citra Grayscale
14 Gambar 2.4 Citra Biner
8 Gambar 2.3 Koordinat Citra Digital
8 Gambar 2.2 Diagram Proses Enkripsi dan Dekripsi Algoritma Asimetris
Gambar 2.1 Diagram Proses Enkripsi dan Dekripsi Algoritma Simetris50
Gambar 3.19 Rancangan Form Pembangkit Kunci ElGamal61 Gambar 4.11 Konfirmasi Proses Enkripsi RSA
65 Gambar 4.19 Proses Dekripsi Selesai
65 Gambar 4.18 Proses Dekripsi Algoritma RSA
64 Gambar 4.17 Private Key Dekripsi Algoritma RSA dan ElGamal
64 Gambar 4.16 Menu “Dekripsi” Setelah Input Citra
63 Gambar 4.15 Aplikasi Enkripsi Dekripsi Citra Bitmap
63 Gambar 4.14 Proses Enkripsi Selesai
62 Gambar 4.13 Konfirmasi Proses Enkripsi ElGamal
62 Gambar 4.12 Proses Enkripsi Algoritma RSA
61 Gambar 4.10 Proses Generate Key Selesai
51 Gambar 4.1 Citra 24Bit 1024 x 768 Pixel
60 Gambar 4.9 Pasangan Kunci ElGamal
60 Gambar 4.8 Generate ElGamal
59 Gambar 4.7 Enkripsi Dekripsi Awal
59 Gambar 4.6 Pasangan Kunci
58 Gambar 4.5 Generate RSA Key
57 Gambar 4.4 Input Citra
53 Gambar 4.3 Tampilan Form Proses Enkripsi Citra
52 Gambar 4.2 Matriks RGB Citra
66