首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AES CTR模式是否将头信息存储在加密文件中?

AES CTR模式是否将头信息存储在加密文件中?
EN

Cryptography用户
提问于 2014-10-06 13:22:26
回答 3查看 1.1K关注 0票数 2

根据movable-type.co.uk网站,

在此实现中使用的“计数器模式”中,首先对随每个块更改的计数器进行加密,结果是对明文块按位进行xor处理,以获得密文块(因此明文实际上不是直接加密的)。计数器中包含一个唯一的“nonce”,以确保每次加密时都从相同的明文生成不同的密文;该数字存储在密文的头上,以便进行解密。1970年1月1日开始的秒数、毫秒时间戳和亚毫秒随机数的组合给出了一个非常有效的数字。(为了抵抗密码攻击,现在不需要是秘密的或不可预测的,但它必须是唯一的)。在这个实现中,初始块在前8个字节中保存nonce,在第二个8个字节中保存块计数(…)。

因此,它说,“现在存储在密码文本中,以启用解密”。对于每个AES CTR模式的实现都是这样吗?如果我们想要从中间解密某个块,我们是否必须首先从前8个字节中提取出nonce,然后从下面的8个字节中提取块计数?

EN

回答 3

Cryptography用户

回答已采纳

发布于 2014-10-06 13:39:48

我想问一下,对于每个AES CTR模式的实现,是否都是这样?

不一定非得这样。你可以把现在存放在任何地方。您甚至可以通过另一个渠道将其发送给收件人(例如,通过电子邮件发送密文,并使用SMS来传输当前消息)。在一开始就储存它有它的优点。例如,如果流数据,则可以立即开始解密。

如果我们想要从中间解密某个块,我们首先要从前8个字节中提取出现在的值,然后在第二个8个字节中进行块计数?

是的,如果你想在中间解密一个特定的块,你必须先提取这个值,然后找出正确的计数器值。然后你就可以解密了。

票数 8
EN

Cryptography用户

发布于 2014-10-06 13:42:07

如果您想要严格的无法区分,那么是的,您需要将IV (初始计数器)存储在某个地方。然而,有一些放松的模式,在实践中被用于像磁盘加密,在那里它通常是非常有用的解密东西“在中间”,就像你说的。例如,XEX使用从扇区派生的计数器和特定块的偏移量。解密只需要知道块的地址,这实际上就成了计数器。这在实践中是可行的(很多完整的磁盘加密解决方案使用它或类似的模式,XTS),但是两个写入同一块的加密将具有相同的计数器,并且不具有IND安全性。

票数 5
EN

Cryptography用户

发布于 2014-10-06 14:20:35

就像其他答案说的那样,情况并不总是如此。

另一种通常不被存储的情况是,当您有一个单一的使用密钥时,例如,作为某种混合加密方案的一部分。那么就根本没有必要使用一个“nonce”,而且它通常被认为是零值。

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

https://crypto.stackexchange.com/questions/19499

复制
相关文章

相似问题

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