我用java rmi客戶端服務器做了一個聊天應用程序。爲了我的消息使用RSA算法的安全性,但我很難將私鑰分發到對手的聊天中。也許從我的朋友那裏可以幫助如何將私鑰分發給對手,以便他可以解密發送的聊天消息。私鑰分配技術?
私鑰分配技術?
回答
你需要使用的是一個不對稱的方案來傳輸信息。使用非對稱加密,即使有人在收聽,他們也不知道他們的關鍵是什麼。你可以使用它加密消息,但是通常你可以用它來加密一個對稱密鑰,然後從那裏使用它。
有關背景的更多信息,請參閱this。
至於如何在你的代碼中做到這一點,我會建議googling沿着「java公鑰庫」的東西。
首先你永遠不會分配私鑰,而公鑰可以公開(duh!)可用。您使用聊天第二方的人員的公共密鑰加密您的消息,然後他們使用他們的私鑰對其進行解密。您可以使用純文本,電子郵件或公佈您的公共密鑰,以便其他人可以使用它加密他們的郵件。
爲了讓您的生活更輕鬆地投入使用ssl - 由於使用非對稱加密建立安全通道後,它會更快地交換對稱會話密鑰並使用更快的對稱加密。
實際上,分配公鑰也可能是一個問題。如果你的對手也可以修改傳輸(而不是隻聽你的傳輸通道),他/她可以發送你的僞造公鑰。這就是爲什麼公鑰(例如在網站上)需要由可信任權限鏈(其公鑰在Web瀏覽器中被硬編碼)簽名的原因。
公鑰需要被信任,但可信任的機構只是實現該目標的一種方式(信任網,帶外通信等)。 –
RSA是一種公鑰加密技術,您的客戶擁有一個公鑰,並且您擁有一個私鑰,使用該私鑰對郵件進行解密,即使用客戶端公鑰對郵件進行加密並使用您的私鑰進行解密。 你可以檢查一下http://www.di-mgt.com.au/rsa_alg.html 它非常詳細地解釋它是如何工作的。 這個PPT解釋了它如何在java中實現 www.cs.cityu.edu.hk/~cs4288/Java/RSA.doc 它真的很有幫助。
希望它有幫助!
- 1. 如何在C#中使用公鑰和私鑰加密技術
- 2. 分配證書和私鑰
- 3. 分類技術
- 4. 使用公鑰/私鑰技術限制Web應用程序的訪問
- 5. 分離和模式匹配技術
- 6. MATLAB大規模多分配技術
- 7. 技術詞分離
- 8. BlockBhain:私人區塊鏈技術
- 9. 分配私鑰不安裝在此MAC
- 10. 分配規定沒有找到私鑰
- 11. SSL密鑰交換加密技術
- 12. 分佈式緩存技術
- 13. 圖像分割技術
- 14. C#的技術分析Math.Round
- 15. 最快的分揀技術
- 16. 需要圖分區技術
- 17. 使用UI技術的網絡技術
- 18. SVN分支和子分岔技術
- 19. iPhone配置問題:公鑰/私鑰
- 20. 什麼是無線技術的配置
- 21. 配合不同控制技術解析多部分請求
- 22. HTML5技術
- 23. .NET「推」技術?
- 24. GetDeviceCaps技術
- 25. 跟蹤技術
- 26. ajax技術
- 27. Mongomapper - bootstrapping技術
- 28. WPF技術棧
- 29. Java WebService技術
- 30. AS3 - Autocrop技術?
爲什麼你想要在那裏分發私鑰?整個想法是保留私鑰,好吧*私人* – Voo
確實。您應該使用朋友的_public_鍵加密傳出消息,因此只有他們可以用其私鑰解密。 –
他談論* a *私鑰。不是他或他的朋友。這意味着他意味着一個對稱密鑰。 –