对于RSA,我如何计算秘密指数?
给定p和q两个素数,以及phi =(p-1)(q-1)和公共指数(0x10001),我如何得到秘密指数'd'?
我读过我必须这样做: d = e -1 mod phi 使用modular inversion和euclidean equation,但我不能了解上述公式如何映射到模块化反转维基页面上的 a -1 ≡xmod m 公式,或者它如何映射到欧几里德GCD公式。
有人可以帮忙,欢呼声
答案 0 :(得分:17)
您可以使用extended Euclidean algorithm来解决同余中的d
de = 1 mod phi(m)
对于RSA加密,e
是加密密钥,d
是解密密钥,加密
和解密都由指数mod m
执行。如果您加密邮件a
使用密钥e
,然后使用密钥d
对其进行解密,您计算(a e ) d = a de mod m
。但
自de = 1 mod phi(m)
以来,Euler's totient theorem告诉我们 de 是一致的
到 1 mod m - 换句话说,你得到原来的a
。
没有已知的有效方法来获取解密密钥d
只知道
加密密钥e
和模数m
,不知道因子分析m = pq
,所以
RSA加密被认为是安全的。