Implementasi Algoritma Rivest-Shamir-Adleman Untuk Pengamanan Kunci Algoritma Hill Cipher Pada Citra Digital

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
Universitas Sumatera Utara

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
Universitas Sumatera Utara

PERSETUJUAN

ii

Judul

: IMPLEMENTASI ALGORITMA RIVEST-SHAMIR-

ADLEMAN UNTUK PENGAMANAN KUNCI


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. NIP. 196707252005011002

Drs. Agus Salim Harahap, M.Si. NIP. 195408281981031004

Diketahui/Disetujui oleh Departemen Ilmu Komputer FASILKOM-TI USU Ketua,

Dr. Poltak Sihombing, M.Kom. NIP. 196203171991021001

Universitas Sumatera Utara


PERNYATAAN

iii

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

Universitas Sumatera Utara

UCAPAN TERIMA KASIH

iv

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.
Universitas Sumatera Utara

v 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
Universitas Sumatera Utara

ABSTRAK


vi

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

Universitas Sumatera Utara

vii
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
Universitas Sumatera Utara

DAFTAR ISI

viii

PERSETUJUAN PERNYATAAN UCAPAN TERIMA KASIH ABSTRAK ABSTRACT DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR DAFTAR LAMPIRAN


BAB I

PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metodologi Penelitian 1.7 Sistematika Penulisan

BAB II

TINJAUAN PUSTAKA 2.1 Kriptografi 2.2 Algoritma Kriptografi Simetris
2.2.1 Algoritma Hill cipher 2.3 Algoritma Kriptografi Asimetris (Kunci Publik)
2.3.1 Algoritma Rivest-Shamir-Adleman (RSA) 2.4 Landasan Matematika Kriptografi
2.4.1 Bilangan Prima 2.4.2 Pembagi Bilangan Terbesar (PBB) 2.4.3 Relatif Prima 2.4.4 Aritmatika Modulo 2.4.5 Lehmann Primality Test 2.4.6 Invers Modulo 2.4.7 Euler Totient 2.5 Citra Digital 2.5.1 Citra PNG (Portable Network Graphics) 2.6 Penelitian yang relevan

BAB III

ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem
3.1.1 Analisis Masalah

Hal.
ii iii iv vi vii viii xi xii xiii
1 2 3 3 3 4 5
6 7 8 9 10 12 12 12 14 14 16 16 18 18 19 20

21 21

Universitas Sumatera Utara

ix

BAB IV

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

IMPLEMENTASI DAN PENGUJIAN 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

Universitas Sumatera Utara

BAB V

KESIMPULAN DAN SARAN 5.1 Kesimpulan 5.2 Saran

DAFTAR PUSTAKA

x
66 67 68

Universitas Sumatera Utara

DAFTAR TABEL

xi

Hal.

Tabel 4.1 Tabel 4.2 Tabel 4.3 Tabel 4.4 Tabel 4.5 Tabel 4.6

Perbandingan Pengujian Tingkat Keamanan dan Lama Proses Enkripsi

pada Citra Digital Berwarna

54

Perbandingan Pengujian Tingkat Keamanan dan Lama Proses Dekripsi

pada Citra Digital Berwarna

56

Perbandingan Ukuran dan Kualitas Citra Sebelum Enkripsi dan Citra

Setelah Dekripsi

58

Perbandingan Tingkat Keamanan Citra Digital Berwarna terhadap

Matriks Kunci

60

Perbandingan Panjang Kunci n dan Waktu Proses Pembangkitan

Kunci

62

Perbandingan Waktu Proses Enkripsi dan Dekripsi terhadap

Matriks Kunci

63

Universitas Sumatera Utara

DAFTAR GAMBAR

xii

Hal.

Gambar 2.1 Citra Digital dalam Piksel Gambar 3.1 Flowchart Aplikasi Gambar 3.2 Flowchart Proses Pembangkitan Matriks Kunci Algoritma
Hill Cipher Gambar 3.3 Flowchart Enkripsi Plain Image dengan Algoritma Hill Cipher Gambar 3.4 Flowchart Proses Pembangkitan Kunci RSA Gambar 3.5 Flowchart Proses Enkripsi Matriks Kunci dengan RSA Gambar 3.6 Flowchart Proses Dekripsi Cipher Matrix dengan RSA Gambar 3.7 Flowchart Proses Dekripsi Cipher Image dengan Hill Cipher Gambar 3.8 Use-Case Diagram Sistem Gambar 3.9 Sequence Diagram Proses Enkripsi Gambar 3.10 Sequence Diagram Proses Dekripsi Gambar 3.11 Activity Diagram Proses Enkripsi Gambar 3.12 Activity Diagram Proses Dekripsi Gambar 3.13 Rancangan Interface Form Halaman Utama Gambar 3.14 Rancangan Interface Form Bantuan Gambar 3.15 Rancangan Interface Form Tentang Gambar 4.1 Form Halaman Utama Gambar 4.2 Form Bantuan Gambar 4.3 Form Tentang Gambar 4.4 Proses Pemilihan Citra Digital Gambar 4.5 Proses Penampilan Citra Digital Gambar 4.6 Proses Pembangkitan Matriks Kunci Gambar 4.7 Proses Penampilan Citra Hasil Enkripsi Gambar 4.8 Proses Pembangkitan Kunci Publik dan Kunci Privat Gambar 4.9 Proses Enkripsi Matriks Kunci Gambar 4.10 Proses Pemilihan Citra Digital Terenkripsi Gambar 4.11 Proses Penampilan Citra Terenkripsi Hasil Inputan Gambar 4.12 Proses Dekripsi Matriks Kunci Gambar 4.13 Proses Dekripsi Matriks Kunci Gambar 4.14 Plain5.png Gambar 4.15 Perbandingan Kunci n dengan Waktu Proses Gambar 4.16 Grafik Perbandingan Waktu Proses Enkripsi dan Dekripsi
Matriks Kunci

