跳转到内容

EAX模式:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
InternetArchiveBot留言 | 贡献
补救10个来源,并将0个来源标记为失效。) #IABot (v2.0.9.5
 
第1行: 第1行:


'''EAX 模式'''(encrypt-then-authenticate-then-translate<ref>{{Cite web|last=Bellare|first=M.|last2=Rogaway|first2=P.|last3=Wagner|first3=D.|date=2003-09-09|title=EAX: A Conventional Authenticated-Encryption Mode|url=https://eprint.iacr.org/2003/069|access-date=2017-08-15|publisher=[[International Association for Cryptologic Research|IACR]]}}</ref> )是一种[[分组密码工作模式]]。它是一种带有关联数据的认证加密 ( [[认证加密|AEAD]] ) 算法,旨在通过两遍方案同时提供消息的[[身份验证|认证]]和隐私([[认证加密]]),一次用于实现隐私,另一遍用于每个块的真实性。
'''EAX 模式'''(encrypt-then-authenticate-then-translate<ref>{{Cite web|last=Bellare|first=M.|last2=Rogaway|first2=P.|last3=Wagner|first3=D.|date=2003-09-09|title=EAX: A Conventional Authenticated-Encryption Mode|url=https://eprint.iacr.org/2003/069|access-date=2017-08-15|publisher=[[International Association for Cryptologic Research|IACR]]|archive-date=2024-04-16|archive-url=https://web.archive.org/web/20240416191241/https://eprint.iacr.org/2003/069|dead-url=no}}</ref> )是一种[[分组密码工作模式]]。它是一种带有关联数据的认证加密 ( [[认证加密|AEAD]] ) 算法,旨在通过两遍方案同时提供消息的[[身份验证|认证]]和隐私([[认证加密]]),一次用于实现隐私,另一遍用于每个块的真实性。


EAX 模式于 2003 年 10 月 3 日提交给 NIST,以取代CCM作为标准 AEAD 工作模式,因为 CCM 模式缺乏 EAX 的一些重要属性且更加复杂。
EAX 模式于 2003 年 10 月 3 日提交给 NIST,以取代CCM作为标准 AEAD 工作模式,因为 CCM 模式缺乏 EAX 的一些重要属性且更加复杂。
第8行: 第8行:
EAX 是一种灵活的,使用[[Nonce|随机数]]的两遍 AEAD 方案,对要使用的块密码原语和分组大小没有限制,并且支持任意长度的消息。[[訊息鑑別碼|身份验证标签]]长度可以任意调整,最多可达所使用的密码的块大小。
EAX 是一种灵活的,使用[[Nonce|随机数]]的两遍 AEAD 方案,对要使用的块密码原语和分组大小没有限制,并且支持任意长度的消息。[[訊息鑑別碼|身份验证标签]]长度可以任意调整,最多可达所使用的密码的块大小。


分组密码原语在[[分组密码工作模式|CTR 模式]]下用于加密,并作为OMAC通过 EAX 组合方法对每个块进行身份验证,这可以视作是被称为 EAX2 的更通用算法的特殊情况,这也在''EAX 操作模式''<ref>{{Cite web|last=Bellare|first=Mihir|last2=Rogaway|first2=Phillip|last3=Wagner|first3=David|date=April 2003|title=The EAX Mode of Operation (A Two-Pass Authenticated Encryption Scheme Optimized for Simplicity and Efficiency)|url=http://web.cs.ucdavis.edu/~rogaway/papers/eax.html|access-date=2017-08-15|website=Fast Software Encryption (FSE) 2004}}</ref>中进行了描述。 <ref>{{Cite web|last=Bellare|first=Mihir|last2=Rogaway|first2=Phillip|last3=Wagner|first3=David|date=April 2003|title=The EAX Mode of Operation (A Two-Pass Authenticated Encryption Scheme Optimized for Simplicity and Efficiency)|url=http://web.cs.ucdavis.edu/~rogaway/papers/eax.html|access-date=2017-08-15|website=Fast Software Encryption (FSE) 2004}}</ref>
分组密码原语在[[分组密码工作模式|CTR 模式]]下用于加密,并作为OMAC通过 EAX 组合方法对每个块进行身份验证,这可以视作是被称为 EAX2 的更通用算法的特殊情况,这也在''EAX 操作模式''<ref>{{Cite web|last=Bellare|first=Mihir|last2=Rogaway|first2=Phillip|last3=Wagner|first3=David|date=April 2003|title=The EAX Mode of Operation (A Two-Pass Authenticated Encryption Scheme Optimized for Simplicity and Efficiency)|url=http://web.cs.ucdavis.edu/~rogaway/papers/eax.html|access-date=2017-08-15|website=Fast Software Encryption (FSE) 2004|archive-date=2023-04-21|archive-url=https://web.archive.org/web/20230421065514/https://web.cs.ucdavis.edu/~rogaway/papers/eax.html|dead-url=no}}</ref>中进行了描述。 <ref>{{Cite web|last=Bellare|first=Mihir|last2=Rogaway|first2=Phillip|last3=Wagner|first3=David|date=April 2003|title=The EAX Mode of Operation (A Two-Pass Authenticated Encryption Scheme Optimized for Simplicity and Efficiency)|url=http://web.cs.ucdavis.edu/~rogaway/papers/eax.html|access-date=2017-08-15|website=Fast Software Encryption (FSE) 2004|archive-date=2023-04-21|archive-url=https://web.archive.org/web/20230421065514/https://web.cs.ucdavis.edu/~rogaway/papers/eax.html|dead-url=no}}</ref>


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


== 用途 ==
== 用途 ==
EAX 模式的修改版(所谓的'''EAX''''或 EAXprime)用于ANSI C12.22标准中,用于通过网络传输基于仪表的数据。 2012 年,Kazuhiko Minematsu、 Stefan Lucks 、Hiraku Morita 和 Tetsu Iwata 发表了一篇论文,证明了消息长于密钥的模式的安全性,但演示了使用该模式对短消息进行的简单攻击。作者表示,他们不清楚ANSI C12.22 协议是否易受攻击。 <ref>{{Cite web|last=Minematsu|first=Kazuhiko|last2=Lucks|first2=Stefan|last3=Morita|first3=Hiraku|last4=Iwata|first4=Tetsu|date=2013-05-14|title=Attacks and Security Proofs of EAX-Prime|url=https://eprint.iacr.org/2012/018|access-date=2017-08-15|publisher=IACR}}</ref> <ref>{{Cite letter|archive-url=https://web.archive.org/web/20130302121419/http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/comments/EAX'/minematsu.pdf|archive-date=2013-03-02|title=NEC security evaluation report on EAXprime <!-- title from PDF metadata -->|date=2012-01-14}} Via [https://web.archive.org/web/20120503135058/http://csrc.nist.gov/groups/ST/toolkit/BCM/comments.html Public Comments], Block Cipher Modes, csrc.nist.gov, archived 2012-05-03.</ref>
EAX 模式的修改版(所谓的'''EAX''''或 EAXprime)用于ANSI C12.22标准中,用于通过网络传输基于仪表的数据。 2012 年,Kazuhiko Minematsu、 Stefan Lucks 、Hiraku Morita 和 Tetsu Iwata 发表了一篇论文,证明了消息长于密钥的模式的安全性,但演示了使用该模式对短消息进行的简单攻击。作者表示,他们不清楚ANSI C12.22 协议是否易受攻击。 <ref>{{Cite web|last=Minematsu|first=Kazuhiko|last2=Lucks|first2=Stefan|last3=Morita|first3=Hiraku|last4=Iwata|first4=Tetsu|date=2013-05-14|title=Attacks and Security Proofs of EAX-Prime|url=https://eprint.iacr.org/2012/018|access-date=2017-08-15|publisher=IACR|archive-date=2023-12-06|archive-url=https://web.archive.org/web/20231206173217/https://eprint.iacr.org/2012/018|dead-url=no}}</ref> <ref>{{Cite letter|archive-url=https://web.archive.org/web/20130302121419/http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/comments/EAX'/minematsu.pdf|archive-date=2013-03-02|title=NEC security evaluation report on EAXprime <!-- title from PDF metadata -->|date=2012-01-14}} Via [https://web.archive.org/web/20120503135058/http://csrc.nist.gov/groups/ST/toolkit/BCM/comments.html Public Comments], Block Cipher Modes, csrc.nist.gov, archived 2012-05-03.</ref>


== 参见 ==
== 参见 ==
第42行: 第42行:
== 外部链接 ==
== 外部链接 ==


* [http://csrc.nist.gov/groups/ST/toolkit/BCM/index.html NIST:分组密码模式]
* [http://csrc.nist.gov/groups/ST/toolkit/BCM/index.html NIST:分组密码模式] {{Wayback|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/index.html |date=20151127064507 }}
* [http://web.cs.ucdavis.edu/~rogaway/papers/ccm.html 对 CCM 的批评](2003 年 2 月)
* [http://web.cs.ucdavis.edu/~rogaway/papers/ccm.html 对 CCM 的批评] {{Wayback|url=http://web.cs.ucdavis.edu/~rogaway/papers/ccm.html |date=20231204060618 }}(2003 年 2 月)


== 软件实施 ==
== 软件实施 ==


* [http://brg.a2hosted.com//oldsite/AES/ C++:Brian Gladman 博士的加密库实现 EAX 操作模式]
* [http://brg.a2hosted.com//oldsite/AES/ C++:Brian Gladman 博士的加密库实现 EAX 操作模式] {{Wayback|url=http://brg.a2hosted.com//oldsite/AES/ |date=20170816062806 }}
* [http://www.wolfgang-ehrhardt.de/crypt_en.html Pascal / Delphi:Wolfgang Ehrhardt 的加密库实现 EAX 操作模式]
* [http://www.wolfgang-ehrhardt.de/crypt_en.html Pascal / Delphi:Wolfgang Ehrhardt 的加密库实现 EAX 操作模式] {{Wayback|url=http://www.wolfgang-ehrhardt.de/crypt_en.html |date=20181217095442 }}
* [https://bouncycastle.org/releasenotes.html Java:BouncyCastle 加密库实现 EAX 操作模式]
* [https://bouncycastle.org/releasenotes.html Java:BouncyCastle 加密库实现 EAX 操作模式] {{Wayback|url=https://bouncycastle.org/releasenotes.html |date=20240509170128 }}
* [https://github.com/libtom/libtomcrypt/tree/develop/src/encauth/eax C: libtomcrypt 实现 EAX 操作模式]
* [https://github.com/libtom/libtomcrypt/tree/develop/src/encauth/eax C: libtomcrypt 实现 EAX 操作模式] {{Wayback|url=https://github.com/libtom/libtomcrypt/tree/develop/src/encauth/eax |date=20231204060613 }}


== 硬件实现 ==
== 硬件实现 ==

2024年5月28日 (二) 03:26的最新版本

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

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

加密与认证

[编辑]
Diagram representing encryption under EAX
表示 EAX 下加密的图表。消息为M,密钥为K,认证头为H,随机数为N,密文为C,认证标签为T。

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

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

上述论文中的参考实现使用 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 协议是否易受攻击。 [4] [5]

参见

[编辑]

参考

[编辑]
  1. ^ Bellare, M.; Rogaway, P.; Wagner, D. EAX: A Conventional Authenticated-Encryption Mode. IACR. 2003-09-09 [2017-08-15]. (原始内容存档于2024-04-16). 
  2. ^ Bellare, Mihir; Rogaway, Phillip; Wagner, David. The EAX Mode of Operation (A Two-Pass Authenticated Encryption Scheme Optimized for Simplicity and Efficiency). Fast Software Encryption (FSE) 2004. April 2003 [2017-08-15]. (原始内容存档于2023-04-21). 
  3. ^ Bellare, Mihir; Rogaway, Phillip; Wagner, David. The EAX Mode of Operation (A Two-Pass Authenticated Encryption Scheme Optimized for Simplicity and Efficiency). Fast Software Encryption (FSE) 2004. April 2003 [2017-08-15]. (原始内容存档于2023-04-21). 
  4. ^ Minematsu, Kazuhiko; Lucks, Stefan; Morita, Hiraku; Iwata, Tetsu. Attacks and Security Proofs of EAX-Prime. IACR. 2013-05-14 [2017-08-15]. (原始内容存档于2023-12-06). 
  5. ^ NEC security evaluation report on EAXprime (Letter). Letter to. 2012-01-14. (原始内容使用|archiveurl=需要含有|url= (帮助)存档于2013-03-02).  Via Public Comments, Block Cipher Modes, csrc.nist.gov, archived 2012-05-03.

外部链接

[编辑]

软件实施

[编辑]

硬件实现

[编辑]