0
A
回答
0
我发现了一个source written in german (page 12+13),即描述了随机算法计算p
和q
算法:。
- 计算
s = max { t : 2t | (ed-1) }
andk = (ed-1)/(2s)
- 选择在
[2,n-1]
- 计算
g = gcd(a,n)
- 如果
g > 1 ⇒ g = p
和q = n/g
随机数a
。
为t = s-1, ... ,0
代劳:g = gcd(ak ⋅ 2t, n)
- 如果
g < n ⇒ g = p
和q = n/g
。
别的选择一个新的随机数a
在[2,n-1]
并转到3.
如果选择a
随机数(均匀分布)的概率找到p
和q
为1/2
,所以它的预计在2次尝试后获得解决方案。
这个工作的证明与chinese remainder theorem有关。
备注:如果您已经私钥,则很可能是没有理由来计算的n
的因素,因为应该不会超过一对密钥(e,d)
到同一n
。但是你可以使用这个算法来证明破坏RSA和n
一样困难。 (RSA并不比保理更困难,因为如果您有p
和q
,您可以简单计算私钥d
)。
相关问题
- 1. 对于RSA加密,找到给定的p,q和e?
- 2. RSA加密中模数和p * q的不匹配值
- 3. RSA加密 - 如何正确选择p,q和e?
- 4. 加密:RSA算法
- 5. 如何加载没有p,q等的RSA密钥对
- 6. C#RSA加密算法
- 7. RSA算法 - 已知n如何获得p&q
- 8. 计算P 1中n + q^n的P + Q和PQ
- 9. 从p和q是质数时找出n = p * q的'p'和'q'
- 10. 如何在Java中使用KeyPairGenerator为RSA获取P和Q?
- 11. 加密与C++和WinCrypt(RSA算法)库和解密使用C#
- 12. 如何从p,q,d得到公共rsa密钥
- 13. 从文件中查找加密算法
- 14. RSA算法如何加密和解密字符串文本?
- 15. RSA算法密钥生成
- 16. 如何从p,q和d解密RSA文本('数据大于mod len'错误)
- 17. 生成已知p和q素数的X509证书或RSA密钥
- 18. 给出“N”发现p和q使得p + q = N和p * q是最大的
- 19. 如何查找图像加密算法
- 20. 以编程方式从`p`和`q`生成'd`(RSA)
- 21. 在加密过程中返回NaN的Java RSA算法
- 22. MVC3中的RSA加密和解密
- 23. 密码学 - RSA算法是在Java 1.4
- 24. 在Python和Ruby中的RSA加密
- 25. 如何使用RSA和AES算法对文件进行加密和解密
- 26. 无法解密RSA加密密钥
- 27. 如何在RSA中加密?
- 28. 在Java中的RSA加密
- 29. RSA解密加密++在PHP
- 30. RSA和AES解密和加密问题
找到'p'和'q'的唯一方法是将因子'n'设为因子,这很难。 – user448810
@ user448810当解密密钥“d”也是已知的时,你确定它仍然成立吗?它仍然在计算上不可行吗? –
您可以尝试[此算法](http://www.di-mgt.com.au/rsa_factorize_n.html),但它并不总是有效。 – user448810