encryption - 关于 AES 加密我不了解的事情

标签 encryption aes

我在我正在处理的应用程序中使用 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/

相关文章:

java - 如何使 IvParameterSpec 随机但仍然解密

java - AES解密始终为空

c - AES CTR OpenSSL 命令行与 EVP_aes_128_ctr C 代码不匹配

python - python中的Rijndael加密

security - 为什么许多 SSL 证书供应商都宣传支持 128/256 位加密?

java - AES 加密,InvalidKeyException : Unsupported key size: 6 bytes?

Java RSA 解密 - 错误填充异常

c# - 加密 Web.Config

java - 如何在java中的AES加密中将加密数组截断为大小16

c# - 为什么我的解密文本中出现随机字符?