Gw mau tau Pertimbangan praktis dari RSA

Menemukan bilangan prima besar p dan q pada biasanya didapat dengan mencoba serangkaian bilangan acak dengan ukuran yang tepat menggunakan probabilitas bilangan prima yang dapat dengan cepat menghapus hampir semua bilangan bukan prima.

p dan q seharusnya tidak "saling-berdekatan", agar faktorisasi fermat pada N berhasil. Selain itu pula, jika p-1 atau q-1 memeiliki faktorisasi bilangan prima yang kecil, N dapat difaktorkan secara mudah dan nilai-nilai dari p atau q dapat diacuhkan.

Seseorang seharusnya tidak melakukan metode pencarian bilangan prima yang hanya akan memberikan informasi penting tentang bilangan prima tersebut kepada penyerang. Biasanya, pembangkit bilangan acak yang baik akan memulai nilai bilangan yang digunakan. Harap diingat, bahwa kebutuhan disini ialah "acak" dan "tidak-terduga". Berikut ini mungkin tidak memenuhi kriteria, sebuah bilangan mungkin dapat dipilah dari proses acak (misal, tidak dari pola apapun), tetapi jika bilangan itu mudah untuk ditebak atau diduga (atau mirip dengan bilangan yang mudah ditebak), maka metode tersebut akan kehilangan kemampuan keamanannya. Misalnya, tabel bilangan acak yang diterbitkan oleh Rand Corp pada tahun 1950-an mungkin memang benar-benar teracak, tetapi dikarenakan diterbitkan secara umum, hal ini akan mempermudah para penyerang dalam mendapatkan bilangan tersebut. Jika penyerang dapat menebak separuh dari digit p atau q, para penyerang dapat dengan cepat menghitung separuh yang lainnya (ditunjukkan oleh Donald Coppersmith pada tahun 1997).

Sangatlah penting bahwa kunci rahasia d bernilai cukup besar, Wiener menunjukkan pada tahun 1990 bahwa jika p di antara q dan 2q (yang sangat mirip) dan d lebih kecil daripada N1/4/3, maka d akan dapat dihitung secara effisien dari N dan e.

Kunci enkripsi e = 2 sebaiknya tidak digunakan.