Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis yaitu:
a. Algoritma Simetris
Algoritma simetri sering disebut dengan algoritma klasik, karena memakai kunci yang sama untuk proses enkripsi dan dekripsi. Algoritma ini sudah ada
sejak 4000 tahun yang lalu. Karena kunci yang digunakan untuk proses enkripsi dan dekripsi sama,
sehingga sering disebut juga one key private key single key, seperti Twofish, One Time Pad. Mollin, Richard A.2007
Gambar 2.1 Diagram proses enkripsi dan dekripsi algoritma simetris
b. Algoritma Asimetris
Algoritma Asimetri sering juga disebut dengan kunci publik. Dimana kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk
dekripsi, seperti algoritma RSA, ElGamal, dll. Kunci-kunci tersebut berhubungan satu sama lain: Mollin, Richard A.2007
Gambar 2.2 Diagram proses enkripsi dan dekripsi algoritma asimetris
Plainteks Plainteks
Cipherteks enkripsi
dekripsi
Kunci enkripsi K Kunci dekripsi K
Plainteks
Kunci Public K1 Kunci Privat K2
Cipherteks enkripsi
dekripsi Plainteks
Universitas Sumatera Utara
2.2 Algoritma RSA
Dari sekian banyak algoritma kriptografi kunci-publik yang pernah dibuat, algoritma yang paling populer adalah algoritma RSA. Algoritma RSA dibuat oleh 3 orang
peneliti dari MIT Massachussets Institute of Technology pada tahun 1976, yaitu: Ron Rivest, Adi Shamir, dan Leonard Adleman. Keamanan algoritma RSA
terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci pribadi. Selama pemfaktoran
bilangan besar menjadi faktor-faktor prima belum ditemukan algoritma yang baik, maka selama itu pula keamanan algoritma RSA tetap terjamin. Munir, R. 2007
Besaran-besaran yang digunakan pada algoritma RSA: 1. p dan q bilangan prima
rahasia 2. r = p
q tidak rahasia
3. n = p – 1q – 1
rahasia 4. e kunci enkripsikunci publik
tidak rahasia 5. d kunci dekripsikunci privat
rahasia 6. x plainteks
rahasia 7. y cipherteks
tidak rahasia
a. Prosedur Membuat Pasangan Kunci