首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CRC当时的XTS作为经过认证的加密有多让人放心?

CRC当时的XTS作为经过认证的加密有多让人放心?
EN

Cryptography用户
提问于 2019-10-23 13:27:54
回答 1查看 157关注 0票数 1

众所周知,"xz“压缩格式在压缩文件中嵌入一个校验和,以验证解压缩或独立测试期间的完整性。校验和的算法可以是: CRC32、CRC64和SHA256之一,默认为CRC64。

现在,我们将一个"xz“文件放入XTS加密的磁盘映像中。XTS模式是一种纯粹的保密模式,完全没有真实性或完整性。但是里面的"xz“文件有完整的特性。所以问题是:

当将"xz“的CRC64完整性与XTS操作模式的机密性相结合时,我们是否得到了一个安全的确定性认证加密(DAE,即k.a)。密匙包装)计划?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2019-10-23 15:23:54

不,除非您使用的是分泌MAC作为MAC,否则不会生成确定性身份验证密码。

你怎么打破它的?首先,查找一对消息m = m_1 \mathbin\| m_2m' = m'_1 \mathbin\| m'_2,以便使m_i \ne m'_i\operatorname{CRC}(m) = \operatorname{CRC}(m')。(在CRCs中发现碰撞并不难。)然后:

  1. 查询m_1 \mathbin\| m_2的oracle以找到密文c_1 \mathbin\| c_2 \mathbin\| c_3;假设CRC位于块c_3的明文中。
  2. 查询m'_1 \mathbin\| m_2的oracle以找到密文c'_1 \mathbin\| c_2 \mathbin\| c_{\mathit{garbage}}
  3. 查询m_1 \mathbin\| m'_2的oracle以找到密文c_1 \mathbin\| c'_2 \mathbin\| c_{\mathit{garbage}}

最后,将c'_1 \mathbin\| c'_2 \mathbin\| c_3作为一种伪造,因为以前没有发送到oracle的消息m'_1 \mathbin\| m'_2

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

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

复制
相关文章

相似问题

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