回答
ssh-keygen使用OpenSSL生成RSA密鑰並將其存儲爲PEM格式。您正在討論的加密特定於PEM。如果你看一下你的密鑰文件,
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,5B01E932988DC66B
EPESt4ZVIrxnQXxxWWVa7cCR+vgNZ/4vTu4mdq6pjaW7jMZoB8HV+mA745mQkQw7
i+YtdVs/JqOeyGiw/3McxYYKZTlhyh7MvfIr1n8ZdZmcjQz+oFqMxChFU3r8BGgA
「DEK-信息」頭部有你需要的,只要你知道密碼來解密密鑰的所有信息。 「DES-EDE3-CBC」表示三重DES(在EDE模式下)。 CBC是鏈式模式。十六進制數是CBC所需的初始向量。
PEM是一個非常古老的格式,所以它只支持DES/TripleDES。後來增加了AES和Blowfish,但所有實現都不支持。我的ssh(OpenSSH 5.2)只支持DES和TripleDES。
是否有任何知道如何讀取這種格式的JRE類? – Phaedrus 2013-03-05 22:24:24
@Phaedrus見https://github.com/bcgit/bc-java/blob/c0d5ac5e62a6531f640bdfb4897a9fe95a0c9fdb/pkix/src/test/java/org/bouncycastle/openssl/test/ParserTest.java#L412 – 2015-02-18 00:43:53
這個答案似乎缺少關於如何將密碼轉換爲密碼接受的解密密鑰。 – 2015-12-16 23:30:23
密碼短語只是一個用於使用對稱密碼(通常是DES或3DES)加密包含RSA密鑰的文件的密鑰。爲了將密鑰用於公鑰加密,您首先需要使用解密密鑰對其文件進行解密。 ssh通過詢問您的密碼來自動執行此操作。
如果有人拿到了密鑰文件,除非他們知道用於加密文件的密碼短語,否則他們將無法使用它。
非常感謝您的回覆!幾個後續問題:RSA標準的密碼部分還是其他內容(根據上面的評論者)? ssh-keygen程序是使用DES還是3DES /我該怎麼說?什麼等級?爲什麼不AES? – qfinder 2009-11-21 05:13:58
如果不受保護,存儲在通用文件系統上的私鑰(與防篡改,專用硬件令牌相對)很容易被盜。文件系統權限可能看起來足夠了,但它們通常可以被繞過,特別是如果攻擊者能夠物理訪問機器。
一個強對稱密碼,用一個好的密碼鍵入,有助於防止這種情況發生。一個好的RSA私鑰記得太長(對我來說),但是小得多的對稱密鑰可以提供相同的安全級別。存儲在人腦中的相對較短的對稱密鑰用於保護存儲在磁盤上的大型私鑰。
絕對有意義 - 關於它究竟如何實現的更多細節? (這是完全對稱的,是否是所有impls的標準,等等?) – qfinder 2009-11-21 05:16:35
- 1. 生成私有RSA私鑰並以編程方式設置密碼短語
- 2. 如何使用RSA私鑰解密JWT
- 3. RSA解密的私鑰C++
- 4. RSA加密 - 用私鑰
- 5. .NET私鑰Rsa加密
- 6. 的Javascript RSA解密私鑰
- 7. C#RSA加密與私鑰
- 8. C#OpenSSL RSA私鑰加密
- 9. 使用RSA私鑰解密
- 10. 如何使用用密碼加密的私鑰生成RSA密鑰對?
- 11. Bouncycastle加密私鑰PEM輸出:RSA私鑰與私鑰
- 12. AES密鑰和iv來自RSA私鑰
- 13. 使用RSA私鑰創建密鑰庫
- 14. 使用RSA公鑰加密DSA私鑰
- 15. 如何使用短數據公鑰/私鑰不對稱密碼
- 16. 如何測試RSA私鑰
- 17. Java - 公鑰 - 私鑰加密 - 如何計算RSA中的私鑰 - UNSOLVED
- 18. 生成RSA密鑰對並將私鑰編碼爲字符串
- 19. 在R中使用ftpUpload函數的私鑰密碼短語
- 20. 私鑰密碼短語的用途是什麼?
- 21. 強制ssh私鑰每次使用密碼短語
- 22. 解密數據時保護我的RSA私鑰密碼
- 23. 在加密++中加載PEM編碼的私有RSA密鑰
- 24. 如何從字符串獲取PKCS8 RSA私鑰/從XML獲取RSA密鑰對
- 25. 如何存儲RSA私鑰,公鑰
- 26. SSH密鑰短語
- 27. 如何加密生成的RSA私鑰並在c#中解密
- 28. c(加密消息)如何用RSA中的私鑰解密?
- 29. 使用私鑰解密文件(RSA)
- 30. C#RSA使用私鑰解密
RSA本身沒有這樣的事情。這聽起來像是在談論某個使用RSA的特定程序 - 在這種情況下,如果您要告訴我們您正在討論的是什麼程序(例如PGP或GPG),這將非常有幫助。 – 2009-11-21 04:11:17
有趣的 - 我主要關心unix-y系統上運行「ssh-keygen -t rsa」所要求的密碼。 – qfinder 2009-11-21 04:25:00
這個問題似乎是脫離主題,因爲它不是關於編程。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[信息安全協議棧](http://security.stackexchange.com/)會是一個更好的地方。 – jww 2014-07-14 07:25:15