EAX 模式(encrypt-then-authenticate-then-translate[1] )是一種分組密碼工作模式。它是一種帶有關聯數據的認證加密 ( AEAD ) 算法,旨在通過兩遍方案同時提供消息的認證和隱私(認證加密),一次用於實現隱私,另一遍用於每個塊的真實性。

EAX 模式於 2003 年 10 月 3 日提交給 NIST,以取代CCM作為標準 AEAD 工作模式,因為 CCM 模式缺乏 EAX 的一些重要屬性且更加複雜。

加密與認證

Thumb
表示 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]

參見

參考

外部連結

軟件實施

硬件實現

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.