我正在開發一個客戶端服務器應用程序,其中通過服務器在兩個客戶端之間傳輸數據。客戶端服務器AES加密
數據應該加密,我想到使用AES。 我的想法是使用PBKDF2爲了從客戶端的密碼派生AES密鑰。
在這種情況下,客戶將編碼數據時,服務器會對其進行解碼,重新編碼它使用第二客戶端的密碼,並將其發送到第二客戶端。
您認爲這是實現此目的的最佳方式嗎?
有沒有辦法讓第一個客戶端編碼,第二個客戶端解碼沒有服務器干擾?
如何加密AES密鑰並將其從一個客戶端傳輸到另一個客戶端?
您如何看待以下解決方案?
- 客戶端和服務器使用Diffie-Hellman(此密鑰特定於每個客戶端)創建私有AES密鑰。
- 傳輸客戶端創建會話AES密鑰並使用私有AES密鑰對其進行編碼。
- 服務器解密會話密鑰併爲會話中的每個客戶端重新加密(使用每個客戶端的私鑰)。
- 傳輸客戶端使用會話AES密鑰加密數據並將其發送到服務器。
- 服務器將數據發送給所有收件人客戶端,無需任何必需的處理。
是RSA還是比派生函數更好的任何其他不對稱算法? – lebamb