IMPLEMENTASI ALGORITMA RIVEST-SHAMIR-ADLEMAN UNTUK PENGAMANAN KUNCI ALGORITMA HILL CIPHER PADA CITRA DIGITAL SKRIPSI JOHANES PRIMA SARAGIH 101401049
IMPLEMENTASI ALGORITMA RIVEST-SHAMIR-ADLEMAN UNTUK PENGAMANAN KUNCI ALGORITMA HILL CIPHER PADA CITRA DIGITAL SKRIPSI JOHANES PRIMA SARAGIH
101401049 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN
2015 IMPLEMENTASI ALGORITMA RIVEST-SHAMIR-ADLEMAN UNTUK PENGAMANAN KUNCI ALGORITMA HILL CIPHER PADA CITRA DIGITAL SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
JOHANES PRIMA SARAGIH 101401049
PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
PERSETUJ UAN Judul : IMPLEMENTASI ALGORITMA RIVEST-SHAMIR-
ALGORITMA HILL CIPHER PADA CITRA DIGITAL Kategori : SKRIPSI Nama : JOHANES PRIMA SARAGIH Nomor Induk Mahasiswa : 101401049 Program Studi : SARJANA (S1) ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Drs. Dahlan Sitompul, M. Eng. Drs. Agus Salim Harahap, M.Si.
NIP. 196707252005011002 NIP. 195408281981031004 Diketahui/Disetujui oleh Departemen Ilmu Komputer FASILKOM-TI USU Ketua, Dr. Poltak Sihombing, M.Kom.
NIP. 196203171991021001
PERNYATAAN
IMPLEMENTASI ALGORITMA RIVEST-SHAMIR-ADLEMAN UNTUK PENGAMANAN KUNCI ALGORITMA HILL CIPHER PADA CITRA DIGITAL SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 15 Januari 2015 JOHANES PRIMA SARAGIH 101401049
UCAPAN TERIMA KASIH Puji syukur dan terima kasih penulis ucapkan kepada Tuhan Yesus Kristus yang telah menjaga, merawat dan melimpahkan kasih dan karunia-Nya kepada penulis, sehingga skripsi ini dapat diselesaikan dalam waktu yang telah ditetapkan.
Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih kepada semua pihak yang telah membantu penyelesaian skripsi ini. Penulis mengucapkan terima kasih kepada: 1.
Bapak Prof. Dr. dr. Syahril Pasaribu, D.T.M.&H., M.Sc.(C.T.M.). Sp.A.(K.) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing sebagai Ketua Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara.
4. Ibu Maya Silvi Lydia, B.Sc., M.Sc. sebagai Sekretaris Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara.
5. Bapak Prof. Dr. Muhammad Zarlis selaku Dosen Pembimbing Akademik yang telah memberikan bimbingan dan dukungan kepada penulis.
6. Bapak Drs. Agus Salim Harahap, M.Si. selaku Dosen Pembimbing I yang telah memberikan arahan dan bimbingan kepada penulis.
7. Bapak Drs. Dahlan Sitompul, M. Eng. selaku Dosen Pembimbing II yang telah memberikan arahan dan bimbingan kepada penulis.
8. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M., selaku Dosen Pembanding I yang telah memberikan saran dan kritikan dalam penyempurnaan skripsi ini kepada penulis.
9. Bapak Sajadin Sembiring, S.Si, M.Comp. Sc. selaku Dosen Pembanding II yang telah memberikan saran dan kritikan dalam penyempurnaan skripsi ini kepada penulis.
10. Kedua orangtua penulis Bapak N. M. Saragih, Ibu F. Sinaga, Kakak Chika F.
Saragih, Amd. yang telah memberikan dukungan berupa doa, harapan dan dukungan baik moril maupun materi serta terkhusus kepada Widanatasia Siahaan, S.Pd. yang telah memberikan semangat dan motivasi sehingga skripsi ini dapat terselesaikan.
11. Seluruh tenaga pengajar dan pegawai pada Fakultas Ilmu Komputer dan Teknologi Informasi USU, khususnya Program Studi S-1 Ilmu Komputer.
12. Teman-teman mahasiswa S-1 Ilmu Komputer Rivai H. Purba, Hengky P. F.
Gulo, Lorent O. Barus, S.Kom., Kurniawan W.A.P. Hutagaol, Yansen B. Simatupang, Gunalan Anggirasa, Timothy, S. Kom., Janwandi Ruliansen Sinaga S.Kom, dan semua rekan-rekan kuliah Stambuk 2010 yang telah berbagi kebersamaan selama berada di S-1 Ilmu Komputer.
13. Teman-teman komunitas LOGIC yang telah berbagi kebersamaan selama menyelesaikan skripsi ini.
14. Dan semua pihak yang terlibat langsung atau tidak langsung yang penulis tidak dapat tulisan satu per satu.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan. Oleh karena itu penulis menerima kritik dan masukan 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, 15 Januari 2015 Penulis ABSTRAK Keamanan merupakan suatu kebutuhan penting dalam proses pertukaran data.
Kriptografi adalah suatu cabang ilmu pengetahuan yang bertujuan mempelajari, meningkatkan, dan mengembangkan cara-cara dalam mengamankan suatu data. Suatu algoritma kriptografi dapat ditingkatkan keamanannya dengan cara digabungkan dengan algoritma kriptografi lainnya. Pada penelitian ini, penulis menggunakan Hill
cipher sebagai salah satu algoritma kriptografi simetris yang digunakan untuk
mengamankan citra digital dimana matriks kunci yang telah digunakan untuk proses enkripsi citra digital akan diamankan (dienkripsi) kembali dengan menggunakan algoritma Rivest-Shamir-Adleman (RSA) yang merupakan salah satu algoritma kriptografi asimetris. Rentang elemen-elemen matriks kunci yang digunakan pada algoritma Hill cipher adalah 0 sampai 550 dan panjang kunci n yang digunakan pada algoritma RSA adalah 112-bit. Metode pengecek bilangan prima yang digunakan adalah Lehmann Primality Test. Perubahan panjang rentang elemen matriks kunci yang akan diamankan dengan RSA tidak mempengaruhi lama waktu proses enkripsi dan dekripsi matriks kunci tersebut. Waktu yang digunakan untuk proses dekripsi cipher matrix lebih besar dibandingkan proses enkripsinya karena cipher matrix hasil enkripsi RSA memiliki ukuran yang lebih besar dari matriks kunci aslinya. Citra digital berwarna yang diuji memiliki tingkat keamanan yang lebih tinggi karena alur gambar tidak terlihat sama sekali. Namun dengan mengamankan kembali matriks kunci yang telah digunakan untuk enkripsi citra, maka keamanan citra digital yang digunakan akan semakin meningkat.
Kata kunci : Kriptografi, Hill cipher, RSA, Lehmann, Citra
THE IMPLEMENTATION OF RIVEST-SHAMIR-ADLEMAN ALGORITHM FOR SECURING HILL CIPHER ALGORITHM KEY ON DIGITAL IMAGES ABSTRACT
Security is an essential requirement in data-exchange process. Cryptography is a branch of science which studies, enhances, and developes all techniques to secure data. A crypthography algorithm security level will increase when combined with other algorithms. On this research, the author uses Hill cipher as a symetric algorithm whose the key is used for encrypting digital images, will be secured again (to be encrypted) with Rivest-Shamir-Adleman (RSA) algorithm, which one of the asymetric algorithm. The range of the key matrix elements used on Hill cipher is 0 to 550 and the length of the n-key used on RSA is 112-bit. Lehmann Primality Test is used as primality test method. The differences of key matrix element’s range that will be secured with RSA does not affect the encryption process and decryption process running times of the key matrix. The running time of cipher matrix decryption process is longer than the encryption process because the cipher matrix created by RSA encryption has bigger elements size than the original key matrix. Color digital images tested on this research, has better or high security level because the image patterns couldn’t be seen visually. But the images security level could be enhanced if the key matrix used for image encryption is secured again with RSA.
Key word : Cryptography, Hill cipher, RSA, Lehmann, Images
DAFTAR ISI Hal.
2.4.5 Lehmann Primality Test
2.3.1 Algoritma Rivest-Shamir-Adleman (RSA)
10
2.4 Landasan Matematika Kriptografi
12
2.4.1 Bilangan Prima
12
2.4.2 Pembagi Bilangan Terbesar (PBB)
12
2.4.3 Relatif Prima
14
2.4.4 Aritmatika Modulo
14
16
2.3 Algoritma Kriptografi Asimetris (Kunci Publik)
2.4.6 Invers Modulo
16
2.4.7 Euler Totient
18
2.5 Citra Digital
18
2.5.1 Citra PNG (Portable Network Graphics)
19
2.6 Penelitian yang relevan
20 BAB III ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
21
3.1.1 Analisis Masalah
9
8
PERSETUJUAN ii
2
PERNYATAAN iii
UCAPAN TERIMA KASIH iv
ABSTRAK vi
ABSTRACT vii
DAFTAR ISI viii
DAFTAR TABEL xi
DAFTAR GAMBAR xii
DAFTAR LAMPIRAN xiii
BAB I PENDAHULUAN
1.1 Latar Belakang
1
1.2 Rumusan Masalah
1.3 Batasan Masalah
2.2.1 Algoritma Hill cipher
3
1.4 Tujuan Penelitian
3
1.5 Manfaat Penelitian
3
1.6 Metodologi Penelitian
4
1.7 Sistematika Penulisan
5 BAB II TINJ AUAN PUSTAKA
2.1 Kriptografi
6
2.2 Algoritma Kriptografi Simetris
7
21
3.1.2 Analisis Persyaratan
22
3.1.2.1 Persyaratan Fungsional
22
3.1.2.2 Persyaratan Non-Fungsional
23
3.1.3 Analisis Proses
23
3.2 Perancangan Sistem
24
3.2.1 Perancangan Flowchart
24
3.2.1.1 Flowchart Aplikasi
24
3.2.1.1.1 Flowchart proses pembangkitan matriks kunci Hill cipher
26
3.2.1.1.2 Flowchart proses enkripsi plain image dengan Hill cipher
27
3.2.1.1.3 Flowchart proses pembangkitan kunci RSA
28
3.2.1.1.4 Flowchart proses enkripsi matriks kunci dengan RSA
30
3.2.1.1.5 Flowchart proses dekripsi cipher matrix dengan RSA
31
3.2.1.1.6 Flowchart proses dekripsi cipher image dengan Hill cipher
31
3.2.2 Perancangan Unified Modeling Language (UML)
32
3.2.1.1 Use-case diagram
33
3.2.1.2 Sequence diagram
34
3.2.1.3 Activity diagram
36
3.2.3 Perancangan Interface Aplikasi
37
3.2.3.1 Rancangan interface form halaman utama
37
3.2.3.2 Rancangan interface form bantuan
40
3.2.3.3 Rancangan interface form tentang
41 BAB IV
IMPLEMENTASI DAN PENGUJ IAN SISTEM
4.1 Implementasi
43
4.1.1 Form halaman utama
43
4.1.2 Form bantuan
45
4.1.3 Form tentang
45
4.2 Pengujian
46
4.2.1 Proses enkripsi citra digital dan enkripsi matriks kunci
47
4.2.2 Proses dekripsi cipher matrix dan dekripsi citra terenkripsi
51
4.2.3 Proses pengujian algoritma Hill cipher untuk enkripsi citra digital berwarna
54
4.2.4 Proses pengujian tingkat keamanan dan lama proses dekripsi algoritma Hill cipher pada citra digital
56
4.2.5 Proses pengujian tingkat keamanan citra digital terhadap matriks kunci pada algoritma Hill cipher
59
4.2.6 Proses pengujian proses pembangkitan bilangan prima dengan metode Lehmann
61
4.2.7 Proses pengujian waktu proses enkripsi dan dekripsi matriks kunci algoritma Hill cipher dengan algoritma RSA
63 BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan
66
5.2 Saran
67 DAFTAR PUSTAKA
68 DAFTAR TABEL Hal.
Tabel 4.1 Perbandingan Pengujian Tingkat Keamanan dan Lama Proses Enkripsi pada Citra Digital Berwarna54 Tabel 4.2 Perbandingan Pengujian Tingkat Keamanan dan Lama Proses Dekripsi pada Citra Digital Berwarna
56 Tabel 4.3 Perbandingan Ukuran dan Kualitas Citra Sebelum Enkripsi dan Citra Setelah Dekripsi
58 Tabel 4.4 Perbandingan Tingkat Keamanan Citra Digital Berwarna terhadap Matriks Kunci
60 Tabel 4.5 Perbandingan Panjang Kunci n dan Waktu Proses Pembangkitan Kunci
62 Tabel 4.6 Perbandingan Waktu Proses Enkripsi dan Dekripsi terhadap Matriks Kunci
63 DAFTAR GAMBAR Hal.
Gambar 2.1 Citra Digital dalam Piksel44 Gambar 4.2 Form Bantuan
62 Gambar 4.16 Grafik Perbandingan Waktu Proses Enkripsi dan Dekripsi Matriks Kunci
60 Gambar 4.15 Perbandingan Kunci n dengan Waktu Proses
54 Gambar 4.14 Plain5.png
53 Gambar 4.13 Proses Dekripsi Matriks Kunci
52 Gambar 4.12 Proses Dekripsi Matriks Kunci
52 Gambar 4.11 Proses Penampilan Citra Terenkripsi Hasil Inputan
51 Gambar 4.10 Proses Pemilihan Citra Digital Terenkripsi
50 Gambar 4.9 Proses Enkripsi Matriks Kunci
49 Gambar 4.8 Proses Pembangkitan Kunci Publik dan Kunci Privat
49 Gambar 4.7 Proses Penampilan Citra Hasil Enkripsi
48 Gambar 4.6 Proses Pembangkitan Matriks Kunci
47 Gambar 4.5 Proses Penampilan Citra Digital
46 Gambar 4.4 Proses Pemilihan Citra Digital
45 Gambar 4.3 Form Tentang
41 Gambar 4.1 Form Halaman Utama
19 Gambar 3.1 Flowchart Aplikasi
40 Gambar 3.15 Rancangan Interface Form Tentang
38 Gambar 3.14 Rancangan Interface Form Bantuan
37 Gambar 3.13 Rancangan Interface Form Halaman Utama
36 Gambar 3.12 Activity Diagram Proses Dekripsi
35 Gambar 3.11 Activity Diagram Proses Enkripsi
35 Gambar 3.10 Sequence Diagram Proses Dekripsi
33 Gambar 3.9 Sequence Diagram Proses Enkripsi
32 Gambar 3.8 Use-Case Diagram Sistem
31 Gambar 3.7 Flowchart Proses Dekripsi Cipher Image dengan Hill Cipher
30 Gambar 3.6 Flowchart Proses Dekripsi Cipher Matrix dengan RSA
29 Gambar 3.5 Flowchart Proses Enkripsi Matriks Kunci dengan RSA
27 Gambar 3.4 Flowchart Proses Pembangkitan Kunci RSA
26 Gambar 3.3 Flowchart Enkripsi Plain Image dengan Algoritma Hill Cipher
25 Gambar 3.2 Flowchart Proses Pembangkitan Matriks Kunci Algoritma Hill Cipher
64