BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB II LANDASAN TEORI

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB 2 LANDASAN TEORI

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

BAB II TINJAUAN PUSTAKA

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2: Kriptografi. Landasan Matematika. Fungsi

BAB 2 LANDASAN TEORI

Perhitungan dan Implementasi Algoritma RSA pada PHP

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB 2 LANDASAN TEORI

Algoritma RSA dan ElGamal

BAB II TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB 2 LANDASAN TEORI

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB II LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB III ANALISIS. Pada tahap analisis, dilakukan penguraian terhadap topik penelitian untuk

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

MODUL PERKULIAHAN EDISI 1 MATEMATIKA DISKRIT

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

RSA (Rivest, Shamir, Adleman) Encryption

BAB 3 KRIPTOGRAFI RSA

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB 2 TINJAUAN TEORETIS

BAB 2 LANDASAN TEORI

ANALISIS WAKTU ENKRIPSI-DEKRIPSI FILE TEXT MENGGUNAKAN METODA ONE-TIME PAD (OTP) DAN RIVEST, SHAMIR, ADLEMAN (RSA)

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI Keamanan Informasi

STUDI DAN PERBANDINGAN PERFORMANSI ALGORITMA SIMETRI VIGENERE CHIPPER BINNER DAN HILL CHIPPER BINNER Ivan Nugraha NIM :

Aplikasi Aljabar Lanjar untuk Penyelesaian Persoalan Kriptografi dengan Hill Cipher

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

Studi dan Analisis Mengenai Aplikasi Matriks dalam Kriptografi Hill Cipher

Teori Bilangan (Number Theory)

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

Penerapan Matriks dalam Kriptografi Hill Cipher

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Latar Belakang Masalah Landasan Teori


BAB 2 LANDASAN TEORI Interaksi Manusia dan Komputer. interaktif untuk digunakan oleh manusia. Golden Rules of Interaction Design, yaitu:

ALGORITMA DAN BILANGAN BULAT

Tanda Tangan Digital Majemuk dengan Kunci Publik Tunggal dengan Algoritma RSA dan El Gamal

Perbandingan Algoritma RSA dan Rabin

BAB 1 PENDAHULUAN Latar Belakang

BAB 2 LANDASAN TEORI

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

BAB I PENDAHULUAN 1.1 Latar Belakang

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

METODE ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN ALGORITMA ELGAMAL

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

BAB Kriptografi

IMPLEMENTASI ALGORITMA HILL CIPHER DALAM PENYANDIAN DATA

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

BAB III ANALISIS DAN DESAIN SISTEM

Enkripsi Dan Deskripsi Menggunakan Algoritma RSA

SISTEM KRIPTOGRAFI. Mata kuliah Jaringan Komputer Iskandar Ikbal, S.T., M.Kom

Disusun oleh: Ir. Rinaldi Munir, M.T.

KRIPTOGRAFI HILL CIPHER DENGAN MENGGUNAKAN OPERASI MATRIKS

BAB II BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

Modifikasi Algoritma RSA dengan Chinese Reamainder Theorem dan Hensel Lifting

BAB I PENDAHULUAN. Universitas Sumatera Utara

PENGAMANAN DOKUMEN MENGGUNAKAN METODE RSA (RIVEST SHAMIR ADLEMAN)BERBASIS WEB

Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna

TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER (Rivalri Kristianto Hondro, M.Kom.) NIDN:

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI-DEKRIPSI CITRA DIGITAL BERWARNA

Algoritma Kriptografi Kunci-publik RSA menggunakan Chinese Remainder Theorem

IMPLEMENTASI ALGORITMA KRIPTOGRAFI RIVEST SHAMIR ADLEMAN (RSA) DAN VIGENERE CIPHER PADA GAMBAR BITMAP 8 BIT

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

Hill Cipher & Vigenere Cipher

BAB I PENDAHULUAN. 1.1 Latar Belakang

PERANCANGAN APLIKASI KERAHASIAAN PESAN DENGAN ALGORITMA HILL CIPHER

Penerapan algoritma RSA dan Rabin dalam Digital Signature

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Transkripsi:

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).

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 : E K (M) = C D K (C) = M

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: 2 4 5 9 2 1 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,

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 9 2 1 3 17 7 0 19 19 = 171 57 456 ( mod 26 ) = 15 5 14 = PFO 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). K -1 15 5 14 ( mod 26 ) = 0 19 19 = ATT 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

10 disebut kunci rahasia, tetapi untuk menghindari kerancuan dengan algoritma simetris, istilah tersebut tidak digunakan (Schneier, 1996). Enkripsi menggunakan kunci publik K disimbolkan : E K (M) = C Walaupun kunci publik dan kunci privat berbeda, dekripsi dengan kunci privat yang cocok disimbolkan dengan : D K (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: E K (M) = C D K (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).

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 = m e (mod n), dimana 0 m n dan untuk mendekripsi digunakan rumus : gunakan kunci privat PR = {d, p, q}. m = c d (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).

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.

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.

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

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).

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

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)

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.

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).

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.