python杂记-RSA加解密实现(2)
二、計(jì)算素?cái)?shù)
質(zhì)數(shù)(Prime number),又稱素?cái)?shù),指在大于1的自然數(shù)中,除了1和該數(shù)自身外,無法被其他自然數(shù)整除的數(shù)(也可定義為只有1與該數(shù)本身兩個(gè)正因數(shù)的數(shù))。大于1的自然數(shù)若不是素?cái)?shù),則稱之為合數(shù)(也稱為合成數(shù))。例如,5是個(gè)素?cái)?shù),因?yàn)槠湔s數(shù)只有1與5。7是個(gè)素?cái)?shù),因?yàn)槠湔s數(shù)只有1與7。而4則是個(gè)合數(shù),因?yàn)槌?與4外,2也是其正約數(shù)。6也是個(gè)合數(shù),因?yàn)槌?與6外,2與3也是其正約數(shù)。算術(shù)基本定理確立了素?cái)?shù)于數(shù)論里的核心地位:任何大于1的整數(shù)均可被表示成一串唯一素?cái)?shù)之乘積。為了確保該定理的唯一性,1被定義為不是素?cái)?shù)。
測試n是否為素?cái)?shù)的最基本方法為試除法。將n除以每個(gè)大于1且小于等于n的平方根之的整數(shù),若存在一個(gè)相除為整數(shù)的結(jié)果,則n不是素?cái)?shù),反之則是個(gè)素?cái)?shù)。
2-10-3-2.py計(jì)算3000-3500之間的素?cái)?shù),運(yùn)行結(jié)果如下:
[3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499]
三、計(jì)算公鑰和私鑰
1、計(jì)算p和q
總結(jié)
以上是生活随笔為你收集整理的python杂记-RSA加解密实现(2)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python操作excel-openpy
- 下一篇: python杂记-读取png图像文件头数