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