AES 加密后还需要使用 HMAC 哈希吗?
aes 加密后是否需要使用 hmac 哈希
在研究 go 标准库的 aes 加密时,你可能会遇到一条提示:
// It's important to remember that ciphertexts must be authenticated // (i.e. by using crypto/hmac) as well as being encrypted in order to // be secure.
这表示在进行 aes 加密后,还应使用 hmac 哈希。在传输过程中,明文和哈希值会一同传输。接收数据后,会首先比较哈希值以检查明文是否被篡改。
然而,需要了解的是,加密算法存在多种模式。对于 aes 加密来说,常用的模式有 cbc 和 gcm。其中,gcm 是一种 aead 加密算法,同时满足信息安全的保密性和完整性要求。
在 go 中,除了 cbc 外,还提供了 gcm 模式。如果你看到上述提示,可能是因为你正在使用 cbc 模式,该模式不带认证机制。
以上就是AES 加密后还需要使用 HMAC 哈希吗?的详细内容,更多请关注其它相关文章!