Encryption 对于RSA加密,在给定p、q和e的情况下查找d?

Encryption 对于RSA加密,在给定p、q和e的情况下查找d?,encryption,rsa,Encryption,Rsa,如果p=7、q=11、e=3,我将如何找到d 有许多类似的问题,但他们要求你计算你自己的e。如果e=11或e=17,这将是一个微不足道的解决方案,但我不确定具体如何处理e=3 我的理解是: d=e-1mod(p-1)(q-1) d=3-1mod(6)(10) d*3==1模60 然而,这导致3不是可逆的模60,因为3不是60的相对素数。如果e=3,是否有解决方案?谢谢您的帮助。(回答标题中的问题)。在我的算法中,我使用: d =(1+(z* ϕ(N)))/e 私钥d必须是一个整数,因此z应从1

如果
p=7、q=11、e=3
,我将如何找到
d

有许多类似的问题,但他们要求你计算你自己的e。如果
e=11
e=17
,这将是一个微不足道的解决方案,但我不确定具体如何处理
e=3

我的理解是:

d=e-1mod(p-1)(q-1)

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

d*3==1模60

然而,这导致3不是可逆的模60,因为3不是60的相对素数。如果e=3,是否有解决方案?谢谢您的帮助。

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

d =(1+(z* ϕ(N)))/e
私钥d必须是一个整数,因此
z
应从
1
开始,递增
1
,直到它是一个整数。
ν(N)
是Euler的toticent函数

ϕ(N) = (p-1)*(q-1)
编辑:当我在代码中插入这些素数时,我得到
e=7

要正确地查找
e
e
必须是一个数字,其中
e
ν(N)
的最大公约数等于1


所以
e
1
开始,然后递增
1
,直到最大公约数也是
1

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

  • n
    =
    p*q
    =
    77
  • phi(n)
    =
    (p-1)*(q-1)
    =
    60
  • 尝试计算ModInv(3,60)并意识到没有解,因为3平均除以60

为了好玩,我用“假设输入是(合理地)十六进制的”重新运行了它,使得
q=17
,而且它也是不可解的,因为
phi(n)
是96,它也可以被3整除。

这不是一个真正的编程问题,但是RSA需要p-1和q-1的e互质(或者等价的phi(n)或lambda(n))。看看,也许谢谢你的回答!原来我的教授只是打了个错字,用e=7更正了,这是正确的答案;我的教授输入了一个错误,并用e=7进行了更正。然后使用扩展欧几里德,d=43。谢谢你写了e从1开始,然后递增,直到gcd为1。这是否意味着e只能是7,或者其他互质值可以有效?RSA的原始方法是随机选取
p
q
,选取任何
d
,它相对于
phi(n)
(GCD==1),生成
e
(第七节(C))。现在它可以任意选择
e
,可能是
0x010001
,随机选择
p
q
,派生
d
;如果不起作用,请选择一个新的
p
q
。。。因为它使公钥操作更快。另外,FWIW,
d
的“最佳”答案是0x0D。但是43是有效的,而且人们花了一段时间才观察到0x0D更好;也许您的类将在以后的某个日期讨论:)。@palcoi其他值可能有效,例如,您可以使
e=8
,然后将其递增。