对于RSA加密,找到给定的p,q和e?

问题描述:

我怎么会觉得d给出p = 7, q = 11, e = 3对于RSA加密,找到给定的p,q和e?

对于这个很多类似的问题,但他们要求你计算自己的电子。这将是如果e = 11e = 17一个微不足道的解决方案,但我不能确定如何与e = 3专门进行。

我的理解云:

d = E -1 MOD(P-1)(Q-1)

d = 3 -1 MOD(6)(10)

d * 3 == 1模60

然而,这导致3不是可逆模60,如图3不相对素60是否有给定E = 3的该值的溶液?感谢您的任何帮助。

+2

这不是一个真正的编程问题,但是RSA需要p-1和q-1(或等同于phi(N)或lambda(N))。见https://crypto.stackexchange.com/questions/12255/in-rsa-why-is-it-important-to-choose-e-so-that-it-is-coprime- HTTPS://crypto.stackexchange .com/questions/31237/public-key-exponent-coprime-with-totient-proof https://crypto.stackexchange。com/questions/20324/is-there-a-way-to-systematic-calculate-and https://crypto.stackexchange.com/questions/35842/why-does-choosing-the-first-coprime-e-大于 - –

(回答标题中的问题)。在我的算法,我用这个:

d =(1+(z* ϕ(N)))/e 

私钥d必须是一个整数,所以z应该1启动和1递增,直到它是一个整数。 ϕ(N)是欧拉的总功能。

ϕ(N) = (p-1)*(q-1) 

编辑:当我插入这些质数到我的代码,我得到e = 7

要找到正确ee必须是一个数,其中的eϕ(N)最大公约数等于1

因此,在1e开始,由1递增,直到最大公约数也1

+0

这是正确的答案;我的教授犯了一个错字,并修正了e = 7。然后使用扩展的Euclid,d = 43。谢谢! –

+0

你写到e从1开始,然后递增,直到gcd为1.这是否意味着e只能是7,或者其他coprime值可以有效吗? –

+0

最初的RSA方法是随机选择'p'和'q',选择任何与'phi(n)'(GCD == 1)相对的质数'd',产生'e'(https:// people .csail.mit.edu/rivest/Rsapaper.pdf sec VII(C))。现在它可能选择'e',可能是'0x010001',随机选择'p'和'q',派生'd';如果它不起作用,请选择一个新的'p'和'q' ...因为它使公钥操作更快。 – bartonjs

我的计算器说,有没有解决方案。 (所有数值基数为10)

  • n = p * q = 77
  • phi(n) = (p-1) * (q-1)60 =
  • 尝试计算ModInv(3, 60)和实现没有解决方案,因为3将60均匀。

只是踢与我重新跑了“十六进制假设输入是(理智)”,使得q=17,而且它也没有解决的,因为phi(n)是96,这也是由3

整除
+0

谢谢你的回答!原来,我的教授刚刚犯了一个错字,并用e = 7纠正 –