rsa加密原理

【rsa加密原理】1.首先 , 我们应该使用概率算法来验证随机生成的大整数是否是素数 。该算法速度更快 , 可以消除大多数非素数 。如果一个数通过了这个检验 , 就要用一个精确的检验来保证它确实是素数 。
2.另外 , 这种方式找到的p和q应该满足一定的要求 。第一 , 两者不能太近 。另外 , p-1或q-1的因子不能太小 , 否则可以快速分解n 。

rsa加密原理

文章插图
3.另外 , 寻找素数的算法不能给攻击者信息 , 如何找到这些素数 , 尤其是生成随机数的软件一定很好 。需求是随机的 , 不可预测的 。这两个要求不一样 。一个随机过程可能会产生一系列不相关的数字 , 但如果有人能预测(或部分预测)这个系列 , 那么它就不再可靠 。比如有一些非常好的随机数算法 , 但是都已经公布了 , 所以不能用 , 因为如果攻击者能猜出p和q的一半比特 , 就可以很容易地计算出另一半 。
4.另外 , 密钥d必须足够大 。1990年证明了如果p大于q小于2q(这是很常见的情况) , d
5.比较后 , rsa的原理保证了d和e必须与(p-1)和(q-1)的因子互质 , 所以d和e不能