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 Berwarna

  54 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 Piksel

  44 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