Proses enkripsi dan dekripsi pada kriptografi asimterik dapat dilihat pada gambar 2.3 di bawah ini:
Enkripsi Dekripsi
Cipher Text
Kunci Publik Kunci Privat
Plain Text Plain Text
Gambar 2.3. Algoritma Kriptografi Asimetrik
Kelebihan kriptografi asimetris adalah: 1.
Hanya kunci privat yang perlu dijaga kerahasiaannya oleh entitas yang mengirim pesan
2. Pasangan kunci privat dan publik tidak perlu diubah dalam jangka waktu yang
sangat lama 3.
Dapat digunakan dalam pengamanan pengiriman kunci simetri 4.
Beberapa algoritma kunci publik dapat digunakan untuk memberi tanda tangan digital pesan.
Kelemahan kriptografi asimetri adalah: 1.
Proses enkripsi dan dekripsi umumnya lebih lambat dari algorima simetri, karena menggunakan bilangan besar dan operasi bilangan besar.
2. Ukuran ciphertext lebih besar dari plaintext
3. Ukuran kunci relatif lebih besar dari kunci simetri
2.5 Keamanan Algoritma Kriptografi
Algoritma kriptografi dikatakan aman computationally secure bila ia memenuhi tiga kriteria berikut ini:
1. Persamaan matematis yang menggambarkan operasi algoritma kriptografi sangat
kompleks sehingga algoritma tidak mungkin dipecahkan secara analitik. 2.
Biaya untuk memecahkan ciphertext melampaui nilai informasi yang terkandung di dalam ciphertext tersebut.
3. Waktu yang diperlukan untuk memecahkan ciphertext melampaui lamanya
4. Waktu informasi tersebut harus dijaga kerahasiaannya.
2.6 Bilangan Prima
Bilangan prima adalah bilangan asli yang lebih besar dari angka 1 dimana faktor pembagi dari bilangan tersebut adalah 1 dan bilangan itu sendiri. Bilangan bulat
positif p p 1 disebut bilangan prima jika pembanginya hanya 1 dan p Stallings, 2005. Contohnya, bilangan 11 adalah bilangan prima karena bilangan 11 hanya habis
dibagi 1 dan 11. Seluruh bilangan prima adalah bilangan ganjil kecuali bilangan 2. Pada algoritma kritografi kunci publik, pada umumnya menggunakan bilangan
prima sehingga dibutuhkan metode dalam pembangkita bilangan prima. Beberapa algoritma pembangkitan bilangan prima dibagi menjadi dua yaitu algoritma
probabilistic seperti Lehman dan Rabin-Miller, dan algoritma deterministik seperti Sieve of Eratosthenes
. Perbedaan dari algoritma probabilistik dan deterministik adalah dari bilangan yang dihasilkan. Algoritma deterministik menghasilkan bilangan prima
pasti sedangkan probabilistik menghasilkan bilangan prima semu.
2.7 Algoritma Pembangkitan Bilangan Prima Sieve of Eratosthenes
Algoritma Sieve of Eratosthenes adalah salah satu algoritma deterministik dalam pembagkitan bilangan prima. Algoritma ini ditemukan oleh seorang matematikawan
dari Yunani bernama Eratosthenes 276-194 S.M. Algorima ini bekerja dengan cara membangkitkan bilangan prima bilangan 1
sampai batas maksimum yang diiginkan dengan cara membuat daftar bilangan asli dari 1 sampai batak maksimum, kemudian mengeliminasi satu per satu bilangan yang
tidak termasuk dalam bilangan prima sampai yang tersisa hanya bilangan prima saja. Disebut sieve saringan karena algoritma ini bekerja dengan menyaring bilangan
prima dari daftar bilangan yang sudah ada bukan dengan membangkitkannya Möhring dan Oellrich, 2011.
Berikut adalah algoritma Sieve of Eratosthenes: 1.
Buat daftar bilangan dari 2 sampai n 2.
Tandai bilangan pertama sebagai bilangan prima, yaitu p = 2
3. Eliminasi semua kelipatan p yang lebih kecil dari n untuk 2 eliminasi 4, 6, 8,…,
menghitung kelipatan p dimulai dari p2. 4.
Tandai bilangan terkecil yang belum dieliminasi dari daftar namun lebih besar dari p sebagai prima selanjutnya, ulangi langkah 3.
5. Sampai tidak ada lagi bilangan yang bisa ditandai sebagai prima karena semua
bilangan yang tersisa tidak tereliminasi dari daftar sudah ditandai sebagai prima.
2.8 Algoritma RSA