EAX模式
EAX 模式(encrypt-then-authenticate-then-translate[1] )是一種分組密碼工作模式。它是一種帶有關聯數據的認證加密 ( AEAD ) 算法,旨在通過兩遍方案同時提供消息的認證和隱私(認證加密),一次用於實現隱私,另一遍用於每個塊的真實性。
EAX 模式於 2003 年 10 月 3 日提交給 NIST,以取代CCM作為標準 AEAD 工作模式,因為 CCM 模式缺乏 EAX 的一些重要屬性且更加複雜。
加密與認證
[編輯]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]
參見
[編輯]- 帶有關聯數據的驗證加密(AEAD)、認證加密(AE)
- CCM模式
- 計數器模式(CTR)
- One-key MAC(One-key MAC,OMAC)
參考
[編輯]- ^ Bellare, M.; Rogaway, P.; Wagner, D. EAX: A Conventional Authenticated-Encryption Mode. IACR. 2003-09-09 [2017-08-15]. (原始內容存檔於2024-04-16).
- ^ 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).
- ^ 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).
- ^ 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).
- ^ 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.
外部連結
[編輯]軟體實施
[編輯]- C++:Brian Gladman 博士的加密庫實現 EAX 操作模式 (頁面存檔備份,存於網際網路檔案館)
- Pascal / Delphi:Wolfgang Ehrhardt 的加密庫實現 EAX 操作模式 (頁面存檔備份,存於網際網路檔案館)
- Java:BouncyCastle 加密庫實現 EAX 操作模式 (頁面存檔備份,存於網際網路檔案館)
- C: libtomcrypt 實現 EAX 操作模式 (頁面存檔備份,存於網際網路檔案館)