19 25
26 27 29 30 31 32 33 35 35 36 37 38 40 41 44 45 46 47 48 49 49 50 51 52 52 53 54 60 62
64

Universitas Sumatera Utara

DAFTAR LAMPIRAN
LISTING PROGRAM CURRICULUM VITAE

xiii
Hal. A-1 B-1

Universitas Sumatera Utara

ABSTRAK

vi

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

Universitas Sumatera Utara

vii
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
Universitas Sumatera Utara

BAB I
PENDAHULUAN
1.1. Latar Belakang
Melalui pertumbuhan perkembangan aplikasi multimedia yang semakin pesat, keamanan merupakan isu penting dalam komunikasi dan penyimpanan citra digital, dan enkripsi adalah salah satu cara untuk menjamin keamanan. Teknik enkripsi citra digital dapat mengubah citra asli menjadi citra lain yang sulit untuk dimengerti untuk menjaga citra tersebut tetap rahasia antar pengguna, dengan kata lain, adalah suatu hal yang penting bahwa tidak seorang pun yang dapat mengetahui isi dari data tersebut tanpa memiliki kunci untuk proses pendekripsian. Selanjutnya, keamanan khusus dan dapat dipercaya pada penyimpanan dan pengiriman citra digital dibutuhkan dalam banyak aplikasi, seperti TV Kabel, album fotografi pribadi online, sistem pencitraan medis, komunikasi citra militer, dan video conference rahasia, dan lain-lain. Untuk memenuhi kebutuhan tersebut, banyak metode enkripsi citra yang telah di ajukan (Patel & Belani, 2011).
Kriptografi simetris, memiliki kelebihan dalam proses pengenkripsian data yang sederhana dan cepat karena menggunakan satu kunci untuk proses enkripsi dan dekripsi (Encryption, 2014). Hill cipher merupakan salah satu algoritma kriptografi simetris yang memiliki kelebihan yaitu ketahanannya terhadap analisis frekuensi (Rahman et al, 2013). Hill cipher membutuhkan invers dari matriks untuk dekripsi. Pada kenyataannya tidak semua matriks memiliki inverse dan oleh karena itu matriks tersebut tidak memenuhi syarat sebagai kunci matriks pada Hill cipher (Hamamreh & Farajallah, 2009). Dalam manajemen kunci algoritma ini, masalah yang muncul adalah, pertukaran kunci sangat sulit untuk dapat dilakukan karena pertukaran itu sendiri harus benar-benar aman dari gangguan. Manajemen kunci juga menjadi sulit
Universitas Sumatera Utara

2
apabila jumlah pelaku penukaran bertambah, khususnya apabila terdapat lebih dari satu kunci untuk tiap pelaku (Encryption, 2014).
Kriptografi kunci publik (asimetris) merupakan solusi terhadap masalah manajemen kunci kriptografi simetris. Kriptografi kunci publik menyederhanakan manajemen kunci simetris pada titik dimana kunci tersebut tidak hanya dapat digunakan oleh tiap pelaku pertukaran namun juga pada tiap sesi pertukaran antar pelaku (Encryption, 2014). Rivest - Shamir - Addleman (RSA) sebagai salah satu kriptografi kunci publik dimana keamanannya terletak pada kesulitan dalam memfaktorisasi bilangan besar. Kunci publik dan kunci privat adalah fungsi dari pasangan bilangan prima yang besar (100 sampai 200 digit atau lebih besar). Proses pengembalian plainteks dari kunci publik dan cipherteks diperkirakan sama dengan memfaktorkan hasil kali dari dua buah bilangan prima (Schneier, 1996). Pada penelitian ini RSA digunakan untuk mengamankan kembali kunci algoritma Hill cipher yang berupa matriks yang pada sebelumnya digunakan untuk mengenkripsi citra digital.
Berdasarkan uraian di atas, maka penulis bermaksud untuk mempelajari algoritma Hill cipher dan algoritma RSA dengan merancang suatu perangkat lunak sekaligus untuk mengimplementasikan algoritma Hill cipher dalam pengamanan citra digital dan algoritma RSA dalam pengamanan kunci. Oleh sebab itu, penulis mengambil tugas akhir dengan judul “Implementasi Algoritma Rivest-ShamirAdleman untuk Pengamanan Kunci Algoritma Hill cipher pada Citra Digital”.
1. 2. Rumusan Masalah
Bagaimana menerapkan algoritma RSA dalam mengamankan kunci dan algoritma Hill cipher untuk memperkuat keamanan suatu citra digital.
Universitas Sumatera Utara

3
1.3. Batasan Masalah
Batasan masalah yang dapat diambil dari latar belakang di atas adalah : 1. Bahasa pemrograman yang digunakan dalam aplikasi ini adalah bahasa pemrograman Python dan Ms. Visual C#. 2. Tools yang digunakan adalah Wing IDE 101 dan Ms. Visual Studio 2013. 3. Kunci yang digunakan pada algoritma Hill cipher berupa matriks berukuran 3 x 3 dengan rentang elemen 0 - 550. 4. Panjang kunci RSA yang digunakan adalah sebesar 112 - bit. 5. Metode penguji bilangan prima yang digunakan adalah Lehmann Primality Test. 6. Citra digital yang digunakan adalah citra asli dengan format PNG (.png).
1.4. Tujuan Penelitian
Tujuan penelitian ini adalah untuk meningkatkan keamanan suatu citra digital dengan menerapkan algoritma RSA untuk mengamankan kunci dari algoritma Hill cipher dimana Hill cipher sebelumnya digunakan untuk mengenkripsi suatu citra digital.
1.5. Manfaat Penelitian
Manfaat dari penelitian ini antara lain adalah : 1. Penelitian ini diharapkan menghasilkan suatu aplikasi yang mampu meningkatkan keamanan suatu citra digital dengan menggabungkan algoritma simetris Hill cipher dan Rivest-Shamir-Adleman. 2. Menjadi bahan rujukan dan perbandingan terhadap penelitian-penelitian berikutnya yang membahas kombinasi algoritma kriptografi simetris dan asimetris.
Universitas Sumatera Utara

