EAX模式

EAX 模式(encrypt-then-authenticate-then-translate )是一种分组密码工作模式。它是一种带有关联数据的认证加密 ( AEAD ) 算法,旨在通过两遍方案同时提供消息的认证和隐私(认证加密),一次用于实现隐私,另一遍用于每个块的真实性。

EAX 模式于 2003 年 10 月 3 日提交给 NIST,以取代CCM作为标准 AEAD 工作模式,因为 CCM 模式缺乏 EAX 的一些重要属性且更加复杂。

加密与认证
EAX 是一种灵活的,使用随机数的两遍 AEAD 方案,对要使用的块密码原语和分组大小没有限制,并且支持任意长度的消息。身份验证标签长度可以任意调整,最多可达所使用的密码的块大小。

分组密码原语在CTR 模式下用于加密,并作为OMAC通过 EAX 组合方法对每个块进行身份验证,这可以视作是被称为 EAX2 的更通用算法的特殊情况,这也在EAX 操作模式中进行了描述。

上述论文中的参考实现使用 AES-CTR进行加密,并结合 AES OMAC 进行身份验证。

性能
作为一种两遍方案,EAX 模式比基于相同原语的精心设计的单遍方案略慢一些。

EAX 模式有几个理想的特性,特别是:

  • 可证明安全性(取决于底层加密算法的安全性);
  • 最小化消息扩展,开销仅限于标签长度;
  • 使用CTR模式意味着密码只需为了加密而实现,简化了某些密码的实现(这对于硬件实现来说是极其理想的特性);
  • 该算法是“在线”的,这意味着可以使用常量内存处理数据流,无需预先知道总数据长度;
  • 该算法可以预处理静态关联数据(Associated Data, AD),这对于通信会话参数的加解密很有用(其中会话参数可以代表关联数据)。

值得注意的是,CCM 模式缺少最后 2 个属性(CCM 能够处理关联数据,但无法进行预处理)。

专利状况
EAX 模式的作者Mihir Bellare 、 Phillip Rogaway和David Wagner将该作品直接公开,并表示他们不知道涉及该技术的任何专利。因此,EAX 操作模式被认为是免费且不受任何使用限制的。

用途
EAX 模式的修改版(所谓的EAX'或 EAXprime)用于ANSI C12.22标准中,用于通过网络传输基于仪表的数据。 2012 年,Kazuhiko Minematsu、 Stefan Lucks 、Hiraku Morita 和 Tetsu Iwata 发表了一篇论文,证明了消息长于密钥的模式的安全性,但演示了使用该模式对短消息进行的简单攻击。作者表示,他们不清楚ANSI C12.22 协议是否易受攻击。

参见

  • 带有关联数据的验证加密(AEAD)、认证加密(AE)
  • CCM模式
  • 计数器模式(CTR)
  • (One-key MAC,OMAC)

参考
外部链接

软件实施

硬件实现

评论 (0)

  • 还没有评论,来抢沙发吧。