首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否应该隐藏初始化向量?

是否应该隐藏初始化向量?
EN

Stack Overflow用户
提问于 2016-12-04 15:30:04
回答 1查看 285关注 0票数 0

我正在创建一些用于保存文件的加密逻辑,并将应用AES加密。

实际上,我已经在在线加密器上实现了AES加密,而不是自己创建加密逻辑,所以我无法意识到IV的存在。

然而,我很难找到函数RijndaelManaged.GenerateIV()

我认为自动生成的IV应该存储在目标文件的某个地方,以便成功地解密文件,但是它应该像加密密钥一样被隐藏。

把“普通”IV附加到文件后面可以吗?如果不是,我怎样才能更好地存储和使用IV?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-05 19:06:27

对于每个使用密钥加密的明文,initialization vector (IV)应该是唯一的随机。然而,它不需要是秘密的。您可以将IV加到密码文本中,并以明文传送。

产生IV的原因是为了确保第一个块的加密是唯一的。例如,如果您使用AES/CBC用相同的密钥加密相同的消息,并且没有提供IV,则输出将是相同的。引入IV意味着密码文本的第一个块(16个字节)是唯一的,因此,整个消息密码文本将是不同的(由于CBC模式的操作)。有关更多细节,请参见维基百科关于分组密码运算方式的文章。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40960221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档