如何判断RSA密钥对的唯一性,并能举例出最小的密钥对

来源:百度知道 编辑:UC知道 时间:2024/05/15 09:56:58
已经生成素数p,p,e。计算出d。怎么判断e和d是唯一的密钥对?

RSA是一种非对称的加密机制。
RSA算法实现:
(1)随机产生两个大素数p、q
p和q必须保密,一般要求p、q为安全素数,为了获得最大限度的安全性,两个素数的长度通常一样。
(2)计算N=p×q
N的长度要求大于512比特,这主要是因为RSA算法的安全性依赖于因子分解大数问题,既NP难问题,举个例子:你知道3×5=15,但是反过来知道结果为15,你一定确定两个因子一定为3×5吗?
(3)随机选择加密密钥e
e必须满足下列条件:GCD(e,Φ(N))=1(注: GCD最大公约数(greatest common divisor,简写为gcd;或highest common factor,简写为hcf),指某几个整数共有因子中最大的一个。),其中Φ为Euler’s Function(欧拉函数,Φ(N)为小于N,且与N互质的所有整数个数),在此Φ(N)=(p-1)×(q-1)
(4)计算解密密钥
利用Euclid(欧几里得)算法计算出解密密钥d,满足d=e-1 modΦ(N),其中N和d也要互质。

从上面的实现过程中可以看出,只要知道素数p和q,可以利用他们来生成多个e,所以要“判断e和d是唯一的密钥对”这个问题……