4
1.6. Metodologi Penelitian
Metodologi penelitian yang akan digunakan adalah: 1. Studi Literatur Peninjauan terhadap buku-buku, artikel-artikel, jurnal-jurnal maupun hasil penelitian terdahulu yang berkaitan dengan algoritma kriptografi pada citra digital, algoritma Hill cipher dan RSA, dan metode pembangkit bilangan prima Lehmann Primality Test. 2. Analisis dan Perancangan Dengan adanya rumusan dan batasan masalah, kebutuhan perancangan dianalisis disertai pembuatan flowchart, diagram Unified Modeling Language (UML), dan design interface. 3. Implementasi Implementasi berupa aplikasi yang mampu mengenkripsi citra digital berformat PNG dengan menggunakan algoritma Hill cipher dan kemudian mengamankan kembali kunci algoritma Hill cipher tersebut dengan algoritma RSA sehingga keamanannya lebih tinggi begitu juga dengan proses dekripsinya. 4. Pengujian Metode ini dilaksanakan dengan melakukan pengujian terhadap aplikasi untuk mengenkripsi / mendekripsi citra digital berupa pencarian bug atau kesalahan program. 5. Dokumentasi dan Laporan Akhir Metode ini dilaksanakan dengan membuat dokumentasi dalam bentuk laporan tugas akhir.
Universitas Sumatera Utara

5

1.7. Sistematika Penulisan

Skripsi ini terbagi menjadi beberapa bab yang disusun secara sistematis, yaitu :

BAB I

PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang penilitian judul

skripsi “Implementasi Algoritma Rivest-Shamir-Adleman untuk

Pengamanan Kunci Algoritma Hill cipher pada Citra Digital.”,

rumusan masalah, batasan masalah, tujuan penelitian, manfaat

penelitian, metode penelitian, tinjauan pustaka, dan sistematika

penulisan.

BAB II

LANDASAN TEORI

Bab ini berisi teori – teori yang digunakan sebagai bahan rujukan

dalam penelitian ini. Adapun teori – teori tersebut antara lain : Teori

dasar kriptografi, algoritma kriptografi simetris, algoritma Hill cipher,

algoritma kriptografi asimetris, algoritma Rivest-Shamir-Adleman

(RSA), landasan – landasan matematika untuk kriptografi, dan teori

dasar citra digital.

BAB III ANALISIS DAN PERANCANGAN

Bab ini berisi pembahasan mengenai cara kerja algoritma Hill Cipher

pada citra digital dan pengamanan kuncinya dengan menggunakan

algoritma Rivest-Shamir-Adleman (RSA) yang terdiri dari flowchart,

Unified Modeling Language (UML) serta perancangan antarmuka dari

aplikasi.

BAB IV

IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi implementasi dan pembahasan mengenai cara kerja

sistem sesuai dengan perancangan. Kemudian melakukan pengujian

sistem.

BAB V

KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari keseluruhan uraian dari bab-bab

sebelumnya dan implementasinya serta saran dalam pengembangan

lebih lanjut dari penelitian ini.

Universitas Sumatera Utara

BAB II
TINJAUAN PUSTAKA
2.1. Kriptografi
Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci dekripsi untuk mendapatkan data asli kembali. Proses enkripsi dilakukan menggunakan suatu algoritma dengan beberapa parameter. Biasanya algoritma tidak dirahasiakan, bahkan enkripsi yang mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia terletak di beberapa parameter yang digunakan, jadi kunci ditentukan oleh parameter. Parameter yang menentukan kunci dekripsi itulah yang harus dirahasiakan (parameter menjadi ekuivalen dengan kunci) (Kromodimoeljo, 2010).
Dalam kriptografi klasik, teknik enkripsi yang digunakan adalah enkripsi simetris dimana kunci dekripsi sama dengan kunci enkripsi. Untuk kriptografi kunci publik, diperlukan teknik enkripsi asimetris dimana kunci dekripsi tidak sama dengan kunci enkripsi. Enkripsi, dekripsi dan pembuatan kunci untuk teknik enkripsi asimetris memerlukan komputasi yang lebih intensif dibandingkan enkripsi simetris, karena enkripsi asimetris menggunakan bilangan - bilangan yang sangat besar. Namun, walaupun enkripsi asimetris lebih “mahal" dibandingkan enkripsi simetris, kriptografi kunci publik sangat berguna untuk key management dan digital signature (Kromodimoeljo, 2010).
Universitas Sumatera Utara

7
Menurut Schneier (1996), dalam pemenuhan kerahasiaan, kriptografi sering digunakan untuk :
1. Authentication. Memungkinkan penerima pesan menegaskan keaslian dari data tersebut; penyusup tidak dapat menyamar sebagai orang lain.
2. Integrity. Memungkinkan penerima pesan memeriksa bahwa data tersebut tidak dimodifikasi selama pengiriman; penyusup tidak dapat mengganti pesan yang salah dengan yang asli.
3. Non-repudiation. Pengirim tidak dapat menyangkal telah melakukan pengiriman.
2.2. Algoritma Kriptografi Simetris
Algoritma simetris, biasanya disebut juga sebagai algoritma konvensional, merupakan algoritma dimana kunci enkripsi dapat dihitung dari kunci dekripsi dan sebaliknya. Pada kebanyakan algoritma simetris, kunci enkripsi dan dekripsi nya adalah sama. Algoritma ini, disebut juga algoritma kunci-privat (secret-key), algoritma kunci-tunggal (single-key), algoritma satu kunci (one-key), dimana pengirim dan penerima sepakat dengan sebuah kunci sebelum berkomunikasi dengan aman. Keamanan algoritma simetris terletak pada kunci; mengumumkan kunci berarti siapa saja dapat mengenkripsi dan mendekripsi pesan. Sepanjang komunikasi yang diharapkan agar aman, maka kunci harus dijaga tetap aman (Schneier, 1996).
Menurut Schneier (1996), enkripsi dan dekripsi dengan menggunakan algoritma simetris disimbolkan dengan :
EK (M) = C DK (C) = M
Universitas Sumatera Utara

