对于RSA加密,找到给定的p,q和e?
我怎么会觉得d
给出p = 7, q = 11, e = 3
?对于RSA加密,找到给定的p,q和e?
对于这个很多类似的问题,但他们要求你计算自己的电子。这将是如果e = 11
或e = 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的该值的溶液?感谢您的任何帮助。
(回答标题中的问题)。在我的算法,我用这个:
d =(1+(z* ϕ(N)))/e
私钥d必须是一个整数,所以z
应该1
启动和1
递增,直到它是一个整数。 ϕ(N)
是欧拉的总功能。
ϕ(N) = (p-1)*(q-1)
编辑:当我插入这些质数到我的代码,我得到e = 7
。
要找到正确e
:e
必须是一个数,其中的e
和ϕ(N)
最大公约数等于1
因此,在1
e
开始,由1
递增,直到最大公约数也1
。
这是正确的答案;我的教授犯了一个错字,并修正了e = 7。然后使用扩展的Euclid,d = 43。谢谢! –
你写到e从1开始,然后递增,直到gcd为1.这是否意味着e只能是7,或者其他coprime值可以有效吗? –
最初的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
谢谢你的回答!原来,我的教授刚刚犯了一个错字,并用e = 7纠正 –
这不是一个真正的编程问题,但是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-大于 - –