Algoritma asimetris (asymmetric
algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan
tidak sama dengan kunci dekripsi. Pada algoritma
ini menggunakan dua kunci yakni kunci publik (public key) dan kunci privat
(private key). Kunci publik disebarkan secara umum sedangkan kunci
privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci
privat yang digunakan.
Pada umumnya kunci
publik (public key) digunakan sebagai kunci enkripsi sementara kunci privat (private key) digunakan sebagai
kunci dekripsi.
Kelebihan :
ü Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap
entitas yang berkomunikasi (tetapi otentikasi knci public tetap harus
terjamin). Tidak ada
kebutuhan mengirim kunci privat sebagaimana pada system simetri.
ü Pasangan kunci public/kunci privat tidak
perlu diubah, bahkan dalam periode waktu yang panjang.
ü Dapat digunakan untuk mengamankan
pengirman kunci simetri
ü Beberapa algoritma kunci-publik dapat digunakan untuk memebri tanda
tangan digital pada pesan.
Kelemahan :
ü Enkripsi dan dekripsi data umumnya lebih
lambat daripada system simetri, karena enkripsi dan dekripsi menggunakan
bilangan yang besar dan melibatkan operasi perpangkatan yang besar.
ü Ukuran cipherteks lebih besar dari plainteks
(bisa dua sampai empat kali ukuran plainteks)
ü Ukuran kunci relative lebih besar daripada
ukuran kunci simetri
ü Karena kunci public diketahui secara luas
dan dapat digunakan setiap orang, maka cipherteks tidak memberikan informasi
mengenai otentikasi pengirim
ü Tidak ada algoritma kunci public yang
terbukti aman (sama seperti blok cipher).
Beberapa contoh asymmetric algorithm:
1.
RSA
(Rivest Shamir Adleman)
Merupakan algoritma
enkripsi yang paling umum digunakan sebagai public key. Merupakan algoritma pertama yang cocok tanda
tangan digital dan yang paling canggih dalam public key.RSA masih digunakan
dalam protokol e-commerce dalam mengamankan dan menggunakan kunci yang cukup
panjang.
Contoh
Penerapan :
Misalkan Sil mengirim pesan kepada z. Pesan (plainteks) yang akan
dikirimkan oleh Alice adalah :
m = HARI INI
atau dalam system
decimal (pengkodean ASCII) adalah :
7265827332737873
Sil memecah m menjadi blok yang lebih kecil,
misalnya m dipecah menjadi enam blok yang berukuran 3 digit.
m1 = 726 m4 = 273
m2 = 582 m5
= 787
m3 = 733 m6
= 003
Sil mengetahui kunci public Z adalah e = 79 dan n = 3337. Z dapat mengenkripsikan setiap blok
plainteks sebagai berikut :
C1 = 72679 mod 3337 = 215
C2 = 58279
mod 3337 = 776
C3 = 73379
mod 3337 = 1743
C4 = 27379
mod 3337 = 933
C5 = 78779
mod 3337 = 1731
C6 = 00379
mod 3337 = 158
Jadi cipherteks yang
dihasilkan adalah :
C = 215 776 1743
933 1731 158
Dekripsi dilakukan dengan
mengunakan kunci privat yang
diberikan oleh Sil
d = 1019
Blok-blok cipherteks didekripsikan sebagai berikut :
m1
= 2151019 mod 3337 = 726
m2 = 7761019
mod 3337 = 582
m3 = 17431019
mod 3337 = 733
m4 = 9331019
mod 3337 = 273
m5 = 17311019
mod 3337 = 787
m6
= 1581019 mod 3337 = 003
Plainteks dikembalikan dengan cara yang serupa. Akhirnya kita memperoleh kembali plainteks semula
m =
7265827332737873
yang dalam system pengkodena
ASCII adalah :
m = HARI INI
2.
Diffie
Hellman
Merupakan
algoritma enkripsi public key yang pertama. Ditemukan pada tahun 1976.
Menggunakan logaritma diskrit dalam bidang terbatas. Memungkinkan dua pengguna
untuk pertukaran kunci rahasia melalu media yang tidak aman tanpa rahasia
sebelumnya.
3.
Digital
Signature Algorithim
DSA atau
Algoritma tanda tangan digital dibuat oleh National Institute of Standards and
Technology (NIST) pada tahun 1991. Pembangkitan
kunci memiliki dua fase. Tahap pertama
adalah pilihan parameter algoritma yang dapat dibagi
antara pengguna yang berbeda dari
sistem, sedangkan tahap kedua membagi komputer publik dengan
private key untuk single user.
4.
ElGamal
Merupakan
algoritma enkripsi public key yang disarkan pada Diffie Hellman. Enkripsi ElGamal terdiri dari
tiga komponen: generator kunci, algoritma enkripsi, dan algoritma dekripsi. Enkripsi ElGamal
adalah probabilistik, yang berarti bahwa plaintext tunggal dapat dienkripsi untuk ciphertexts dengan banyak kemungkinan
5. ECDSA
Elliptic Curve
Digital Signature Algorithm (ECDSA)
adalah salah satu algoritma yang diterapkan dalam pembuatan tanda tangan
digital yang menggunakan analogi kurva elips. Tidak seperti logaritma diskrit
biasa dan masalah faktorisasi integer, masalah logaritma diskrit kurva elips
tidak mengenal algoritma perkalian fungsi sub-eksponensial.
Karenanya, kekuatan per bit kunci algoritma yang menggunakan kurva elips lebih
kuat secara substansial daripada algoritma biasa.