8
2.2.1. Algoritma Hill cipher
Hill cipher pertama kali dibuat pada tahun 1929 oleh penemunya, seorang matematikawan Lester S. Hill, dalam jurnal The American Mathematical Monthly. Hill cipher merupakan cipher polygraphic pertama. Cipher polygraphic adalah cipher dimana plainteks dibagi menjadi grup-grup karakter yang berdekatan dengan panjang tetap n, dan kemudian tiap grup diubah ke grup lain dengan n karakter. Fitur polygraphic menambah kecepatan dan kemampuan transfer Hill cipher. Di samping itu, keuntungan lainnya adalah pada enkripsi data misalnya kemampuan pertahanannya terhadap analisis frekuensi. Inti dari Hill cipher adalah manipulasi matriks . Rumus aljabar linier nya adalah
C = K x P (mod m)
dimana C adalah adalah blok cipherteks, P adalah blok plainteks dan K adalah kunci. Kunci K berbentuk matriks. Jadi, untuk dekripsi, kunci matriks invers. K-1 dibutuhkan (Rahman et al, 2013).
Contoh :
Contoh di bawah ini akan menggunakan beberapa aljabar linier dan beberapa teori bilangan. Kunci untuk Hill cipher adalah sebuah matriks, misalnya:
245 921 3 17 7
Pada kasus di atas, telah ditentukan bahwa ukuran matriks tersebut adalah 3 x 3, namun ukurannya dapat diubah-ubah (matriks harus tetap berbentuk matriks persegi). Contoh pesan yang ingin akan dienkripsi adalah “ATTACK AT DAWN”. Untuk enkripsi,
Universitas Sumatera Utara

9

pesan ini perlu dibagi menjadi potongan 3 huruf. Sekarang diambil 3 huruf pertama dari plainteks, “ATT” dan buat suatu vector yang berhubungan dengan huruf tersebut (ganti A dengan 0, B dengan 1 … Z dengan 25 dsb) untuk mendapatkan: [0 19 19] (sama dengan [‘A’,’T’,’T’]).

Untuk mendapatkan cipherteks, dilakukan perkalian matriks :

2 4 5 0 171

15

9 2 1 19 = 57 ( mod 26 ) = 5 = ‘PFO’

3 17 7 19 456

14

Proses ini dilakukan untuk semua 3 huruf blok dari plainteks. Plainteks dapat ditambah dengan beberapa huruf untuk memastikan setiap blok genap memiliki 3 huruf.

Untuk dekripsi, dibutuhkan invers matriks modulo 26 yang akan digunakan
sebagai kunci dekripsi, dimana ‘PFO’ akan dikembalikan ke ‘ATT’. Jika matriks 3 x 3 disebut K, maka kunci dekripsinya adalah matriks 3 x 3 , K-1, yang adalah inverse matriks
K (Hill Cipher, 2014). 15 0
K-1 5 ( mod 26 ) = 19 = ‘ATT’ 14 19

2.3. Algoritma Kriptografi Asimetris (Kunci Publik)

Algoritma kunci publik (disebut juga algoritma asimetris) dirancang sehingga kunci yang digunakan untuk enkripsi berbeda dari kunci yang digunakan untuk dekripsi. Selanjutnya, kunci dekripsi tidak dapat dihitung dengan kunci enkripsi (setidaknya dengan waktu yang cukup lama). Algoritma ini disebut kunci publik karena kunci enkripsi dapat diberitahukan ke publik : Orang asing yang menggunakan kunci enkripsi untuk menengkripsi pesan, namun hanya orang-orang tertentu saja dengan kunci dekripsi yang cocok dapat mendekripsi pesan. Dalam sistem ini, kunci enkripsi sering disebut sebagai kunci publik, dan kunci dekripsi sering disebut kunci privat. Kunci privat terkadang

Universitas Sumatera Utara

10
disebut kunci rahasia, tetapi untuk menghindari kerancuan dengan algoritma simetris, istilah tersebut tidak digunakan (Schneier, 1996).
Enkripsi menggunakan kunci publik K disimbolkan : EK (M) = C
Walaupun kunci publik dan kunci privat berbeda, dekripsi dengan kunci privat yang cocok disimbolkan dengan :
DK (C) = M
Menurut Schneier (1996), terkadang, pesan akan dienkripsi dengan kunci privat dan didekripsi dengan kunci publik; ini digunakan pada tanda tangan digital. Walaupun kerancuan mungkin terjadi, operasi ini disimbolkan dengan:
EK (M) = C DK (C) = M
Keterangan : E = Fungsi enkripsi D = Fungsi dekripsi C = Cipherteks M = Pesan (Message) atau plainteks
2.3.1. Algoritma Rivest-Shamir-Adleman (RSA)
RSA diciptakan oleh Ron Rivest, Adi Shamir, dan Leonard Adleman, sesuai dengan nama penemunya, pada tahun 1970-an. Rancangan ini bergantung pada kerumitan dalam memfaktorisasi bilangan bulat (integer) yang berbeda dari penyelesaian algoritma diskrit (Schneir, 1996).
Universitas Sumatera Utara

