Analisis Metode Sieve of Eratosthenes

3.1.3 Distribusi Kunci

Sebagaimana halnya cipher, bagaimana public key RSA didistribusi menjadi hal penting dalam keamanan. Distribusi kunci harus aman dari man-in-the-middle attack. Anggap Eve dengan suatu cara mampu memberikan kunci yang bukan sebenarnya kepada Bob dan membuat Bob percaya bahwa kunci tersebut milik Alice. Anggap Eve dapat menghadang sepenuhnya transmisi antara Alice dan Bob. Eve mengirim Bob public key milik Eve, dimana Bob percaya bahwa public key tersebut milik Alice. Eve dapat menerima seluruh ciphertext yang dikirim oleh Bob, melakukan dekripsi dengan kunci rahasia milik Eve sendiri, menyimpan salinan dari pesan tersebut, melakukan enkripsi menggunakan public key milik Alice, dan mengirimkan ciphertext yang baru kepada Alice. Secara prinsip, baik Alice atau Bob tidak menyadari kehadiran Eve di antara transmisi mereka. Pengamanan terhadap serangan semacam ini yaitu menggunakans ertifikat digital atau komponen laindari infrastuktur public key.

3.2 Analisis Metode Sieve of Eratosthenes

Algoritma Sieve of Eratosthenes bisa mengurutkan bilangan prima dengan cara cepat. Algoritma ini menggunakan ØN operasi dan ØN 12 log log Nlog N bit memori. Kekurangan dari algoritma Sieve of Eratosthenes adalah kebutuhan memorinya yang besar, sehingga hanya dapat dipakai untuk N = 10.000.000. Walaupun kompleksitas waktunya masih cukup baik, akan tetapi kompleksitas memorinya tidak menunjang karena jumlah memori yang diperlukan sudah berada dalam jenjang puluhan, bahkan ratusan Megabyte. Apabila Sieve of Eratosthenes masih dirasa kurang cepat, bahkan setelah dioptimasi, maka masih ada cara lain yang lebih cepat lagi, yaitu Sieve of Atkin, ditemukan pada tahun 2003 oleh A. O. L. Atkin dan D. J. Bernstein. Ide dari algoritma ini juga mengacu pada Sieve of Eratosthenes, ini menunjukkan bahwa ide dari Sieve of Eratosthenes sudah sangat bagus. Universitas Sumatera Utara Sieve Of Eratosthenes adalah sebuah algoritma klasik untuk menemukan seluruh bilangan prima sampai ke sebuah N yang ditentukan. Mulai dengan array of integer yang belum dicoret dari 2 ke N. Integer pertama yang belum dicoret yaitu 2, adalah bilangan prima pertama. Coret seluruh kelipatan dari bilangan prima ini. Ulangi pada integer selanjutnya yang belum dicoret. Sebagai contoh, berikut adalah larik array pada awalnya: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Karena 2 belum dicoret, maka 2 adalah bilangan 2 pertama. Kita coret seluruh kelipatan 2, yaitu 4, 6, 8, 10, 12, dan seterusnya. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Integer selanjutnya yang belum dicoret adalah 3, maka 3 adalah prima dan kita coret seluruh kelipatan 3, seperti 6, 9. 12, dan seterusnya. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 5 adalah bilangan prima selanjutnya, maka kita harus mencoret seluruh kelipatan 5. Satu-satunya bilangan yang dicoret dalam range ini adalah 25. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Maka akan didapat bilangan prima selanjutnya yaitu 7, 11, 13, 17, 19, dan 23. Pada prinsipnya, algoritma Sieve of Eratosthenes adalah sebagai berikut: 1. Buat daftar bilangan dari 2 sampai dengan N 2, 3, 4, …, N. 2. Ambil bilangan terkecil dalam daftar tersebut, misal X. X adalah bilangan prima yang dicari, keluarkan dari daftar dan masukkan ke tempat lain. 3. Buang semua kelipatan X dari daftar tersebut. 4. Ulangi langkah 2 dan 3 sampai tidak ada bilangan yang tersisa dalam daftar. Universitas Sumatera Utara Berikut adalah rancangan flowchart algoritma Sieve of Eratosthenes : Gambar 3.1 Rancangan Flowchart Algoritma Sieve of Eratosthenes Universitas Sumatera Utara

3.3 Rancangan Sistem