认证加密(AE,Authenticated Encryption)

Posted rookieveteran

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了认证加密(AE,Authenticated Encryption)相关的知识,希望对你有一定的参考价值。

认证加密即在加密的同时提供身份认证功能,同时保证数据的机密性和完整性。绝大部分的认证加密方案是将加密及MAC结合。

AE方案构造框架

  • 发送者将(Nonce(或IV),Plaintext,Associated Data)作为输入,生成密文和Tag。其中,明文消息是保密的。加密阶段和MAC生成阶段使用不同的密钥。

技术图片

  • 接收者进行解密,并生成Tag‘,验证Tag‘是否等于Tag。若相等,则输出明文;否则认证失败。

技术图片

加密和认证的三种组合方式及其安全性

技术图片

选择明文攻击下的密文不可识别性 (IND-CPA)
选择明文攻击下的密文非可塑性 (NM-CPA)
选择密文攻击下的密文不可识别性 (IND-CCA)
选择密文攻击下的密文非可塑性 (NM-CCA)
明文完整性(INT-PTXT)
密文完整性(INT-CTXT)

Encrypt-and-MAC

(E’_{Ke,Km}(M) = E_{Ke}(M) || T_{Km}(M)) 如SSH

  • MAC是针对明文的,所以密文没有完整性,会存在选择密文攻击。如Breaking and proofvach修复SSH认证的加密方案的第4部分所示:Encode-then-Encrypt-and-MAC范例的案例研究
  • 可以验证明文的完整性。
  • 如果密码方案是可延展的,密文的内容可以被改变,但是在解密时我们应该发现明文是无效的。
  • 可能会显示有关MAC中明文的信息。

MAC-then-Encrypt

(E’_{Ke,Km}(M) = E_{Ke}(M)|| T_{Km}(M)) 如TLS

  • 不对密文提供任何完整性,因为直到我们解密消息都无法知道它是真的还是伪造的。
  • 明文完整性。
  • 如果密码方案具有延展性,则可能会将消息更改为显示有效并具有有效的MAC。
  • 在这里,MAC无法提供任何有关明文的信息,因为它是加密的。

Encrypt-then-MAC

(E’_{Ke,Km}(M) = E_{Ke}(M) || T_{Km}(E_{Ke}(M)))

  • 提供密文的完整性。假设MAC共享密钥没有被破坏,我们应该能够推断给定的密文是真的还是伪造的。例如,在公钥密码学中,任何人都可以向你发送消息。EtM确保你只能阅读有效的消息。
  • 明文完整性。
  • 如果密码方案具有延展性,我们不必如此担心,因为MAC会过滤掉这个无效的密文。
  • MAC不提供关于明文的任何信息,因为假设密码的输出是随机的,MAC也是如此。换句话说,我们没有从明文进入MAC的任何结构。

经典AE方案

NIST ISO/IEC 19772:2009 AE标准

  • OCB2.0
  • Key Wrap
  • CCM
  • EAX
  • Encrypt-then-MAC
  • GCM

Dual Counter Mode of Encryption(DCM)

DCM有两个版本,在2001年由NSA的Boyle和Salter提交给NIST,并很快被攻破(无法保证完整性)。DCM的其中一个版本如下,(C_{j+1})作为Tag

技术图片

对于其完整性的一个伪造攻击如下:

技术图片

One-pass design (OCB)

OCB是一种基于分组密码的工作模式,到目前为止它已有三个版本:OCB1(2001年)、OCB2(2003年)和 OCB3(2011年)。其中,OCB1 是IEEE 802.11i 的可选工作模式之一(也叫WRAP);OCB2 是NIST ISO/IEC 19772:2009标准之一。

P. Rogaway, M. Bellare, and J. Black. OCB: A block-cipher mode of operation for effcient authenticated encryption. CCS 2001.

下图为OCB1:

技术图片

CCM: CTR + CBC-MAC

CCM是NIST ISO/IEC 19772:2009标准之一。

D. Whiting, R. Housley, N. Ferguson. AES encryption & authentication using CTR mode & CBC-MAC. IEEE P802.11 doc 02/001r2, May 2002.

技术图片

GCM

GCM是NIST ISO/IEC 19772:2009标准之一。

D. McGrew, J. Viega. The security and performance of the Galois/CounterMode (GCM) of operation. INDOCRYPT 2004, LNCS vol. 3348, 2004.

技术图片

性能比较—— CCM, GCM, OCB3

T. Krovetz, P. Rogawayy. The Software Performance of Authenticated-Encryption Modes. FSE 2011.

技术图片






以上是关于认证加密(AE,Authenticated Encryption)的主要内容,如果未能解决你的问题,请参考以下文章

Springboot实现ENC加密

openssl enc(对称加密)

单向加密 对称加密 非对称加密

django redirect_authenticated_user

QT:AES-256-CBC 根据 PHP 代码在 C++ 中加密/解密

7.openssl enc