我对RSA密钥生成及其用法有一个非常基本的疑问。
RSA找到公开指数的逆
在RSA密钥生成中,您可以选择一个非常大的订单中的两个大素数。然后你乘以它们(等式p * q = N
) 现在,Euler(N)=(p-1)(q-1)
。现在你找到一个数字0 < e < Euler(N)
,这样e和Euler(N)是相互矛盾的。 {e.Euler(N)}
成为您的公钥。现在你计算d(私钥),例如e * d =1 (mod(Euler(N)))
。
现在假设你用你的公钥加密了一些东西(m) - c=m^e(mod(N)).
现在用私钥(d)解密时,你的确做了c^d(mod(N))
。
现在我怀疑你是否发现mod(Euler(N))中e的反函数,但是当你解密的时候你是用mod(N)来做的。这怎么可能?
谢谢回复。但是我仍然没有得到^ phi(N)= 1的部分。它如何确保a(这是我们的信息)和N是相互矛盾的。我不太理解你的解释。 – Ashwin 2012-04-06 14:19:48
@Ashwin:不能保证。对于RSA模量的预期大小而言,它实际上不太可能发生,所以可能性被忽略。 – 2012-04-06 21:56:46
没问题.. N = p * q其中p和q是素数。那么,a和n不是共素的唯一的cse是a = p还是a = q?这是不太可能的。 – Ashwin 2012-04-07 00:47:12