11
Pembangkitan kunci algoritma RSA antara lain : 1. Pilih dua bilangan prima acak ukuran besar, p dan q. 2. Hitung modulus sistem n = p * q 3. Pilih kunci enkripsi e secara acak Dimana 1 < e < ϕ(n), gcd (e, ϕ(n)) = 1(dimana ϕ(n) = (p – 1)(q – 1)) 4. Selesaikan rumus berikut untuk menentukan kunci dekripsi d e * d = 1 (mod ϕ(n)) and 0 ≤ d ≤ n 5. Kemudian tiap pengguna memberikan kunci enkripsi publik : PU = {e, n} dan menyimpan kunci dekripsi : PR = {d, p, q}.
Jika m adalah pesan yang akan dikirim, maka rumus enkripsinya adalah : • gunakan kunci publik PU = {e, n} • c = me (mod n), dimana 0 ≤ m ˂ n
dan untuk mendekripsi digunakan rumus : • gunakan kunci privat PR = {d, p, q}. • m = cd (mod n).
Contoh :
Ruth membuat sistem kunci publiknya dengan pertama-tama memilih dua bilangan prima, p = 17 dan q = 11. Nilai n = 187 dan ϕ(n) = 16 * 10 = 160. Dia membutuhkan sebuah e dimana gcd(e, 160) = 1 dan memilih e = 7.
Sekarang dia harus menemukan d, invers e modulo ϕ(n). Dia menyadari bahwa 23 * 7 = 161 = 10 * 16 + 1 ( atau menggunakan algoritma Euclidean), dan maka d = 23. Kemudian dia mempublis {7, 187} dan menyimpan {23, 11, 17} (Batten, 2013).
Universitas Sumatera Utara

12
2.4. Landasan Matematika Kriptografi
2.4.1. Bilangan Prima
Bilangan prima adalah bilangan bulat positif yang lebih besar dari 1 yang hanya habis dibagi oleh 1 dan dirinya sendiri. Sebagai contoh, 23 adalah bilangan prima karena ia hanya habis dibagi oleh 1 dan 23. Karena bilangan prima harus lebih besar dari 1, maka barisan bilangan dimulai dari 2, yaitu 2, 3, 5, 7, 11, 13, dst. Seluruh bilangan prima adalah bilangan ganjil, kecuali 2 yang merupakan bilangan genap (Munir, 2007).
2.4.2. Pembagi Bilangan Terbesar (PBB)
Dua buah bilangan bulat dapat memiliki faktor pembagi yang sama. Misalkan a dan b adalah dua buah bilangan bulat tidak nol. Pembagi bersama terbesar (PBB) dari a dan b adalah bilangan bulat terbesar d sedemikian sehingga d|a dan d|b. Dalam hal ini kita nyatakan bahwa PBB (a,b) = d . Misalnya 45 memiliki faktor pembagi 1, 3, 5, 9, 15, dan 45 sendiri; sedangkan 36 memiliki faktor pembagi 1, 2, 3, 4, 9, 12, 18, dan 36 sendiri. Faktor pembagi bersama dari 45 dan 36 adalah 1, 3, 9, yang terbesar adalah 9 sehingga disimpulkan PBB(45, 36) = 9 (Munir, 2007). Dalam menentukan PBB perlu digunakan suatu algoritma yang lebih baik yaitu dengan algoritma Euclidean.
Menurut Munir (2007), langkah-langkah dalam algoritma Euclidean adalah sebagai berikut :
1. Jika n = 0 maka 2. m adalah PBB(m, n); 3. stop. 4. Bagilah m dengan n dan misalkan r adalah sisanya . 5. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke
langkah 1. 6. Jika m ≤ n, maka pertukaran terlebih dahulu nilai m dan n.
Universitas Sumatera Utara

13

Contoh:

PBB dari 80 dan 12 dicari dengan algoritma Euclidean sebagai berikut: m = 80, n = 12 dan dipenuhi syarat m ≥ n

Karena m = 12 ≠ 0, maka langkah instruksi 2 dikerjakan : 80 dibagi 12 memberikan hasil 6 dan sisa r = 8,
80 = 6 . 12 + 8

Kerjakan langkah instruksi 3:

m = 12, n = 8

Kembali ke langkah instruksi 1, karena n = 8 ≠ 0, maka langkah instruksi 2 dikerjakan: 12 dibagi 8 memberikan hasil 1 dan sisa r = 4,
12 = 1 . 8 + 4

Kerjakan langkah instruksi 3:

m = 8, n = 4

Kembali ke langkah instruksi 1, karena b = 4 ≠ 0, maka langkah instruksi 2 dikerjakan : 8 dibagi 4 memberikan hasil 2 dan sisa r = 0,
8=2.4+0

Kerjakan langkah instruksi 3:

m = 4, n = 0

Kembali ke langkah instruksi 1, karena b = 0, maka PBB dari 80 dan 12 adalah nilai m terakhir, yaitu 4. Jadi PBB(80, 12) = 4.

Universitas Sumatera Utara

