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