解密时是否必须保存初始化向量?

use*_*935 4 c# encryption aes

我正在使用 AES 进行文本加密。我将密钥和加密文本保存在文件中,但是我应该如何处理 IV?

Maa*_*wes 7

IV 通常与密文一起存储。给 IV 加上前缀很常见,因为在执行解密时一开始就需要 IV。由于 IV通常为一个块大小,因此如果您知道所使用的分组密码,则不必存储 IV 的大小。请注意,AES-GCM(一种流行的认证加密模式)对于 12 字节 IV 最为有效。

请注意,IV 是二进制的,通常由随机字节组成。IV 和密文都不可能包含有效字符。如果您需要将 IV 和密文存储为文本,则需要一种编码格式,例如基数 64 或不太常见的十六进制。


usr*_*usr 6

是的,您必须提供相同的 IV 来进行加密和解密。