RSA 基本原理:
选取两个不同的大素数p、q,并计算N=p*q,选取小素数d,并计算e,使d*e % (p-1)(q-1)=1,
对于任意A<N:
若B=A**d % N
则A=B**e % N
可见d、e形成了非对称秘钥关系,加密者用公钥d加密,解密者可用私钥e解密,第三者即使拦截了密文B、公钥d和N,在不知道p、q的前提下,无法推算出e,从而无法获得明文A。当N取非常大的值时,将其因式分解成p、q是非常困难的。
质数与互质关系:
质数又称素数,指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
互质关系:两个正整数,除了1以外,没有其他公因子,我们就称这两个数是互质关系(coprime)
1.任意两个质数构成互质关系,比如13和61。
2. 一个数是质数,另一个数只要不是前者的倍数,两者就构成互质关系,比如3和10。
3. 如果两个数之中,较大的那个数是质数,则两者构成互质关系,比如97和57。
4. 1和任意一个自然数是都是互质关系,比如1和99。
5. p是大于1的整数,则p和p-1构成互质关系,比如57和56。
6. p是大于1的奇数,则p和p-2构成互质关系,比如