这是一系列博客文章中最新的一篇,该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。这篇文章将从“安全定义和证明”一节开始,对认证加密进行简要概述。
AEAD
Luke在最近的一篇文章中描述了一些常用的块密码操作模式(ECB、CBC和CTR),这些模式只提供隐私(机密性)。我们还可能需要加密机制的完整性,即确保接收方接收到的消息是在没有意外更改或故意篡改的情况下发送的消息,而真实性则意味着接收方确信消息的来源。为了实现这些额外的目标,我们经常使用消息身份验证码(MAC),最广泛使用的是基于块密码和基于哈希函数的消息验证码(HMAC)。整理这两个原语中是重要的:得到一个IND-CCA安全方案我们需要遵循“Encrypt-then-MAC”范式与一个安全的加密方案和强不可伪造MAC,意味着计算密文的MAC(更多信息请看这里和这里关注为什么他们(Encrypt-and-MAC和MAC-then-Encrypt)应该避免一个)。“AD”指的是可变长度的相关数据,如信息包头,我们通常期望这个可选组件的真实性和完整性,而不是机密性。更多的阅读和例子,请参见Adam Langley关于这个话题的博客。
IND-CCA
下周的博客将会深入研究IND-CCA2安全在一个公钥加密的上下文。在真随机数下的IND-CCA2(和IND-CCA1)安全定义是给攻击者一个加密oracle的权利,加密oracle的密钥是固定的。输入消息m,返回一个加密过的Ek(m)或者返回一个Ek($|m|),同时也给一个解密oracle给出密文c,然后返回Dk( c )。然后攻击者进行区分。在2004年,Shrimpton展示了一种新的被称为IND-CCA3的概念,解密oracle对一个无法解密的oracle会返回一个不合法的符号,与之前考虑过的AE概念相同,其中隐私和真实性/完整性的概念分别进行研究。这一观察结果被纳入Rogaway 和 Shrimpton’s的论文中,研究密钥包装问题和确定性认证加密。有关关联数据影响的更多信息,请参见此处和此处。
CCM和GCM
实际上,大量组织使用CCM模式和GCM模式。CCM模式是一种计数模式和CBC-MAC使用MAC-then-Encrypt方法构造的。GCM是块密码的计数模式和基于多项式的哈希函数GHASH使用Encrypt-then-MAC构造的。CCM相对没有效率,每次需要两个块密码的调用,同时CCM也不是在线的(每次在处理消息之前需要知道消息的长度)。GCM在这篇文章里也有一些缺点:http://eprint.iacr.org/2011/202
CAESAR competition
凯撒密码竞赛目前正在进行中,目的是在经过彻底的学术公众审查的基础上,选择一组经过认证的密码进行推荐。主要目标之一是让更多的研究人员思考这样一个重要的主题,而第一轮提交的大量论文(性质各异)表明,这一目标已经实现。第二轮的候选名单预计将于下周公布,提交的名单可以在AE Zoo(https://aezoo.compute.dtu.dk/doku.php)找到,由DTU的一些研究人员管理。
Bristol 52
竞赛已经结束。(2020年)
原文链接:https://www.cnblogs.com/zhuowangy2k/p/12245563.html
转载链接:http://bristolcrypto.blogspot.com/2015/04/52-things-number-27-what-is-aead.html