我在我的客戶端 - 服務器應用程序中使用AES進行加密。如何在C++中安全地存儲AES加密密鑰?
目前,我已經簡單地定義了一個靜態對稱密鑰,該密鑰在客戶端和服務器中都是硬編碼的。
我有一種感覺,這不是很安全,因爲通過反轉/反彙編可執行文件來獲得密鑰不應該太困難。另一方面,我不明白Diffie-Hellman這樣的密鑰交換是如何解決問題的,因爲密鑰最終會存儲在客戶端的內存中,並且可能(可能)也會通過某種方法提取。
我到處都在閱讀,包括加密和/或混淆密鑰在內的所有內容都不安全。但是它如何安全地完成?
使用非對稱密碼算法,這意味着每個部分不知道對方的部分私鑰。這是純粹的數學。 – jweyrich
@jweyrich這不會通過反彙編來阻止關鍵發現,是嗎? –
@jweyrich這樣做只會阻止網絡上的某個人找到密鑰,而不會阻止某人訪問該計算機。 – user66875