Cryptography RSA加密算法中p和q的求法
当RSA加密算法中已知Cryptography RSA加密算法中p和q的求法,cryptography,rsa,number-theory,Cryptography,Rsa,Number Theory,当RSA加密算法中已知e、d和n时,如何找到p和q的因子。我试图搜索,但找不到任何来源。任何提示、参考或解决方案都已足够 (e,n)和(d,n)分别是公钥和私钥,n=pq我找到了一个,它描述了计算p和q的随机算法 算法: 计算s=max{t:2t|(ed-1)}和k=(ed-1)/(2s) 在[2,n-1] 计算g=gcd(a,n) 如果g>1⇒ g=p和q=n/g 对于t=s-1,…,则执行其他操作,0: g=gcd(ak⋅ 2t,n) 如果g
e
、d
和n
时,如何找到p
和q
的因子。我试图搜索,但找不到任何来源。任何提示、参考或解决方案都已足够
(e,n)
和(d,n)
分别是公钥和私钥,n=pq
我找到了一个,它描述了计算p
和q
的随机算法
算法:
s=max{t:2t|(ed-1)}
和k=(ed-1)/(2s)
[2,n-1]
g=gcd(a,n)
g>1⇒ g=p
和q=n/g
对于
t=s-1,…,则执行其他操作,0
:
g=gcd(ak⋅ 2t,n)
g
和q=n/g
否则,在
[2,n-1]
中选择一个新的随机数a
,然后转到3a
作为随机数(均匀分布),则找到p
和q
的概率为1/2
,因此预计在尝试2次后会得到解决方案
证明这种方法有效的证据与此有关
备注:如果您已经拥有私钥,则很可能没有理由计算
n
的系数,因为同一n
的密钥不应超过一对(e,d)
。但您可以使用此算法证明破坏RSA与分解n
一样困难。(RSA并不比因子分解困难,因为如果您有p
和q
,您可以简单地计算私钥d
) 查找p
和q
的唯一方法是计算n
,这很难。@user448810当解密密钥d
也是已知的时,您确定它仍然有效吗?它在计算上仍然不可行吗?你可以尝试,但它并不总是有效的。user448810指向的算法是概率的。每次尝试都有成功的机会,概率至少为1/2。因此,成功之前的预期尝试次数仅为2次。因此,这是一个非常有效的算法。这个问题似乎是离题的,因为它是关于一般的密码学,没有具体的编码问题。