AEAD這個縮寫根據不一樣的語境有兩個理解角度:認證加密機制,認證加密方式。html
認證加密機制是指:一些用來完成認證加密工做的方法,拆分爲認證和加密兩部分來作,先加密後加密先認證後認證都無所謂,整個過程或者其目標咱們都稱之爲AEAD。算法
認證加密方式是指具體的作法:這裏咱們將狹義的排除掉,認證與加密徹底的獨立的方式。ide
下面討論的,都是排除以後的內容。也就是,當你看見AEAD算法時,通常它僅表明,如下提到的內容。加密
用一句話解釋AEAD就是一種帶有認證功能的加密方式。spa
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_encryptioncode
常見的能夠實現aead的加密模式有這些,wiki裏提到的orm
namely OCB 2.0, Key Wrap, CCM, EAX, Encrypt-then-MAC (EtM), and GCM)
常見裏面更常見的,就這兩個CCM和GCMhtm
CCM和GCM分別是什麼呢?就是分組加密的模式,與CBC是同一個級別的概念。blog
也就是說,這兩個分組加密的模式提供了認證功能。ip
因此當咱們使用AES加密的時候,
AES-CCM和AES-GCM就是aead的算法。AES-CBC就須要另外提供認證算法。
這裏有一個rfc,詳細講了CCM和GCM:https://tools.ietf.org/html/rfc5084