Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在Rijndael加密中对许多文件使用静态IV值可以吗?_.net_Vb.net_Encryption Symmetric_Rijndael - Fatal编程技术网

.net 在Rijndael加密中对许多文件使用静态IV值可以吗?

.net 在Rijndael加密中对许多文件使用静态IV值可以吗?,.net,vb.net,encryption-symmetric,rijndael,.net,Vb.net,Encryption Symmetric,Rijndael,我有一个关于Rijndael encryption中的IV的问题 我目前使用Rijndael的方法是对所有加密操作使用一对静态密钥和Iv(我的意思是我对计算机中所有受保护的文件使用这对密钥和Iv) 我听说对于每个Rijndael加密,IV必须是唯一的。这是真的吗?当前使用单个静态密钥和Iv对的方法有什么问题(如果有)?如果对同一消息加密两次,将得到相同的结果-通过改变密钥或Iv,情况就不会如此。(改变IV更简单,因为你可以用纯文本传输;它不涉及任何形式的秘密交换。) 这意味着如果你重复使用同一个

我有一个关于Rijndael encryption中的IV的问题

我目前使用Rijndael的方法是对所有加密操作使用一对静态
密钥
Iv
(我的意思是我对计算机中所有受保护的文件使用这对密钥和Iv)


我听说对于每个Rijndael加密,IV必须是唯一的。这是真的吗?当前使用
单个静态密钥和Iv对的方法有什么问题(如果有)?

如果对同一消息加密两次,将得到相同的结果-通过改变密钥或Iv,情况就不会如此。(改变IV更简单,因为你可以用纯文本传输;它不涉及任何形式的秘密交换。)

这意味着如果你重复使用同一个IV,它可以向攻击者提供信息:如果他们知道一条消息的内容,并且再次看到相同的加密数据,他们就会知道这是同一条消息


所以是的,我每次都会改变静脉注射。(在理想情况下,尽量避免在任何地方使用相同的密钥……这就像在多个网站上使用相同的密码:这意味着如果您在一个地方受到威胁,您将在任何地方都失去安全性。)

初始化向量将AES引擎初始化为特定状态。 使用动态IV的主要目标是,对同一文件进行两次连续加密不会产生相同的加密值。 要解密该文件,还需要使用同一个IV初始化AES引擎。因此,IV必须与加密文件一起存储


我认为初始化向量不会在您的用例中提供太多额外的安全性。当您加密可能受到措辞攻击(线路上的密码、卡号、PIN码)的数据时,拥有它很好。对于文件来说,这几乎是不可能的。

但是如果静态密钥被泄露(并且动态IV以纯文本传输),数据无论如何都可以解密,对吗?如果是这样的话,静脉注射是否静止似乎并不重要。@AlixAxel:在这种情况下没有帮助,但这不是唯一重要的攻击。如果密钥本身没有被泄露,但有一条明文消息被泄露,难道你不希望攻击者不知道以后是否会再次发送相同的明文消息吗?很好的解释,基本上它在哈希中的作用与salt相同。有些关联: