AEAD這個縮寫根據不同的語境有兩個理解角度:認證加密機制,認證加密方式。
認證加密機制是指:一些用來完成認證加密工作的方法,拆分為認證和加密兩部分來做,先加密后加密先認證后認證都無所謂,整個過程或者其目標我們都稱之為AEAD。
認證加密方式是指具體的做法:這里我們將狹義的排除掉,認證與加密完全的獨立的方式。
下面討論的,都是排除之后的內容。也就是,當你看見AEAD算法時,一般它僅代表,以下提到的內容。
用一句話解釋AEAD就是一種帶有認證功能的加密方式。
Authenticated encryption (AE) and authenticated encryption with associated data (AEAD) are forms of encryption which
simultaneously assure the confidentiality and authenticity of data. These attributes are provided under a single, easy to use programming interface.
見wiki:https://en.wikipedia.org/wiki/Authenticated_encryption
常見的可以實現aead的加密模式有這些,wiki里提到的
namely OCB 2.0, Key Wrap, CCM, EAX, Encrypt-then-MAC (EtM), and GCM)
常見里面更常見的,就這兩個CCM和GCM
CCM和GCM分別是什么呢?就是分組加密的模式,與CBC是同一個級別的概念。
也就是說,這兩個分組加密的模式提供了認證功能。
所以當我們使用AES加密的時候,
AES-CCM和AES-GCM就是aead的算法。AES-CBC就需要另外提供認證算法。
這里有一個rfc,詳細講了CCM和GCM:https://tools.ietf.org/html/rfc5084