14
Secara ringkas proses perhitungan dengan algoritma Euclidean di atas dinyatakn dalam runtunan pembagian berikut ini:
80 = 6 . 12 + 8 12 = 1 . 8 + 4 8=2.4+0
Sisa pembagian terakhir sebelum 0 adalah 4, maka PBB(80, 12) = 4 (Munir, 2007).
2.4.3. Relatif Prima
Dua buah bilangan bulat a dan b dikatakan relatif prima (relatively prime) jika PBB(a, b) = 1. Sebagai contoh : 20 dan 3 relatif prima sebab PBB (20, 3) = 1. Tetapi 20 dan 5 tidak relatif prima sebab PBB(20, 5) = 5 ≠ 1 (Munir, 2007). Jika a dan b relatif prima, maka kita dapat menemukan bilangan bulat m dan n sedemikian sehingga
ma + nb = 1
Contoh :
Bilangan 20 dan 3 adalah relatif prima karena PBB(20, 3) = 1, atau dapat ditulis 2 . 20 + (-13) . 3 = 1
Dengan m = 2 dan n = -13. Tetapi 20 dan 5 tidak relatif prima karena PBB(20, 5) = 5 ≠ 1 sehingga 20 dan 5 tidak dapat dinyatakan dalam m . 20 + n . 5 = 1 (Munir, 2007).
2.4.4. Aritmatika Modulo
Aritmatika modulo (modular arithmetic) memainkan peranan yang penting dalam komputasi integer, khususnya pada aplikasi kriptografi. Operator yang digunakan pada aritmatika modulo adalah mod. Operator mod memberikan sisa pembagian. Misalnya 23
Universitas Sumatera Utara

15

dibagi 5 memberikan hasil = 4 dan sisa = 3, sehingga kita tulis 23 mod 5 = 3 (Munir, 2007).

Notasi : a mod m = r sedemikian sehingga a = mq + r , dengan 0 ≤ r ˂ m.

Bilangan m disebut modulus atau modulo, dan hasil aritmatika modulo m terletak di dalam himpunan {0, 1, 2, ..., m - 1 }.

Contoh:

Beberapa hasil operasi dengan operator modulo:

• 23 mod 5 = 3 (karena 23 dibagi 5 memberikan hasil (q) = 4 dan sisa (r) = 3, atau

ditulis sebagai 23 = 5 . 4 + 3)

• 27 mod 3 = 0

( 27 = 3 . 9 + 0)

• 6 mod 8 = 6

(6 = 8 . 0 + 6)

• 0 mod 12 = 12

(0 = 12 . 0 + 12)

• - 41 mod 9 = 4

( - 41 = 9 (- 5) + 4)

• - 39 mod 13 = 0

(- 39 = 13 (- 3) + 0)

Penjelasan untuk (v): karena a negatif, bagi |a| dengan m mendapatkan sisa r’. Maka a mod m = m – r’ bila r’ ≠0. Jadi |- 41| mod 9 = 5, sehingga – 41 mod 9 = 9 – 5 = 4.

Jika a mod m = 0, maka dikatakan bahwa a adalah kelipatan dari m, yaitu a habis dibagi dengan m. Misalnya pada 27 mod 3 = 0, berarti 27 adalah kelipatan 3 (Munir, 2007).

Universitas Sumatera Utara

16
2.4.5. Lehmann Primality Test
Menurut Schneier (1996), berikut merupakan pengujian apakah p adalah prima: 1. Pilih sebuah bilangan acak a kurang dari p. 2. Hitung a(p-1)/2 mod p. 3. Jika a(p-1)/2 ≠ 1 atau -1 (mod p), maka p bukan bilangan prima. 4. Jika a(p-1)/2 = 1 atau -1 (mod p), maka kemungkinan p bukan prima lebih dari 50%.
Demikian sehingga, kemungkinan acak a sebagai witness pada bilangan p sebagai bilangan tidak prima. Ulangi pengujian t kali. Jika perhitungan menghasilkan 1 atau -1, tetapi tidak selalu menghasilkan 1, maka tingkat kesalahan kemungkinan p sebagai prima dengan (1/2)t. Contoh :
Misal sebuah bilangan bulat positif p yang akan di uji adalah 37. Kemudian dipilih a adalah 7. Hitung a(p-1)/2 mod p, dimana hasilnya adalah 1. Maka, p = 37 dianggap sebagai bilangan prima dengan kemungkinan kesalahan 50%.
2.4.6. Invers Modulo
Apabila suatu bilangan dikalikan dengan inversnya hasilnya adalah 1. Dari aritmatika dasar diketahui bahwa:
• Invers dari bilangan A adalah I / A dimana A * I / A = 1 Contoh: invers dari 5 adalah 1/5
• Semua bilangan riil lebih besar dari 0 memiliki invers • Pengalian sebuah bilangan dengan invers dari A sama dengan pembagian dengan
A Contoh: 10/5 sama dengan 10 * 1/5
Universitas Sumatera Utara

17
Dalam aritmatika modulo tidak terdapat operasi pembagian. Tetapi terdapat invers modulo.
• Invers modulo dari A (mod C) adalah A-1 • (A * A-1) ≡ 1 (mod C) atau ekivalen dengan (A * A-1) mod C = 1 • Hanya bilangan yang relatif prima terhadap C (bilangan yang tidak memiliki
faktor prima yang sama dengan C) memiliki invers modulo (mod C)
Metode biasa yang digunakan untuk menemukan invers modulo A (mod C) adalah: Langkah 1. Hitung A * B mod C untuk B nilainya 0 sampai (C – 1) Langkah 2. Invers modulo dari A mod C adalah B dimana nilainya didapat dari A * B mod C=1
Perlu diketahui bahwa B mod C hanya akan mendapatkan nilai integer 0 sampai C – 1, jadi pengujian dengan nilai B yang lebih besar hanya akan membuat perulangan.
Contoh:
A=3,C=7
Langkah 1. Hitung A * B mod C untuk B nilainya 0 sampai C - 1 3 * 0 ≡ 0 (mod 7) 3 * 1 ≡ 3 (mod 7) 3 * 2 ≡ 6 (mod 7) 3 * 3 ≡ 9 ≡ 2 (mod 7) 3 * 4 ≡ 12 ≡ 5 (mod 7) 3 * 5 ≡ 15 (mod 7) ≡ 1 (mod 7) invers ditemukan. 3 * 6 ≡ 18 (mod 7) ≡ 4 (mod 7)
Universitas Sumatera Utara

