我在我的客户端 - 服务器应用程序中使用AES进行加密。如何在C++中安全地存储AES加密密钥?
目前,我已经简单地定义了一个静态对称密钥,该密钥在客户端和服务器中都是硬编码的。
我有一种感觉,这不是很安全,因为通过反转/反汇编可执行文件来获得密钥不应该太困难。另一方面,我不明白Diffie-Hellman这样的密钥交换是如何解决问题的,因为密钥最终会存储在客户端的内存中,并且可能(可能)也会通过某种方法提取。
我到处都在阅读,包括加密和/或混淆密钥在内的所有内容都不安全。但是它如何安全地完成?
使用非对称密码算法,这意味着每个部分不知道对方的部分私钥。这是纯粹的数学。 – jweyrich
@jweyrich这不会通过反汇编来阻止关键发现,是吗? –
@jweyrich这样做只会阻止网络上的某个人找到密钥,而不会阻止某人访问该计算机。 – user66875