* 澄清:我的問題涉及在現實世界中已經同意密鑰(讀取密碼短語)的雙方之間建立「安全」通信通道。只有使用RSA才能允許MITM攻擊(如果我沒有誤解),所以我在考慮在將AES發送給各方之前用AES(雙方同意的密鑰)對公鑰進行加密*在運輸過程中保護公共RSA密鑰
I'目前正試圖建立兩個應用程序,與彼此進行會談。爲了保護交換的消息,我正在考慮使用RSA,其中每個應用程序都有自己的一組密鑰。
在兩個應用程序之間開始通信之前,他們需要交換密鑰。這應該不是問題,但我想在使用AES加密公鑰之前通過互聯網發送它們。
我知道public(公鑰)這個詞是什麼意思,但我在想這樣會發現正確的應用程序/計算機獲得了密鑰而沒有其他人。
所以我想交換密鑰並保護它們免受MITM攻擊。
如果有人可以提供更好的建議(我正在使用LibCrypto庫btw),我全部都是耳朵。
謝謝。
問候 /托馬斯Gustavsson的
如果你已經有了一個預先建立的對稱密鑰,你爲什麼要進行非對稱加密?您需要使用某種方式創建AES會話密鑰,最好是不易受MITM攻擊影響的密鑰,並且不會使主密鑰暴露於危險之中。但我認爲這是錯誤的論壇,請嘗試crypto.stackexchange.com – 2011-12-29 14:30:33
哦,並且密碼不是關鍵。它可以被轉換成*鍵,例如使用像PBKDF2這樣的基於密碼的密鑰派生函數,但它不一樣。例如,使用密碼作爲密鑰可能會導致相關的密鑰攻擊。 – 2012-01-01 23:18:01
OK,查看它,可能密碼仍然不能用作相關的密鑰攻擊,但是你肯定會將密碼限制爲密鑰大小,這意味着你也限制了密鑰空間(密鑰的數量例如在蠻力攻擊中搜索)。 – 2012-01-03 20:11:03