我如何找到d
p = 7, q = 11, e = 3
?
有很多类似的问题,但他们要求你计算自己的e。如果e = 11
或e = 17
,这将是一个微不足道的解决方案,但我不确定如何专门处理e = 3
。
我的理解是:
d = e -1 mod(p-1)(q-1)
d = 3 -1 mod(6)(10)
d * 3 == 1 mod 60
然而,这导致3不是可逆的mod 60,因为3不是60的相对素数。是否有一个解决方案给出e = 3的这个值?谢谢你的帮助。
答案 0 :(得分:1)
我的计算器说没有解决方案。 (所有值均为10)
n
= p * q
= 77
phi(n)
= (p-1) * (q-1)
= 60
ModInv(3, 60)
并意识到没有解决方案,因为3会均匀地划分60。只是为了踢,我重新运行它“假设输入是(合理的)十六进制”,制作q=17
,它也无法解决,因为phi(n)
是96,它也是可分的由3。
答案 1 :(得分:0)
(回答标题中的问题)。在我的算法中,我使用它:
d =(1+(z* ϕ(N)))/e
私钥d必须是整数,因此z
应从1
开始并递增1
,直到它是整数。
ϕ(N)
是欧拉的全部功能。
ϕ(N) = (p-1)*(q-1)
编辑:当我将这些素数插入到我的代码中时,我得到e = 7
。
要正确查找e
:e
必须是e
和ϕ(N)
的最大公约数等于1的数字。
所以e
从1
开始,递增1
,直到最大公约数也为1
。