18
Langkah 2. Invers modulo dari A mod C adalah B dengan nilai yang membuat A * B mod C = 1. 5 adalah invers modulo dari 3 mod 7 karena 5 * 3 mod 7 = 1 (Modular Inverse, 2014).
2.4.7. Euler Totient
Jika n ≥ 1 adalah integer. Maka dapat didefinisikan Fungis Euler Phi ϕ dengan ϕ (n) = jumlah bilangan bulat (integer) positif yang kurang dari n dan relatif prima dengan n.
Contoh :
ϕ (1) = 1, ϕ (2) = 1, ϕ (3) = 2, ϕ (4) = 2, ϕ (5) = 4, ϕ (6) = 2, ϕ (15) = 8
ϕ (15) = 8, artinya terdapat 8 bilangan bulat positif yang kurang dari 15 dan relatif prima dengan 15 yaitu 1, 2, 4, 7, 8, 11, 13, 14 (Sizemore, 2012).
Relatif prima atau koprima adalah himpunan bilangan dimana Faktor Pembagi Terbesar (GCD) adalah 1 (Turner, 2008).
2.5. Citra Digital
Citra digital adalah hasil potret elektronik yang diambil dari suatu pemandangan atau di scan dari dokumen, seperti fotografi, manuskrip, cetak teks, dan karya seni. Citra digital dicontohkan dan dipetakan sebagai suatu gabungan titik-titik atau elemen gambar (piksel). Tiap piksel terdiri dari nilai warna (hitam, putih, derajat keabuan atau warna), yang direpresentasikan dalam kode biner (0 atau 1). Binari digit (“bit”) untuk tiap piksel disimpan dalam suatu rangkaian oleh komputer dan sering diperkecil ke dalam representasi matematis (dikompresi). Kemudian bit-bit tersebut diinterpretasi dan dibaca oleh komputer untuk menghasilkan versi analog untuk ditampilkan atau dicetak.
Universitas Sumatera Utara

19
Gambar 2.1. Citra digital dalam piksel (Cornell University Library, 2003). Nilai piksel : seperti ditunjukkan pada citra bitonal diatas, tipa piksel terdiri dari nilai tonal, contohnya 0 untuk hitam dan 1 untuk putih.
Format file pada citra digital terdiri dari bit – bit yang terdapat pada citra tersebut dan informasi header tentang bagaimana membaca dan meninterpretasi file tersebut. Format file dibedakan berdasarkan resolusi, kedalaman bit, warna yang dapat diproses, dan mendukung kompresi dan meta data (Cornell University Library, 2003). 2.5.1. Citra PNG (Portable Network Graphics) Format PNG (dilafalkan “PING”) dirancang untuk menggantikan format lama GIF, dan mengembangkan format TIFF. Format ini menggunakan kompresi lossless, yang berarti tidak ada citra yang hilang saat penyimpanan atau penampilan gambar. Format PNG tidak memiliki hak paten dan dibaca dan ditulis secara bebas oleh pengembang software dan webmaster. PNG tidak hanya dapat disimpan sebagai 8 bit, tetapi juga 24 bit dan mencapai 64 bit. PNG memiliki level dukungan transparansi yang lebih tinggi. Kelebihan lain dari PNG dibandingkan GIF secara jelas adalah ukuran PNG yang 20% lebih kecil dari citra GIF (Bither, 2000).
Universitas Sumatera Utara

20
2.6. Penelitian yang relevan
Adapun penelitian-penelitian yang relevan terhadap penelitian ini adalah : 1. Pada penelitian yang telah dilakukan oleh Bibhudendra Acharya dkk (2010) dengan judul “Image Encryption Using Advanced Hill cipher Algorithm” menyimpulkan bahwa matriks yang digunakan sebagai kunci pada Hill cipher harus memiliki invers, jika tidak maka tidak dapat digunakan untuk mengenkripsi atau mendeskripsi teks atau gambar. Dalam jurnal ini matriks involuntary invertible di gunakan karena matriks dan inversnya memiliki bentuk yang sama sehingga waktu yang dibutuhkan untuk proses enkripsi dan dekripsi akan semakin cepat. Dalam penerapannya pada citra digital, matriks involuntary invertible mampu mengenkripsi seluruh citra sedangkan matriks biasa tidak dapat mengenkripsi wilayah citra yang memiliki warna yang sama atau abu-abu. 2. Pada penelitian yang dilakukan oleh Arya Widyanarko (2007), dengan judul “Studi dan Analisis mengenai Hill cipher, Teknik Kriptanalisis dan Upaya Penanggulangannya” menyimpulkan bahwa matriks kunci Hill cipher harus merupakan matriks yang invertible. Hill cipher kuat dalam menghadapi ciphertext-only attack namun lemah terhadap known-plaintext attack. Dalam jurnal ini penulis menggunakan Chaining Hill cipher yang dapat mempersulit pemecahan dengan teknik known-plaintext attack. 3. Pada penelitian yang dilakukan oleh Hersatoto Listiyono (2009), dengan judul “Implementasi Algoritma Kunci Publik pada Algoritma RSA” menyimpulkan bahwa pemilihan p dan q untuk mendapatkan p * q = M haruslah sebuah bilangan yang sangat besar sehingga sulit untuk melakukan pemfaktoran bilangan. Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci private. Selama pemfaktoran bilangan besar menjadi faktor-faktor prima belum ditemukan algoritma yang mangkus, maka selama itu pula keamanan algoritma RSA tetap terjamin.
Universitas Sumatera Utara

