我在我正在处理的应用程序中使用 RSA 加密,感觉非常安全......你有一个加密它的公钥和一个解密它的私钥。
现在我希望在不同的应用程序中使用 AES,并且客户端和服务器端具有相同 key 的想法困扰着我......服务器端 key 不应该对客户端保密吗?否则,如果加密 key 不是 secret ,那为什么还要用它加密呢?
也许我对加密了解不够,它看起来有点奇怪,我希望这里的人能为我澄清困惑...
非常感谢!
最佳答案
Isn't the server-side key should be kept secret from the client?
取决于他们是否相互信任,然后不,这不应该是 secret 。此外,如果您想使用对称密码术,它就不能是 secret 的,因为双方需要共享一个 secret key 。
Since otherwise, if the encryption key ain't secret that why bother encrypting with it anyway?
它是 secret ,只有服务器和客户端应该知道它——没有其他人知道。
请注意,通常使用的是一方生成一个 session key ,例如 AES key ,使用另一方的公钥对其进行加密 - 然后将加密 key 发送给另一方,另一方可以对其进行解密。然后这个AES key 就可以用来通信了。
关于encryption - 关于 AES 加密我不了解的事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33594696/