Algoritma yang memakai kunci publik di antaranya, Diffie-Hellman DH, RSA dan NTRUEncrypt. Enkripsi menggunakan algoritma asimetri dapat dituliskan
menjadi: E
K
M = C Meskipun kunci publik dan kunci rahasia berbeda, dekripsi dengan menggunakan
kunci rahasia Scheiner, 1996, yaitu D
K
C = M Gambar 2.2 merupakan gambaran mengenai proses enkripsi dan dekripsi
menggunakan algoritma asimetri.
Gambar 2.2 Skema Kriptografi Asimetri
2.2. Landasan Matematika Kriptografi
Matematika merupakan bagian penting dalam konsep kriptografi, sehingga memerlukan pemahaman beberapa ilmu matematika yang sering digunakan dalam
kriptografi. Kriptografi dengan kunci publik berbasis pada persoalan dari teori bilangan yang merupakan bagian dari matematika.
2.2.1. Bilangan Prima
Sebuah bilangan integer a1 disebut bilangan prima jika dan hanya jika bilangan tersebut habis dibagi satu dan bilangan itu sendiri. Jumlah bilangan prima telah
dibuktikan Euclid 300SM adalah tak terhingga, namun semakin besar bilangan integer semakin jarang bilangan prima. Sebagai contoh, 7 adalah bilangan prima
karena hanya habis dibagi oleh 1 dan 7 Sadikin, 2012.
Plaintext Plaintext
Enkripsi Dekripsi
Kunci Publik
Ciphertext Kunci Privat
2.2.2 Faktor Persekutuan Terbesar FPB
Dua buah bilangan bulat dapat memiliki faktor pembagi yang sama. Faktor pembagi bersama yang terpenting adalah faktor persekutuan terbesar greatest common divisor-
gcd atau FPB Munir, 2007. Dua buah bilangan a dan b merupakan bilangan bulat
tidak nol. FPB dari a dan b adalah bilangan bulat terbesar adalah c sehingga c|a dan c|b, maka FPB a dan b dapat dinyatakan FPBa,b=c. Misalkan 36 mempunyai
pembagi {1, 2, 3, 4, 6, 9, 12, 18} dan 24 mempunyai pembagi {1, 2, 3, 4, 6, 8, 12}. Faktor pembagi 36 dan 24 {1, 2, 3, 4, 6, 12} yang terbesar adalah 12, sehingga
FPB36, 24 = 12.
Untuk menemukan FPB dari dua buah bilangan maka digunakan satu algoritma, yaitu algoritma Euclidean. Algoritma Euclidean ditemukan oleh Euclid,
seorang matematikawan Yunani yang menuliskan algoritmanya tersebut dalam bukunya yang terkenal, Element. Euclid membuat algoritma yang dapat menemukan
gcd dua buah bilangan integer a dan b dengan secara rekursif. Terdapat dua kasus, pertama kasus dasar, yaitu ketika b = 0
gcda,0 = a dan kasus umum ketika b
≠ 0 gcda,b = gcdb,a mod b
Kasus dasar menyatakan bila b = 0 maka didefenisikan nilai gcd adalah a. sedangkan kasus umum menyatakan untuk mencari a,b dapat direduksi menjadi
gcdb, a mod b. jadi kasus umum dapat dikenakan berkali-kali sampai akhirnya akan bertemu dengan kasus dasar untuk menemukan gcda,b Sadikin, 2012.
Contoh : Carilah FPB dari 88 dan 36 menggunakan algoritma Euclidean
Jawab: Aplikasi kasus umum
gcd96,42 = gcd42,96 mod 42 = gcd42,12 gcd42,12 = gcd12,42 mod 12 = gcd12,6
gcd12,6 = gcd6,12 mod 6 = gcd6,0 dan aplikasi kasus dasar adalah
gcd6,0 = 6 Penjelasan gcd 6,0 = 6
6 mempunyai pembagi {0,1,2,3,6}, sedangkan 0 mempunyai pembagi untuk semua bilangan integer, faktor pembagi 6 dan 0 terbesar adalah 6.
Sehingga dapat dibuktikan bahwa gcd6,0 = 6 karena itu, gcd96,42 = 6.
2.2.3 Aritmetika Modulo