BAB III
ANALISIS DAN PERANCANGAN
3.1. Analisis Sistem
Dalam tahap perancangan diperlukan analisis sistem yang akan dibangun. Analisis sistem mendeskripsikan fase-fase awal pengembangan sistem. Fase awal dalam analisis sistem ini adalah fase analisis masalah yang bertujuan untuk mempelajari dan memahami masalah yang akan diselesaikan dengan menggunakan sistem ini. Kemudian dilanjutkan dengan fase analisis persyaratan yang akan memenuhi kebutuhan dan permintaan pengguna (user). Analisis selanjutnya dan merupakan analisis terakhir adalah analisis proses yang berisi cara kerja dari sistem yang akan dibuat.
3.1.1. Analisis Masalah
Pendistribusian data antar pengguna membutuhkan jaminan keamanan dimana data yang dikirim tidak dapat dicuri, dihapus, diubah isinya, ataupun dirusak sehingga dibutuhkan suatu teknik untuk mengamankannya. Kriptografi adalah salah satu teknik untuk mengamankan data dengan cara mengubah bentuk data menjadi bentuk yang tidak dapat dikenali sehingga pihak asing hanya dapat mengetahui isi data tersebut dengan memecahkan kunci algoritma kriptografi.
Hill cipher merupakan salah satu algoritma simetris yang dapat digunakan untuk mengamankan data. Algoritma ini biasanya digunakan untuk mengamankan file teks. Algoritma Hill cipher menggunakan matriks sebagai kunci enkripsi nya dan invers dari matriks tersebut sebagai kunci untuk proses dekripsi.
Universitas Sumatera Utara

22
Kunci Hill cipher yang merupakan matriks berukuran 3x3 diamankan kembali dengan menggunakan algoritma Rivest-Shamir-Adleman (RSA). Masukan algoritma RSA adalah berupa 2 bilangan prima acak berbeda. Dengan algoritma RSA kunci matriks algoritma Hill cipher dienkripsi sehingga matriks kunci menjadi acak dan berbeda dengan bentuk aslinya.
Citra digital terdiri dari piksel-piksel yang direpresentasikan dengan kombinasi warna merah (R), hijau (G), dan biru (B). Algoritma Hill cipher digunakan untuk mengenkripsi citra digital sehingga citra yang dihasilkan akan berbeda dengan aslinya. Untuk mengembalikan citra ke bentuk asli, maka dibutuhkan nilai d dari algoritma RSA dan matriks cipher hasil enkripsi dari algoritma RSA.
3.1.2. Analisis Persyaratan
Analisis persyaratan terdiri dari persyaratan fungsional dan non-fungsional. Persyaratan fungsional berisi persyaratan pokok dari suatu sistem dimana persyaratan tersebut wajib ada atau disediakan dalam sistem tersebut. Sedangkan persyaratan nonfungsional berupa persyaratan tambahan yang dapat menunjang kinerja dari persyaratan fungsional.
3.1.2.1. Persyaratan Fungsional
Adapun persyaratan fungsional dari sistem ini adalah sebagai berikut: 1. Citra digital yang akan dienkripsi adalah citra digital dengan format PNG. 2. Elemen matriks kunci yang akan dibangkitkan sebagai kunci pada algoritma Hill cipher adalah bilangan bulat positif yaitu 0 sampai 550. 3. Citra digital yang dienkripsi disimpan dalam format PNG. 4. Bilangan prima yang akan dibangkitkan untuk pembuatan kunci algoritma RSA berada pada rentang 10 sampai 108.
Universitas Sumatera Utara

23
3.1.2.2. Persyaratan Non-fungsional
Adapun persyaratan non-fungsional pada sistem ini adalah sebagai berikut : 1. Performa Perangkat lunak yang dibangun harus dapat menunjukkan hasil dari proses enkripsi dan dekripsi citra digital maupun kunci yang dilakukan oleh sistem. 2. Mudah dipelajari dan digunakan Perangkat lunak harus mudah digunakan dan dipelajari. 3. Hemat biaya Perangkat lunak yang dibangun tidak memerlukan peralatan tambahan ataupun perangkat pendukung dalam proses eksekusinya. 4. Dokumentasi Perangkat lunak yang akan dibangun mampu menyimpan citra digital yang dienkripsi dan kunci yang dienkripsi. 5. Manajemen kualitas Perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu proses enkripsi dan dekripsi citra digital dan kunci relatif cepat. 6. Kontrol Perangkat lunak harus mampu memanajemen proses error yang terjadi pada saat penggunaan.
3.1.3. Analisis Proses
Dalam sistem ini digunakan dua algoritma untuk mengamankan citra digital yaitu algoritma Hill cipher dan algoritma Rivest-Shamir-Adleman (RSA). Algoritma Hill cipher digunakan untuk mengenkripsikan dan mendeskripsikan citra digital (plainimage) dan algoritma RSA digunakan untuk mengamankan kunci yang akan digunakan pada algoritma Hill cipher. Proses pertama yang akan dikerjakan sistem adalah proses enkripsi plain image dengan menggunakan algoritma Hill cipher, kemudian kunci yang telah digunakan untuk mengenkripsi plain image diamankan dengan menggunakan algoritma RSA. Proses enkripsi hanya dapat dilaksanakan jika nilai tiap pixel warna pada citra digital telah disimpan. Citra digital yang terenkripsi (cipher image) dan matriks kunci (cipher matrix) disimpan dalam media penyimpanan
Universitas Sumatera Utara

24
data pada komputer kemudian akan dikirimkan kepada penerima pesan. Jika penerima pesan ingin menggunakan dan mengetahui pesan citra yang dikirim maka penerima harus mendeskripsikan cipher matrix tersebut.
3.2. Perancangan Sistem
Dalam perancangan sistem ini yang pertama dilakukan adalah pembuatan flowchart sistem, kemudian dilanjutkan dengan pembuatan diagram Unified Modeling Language (UML) dari sistem.
3.2.1. Perancangan Flowchart
Pada bagian ini akan dijelaskan langkah-langkah pembuatan sistem dalam flowchart sistem kemudian akan dijelaskan dalam bagian-bagian flowchart algoritma.
3.2.1.1. Flowchart Apli