Cryptography

Cryptography

加密 / 认证模式

Wiki: Authenticated encryption

加密(encryption)

认证(Authenticate) 即 MAC (message authentication code)

  • Encrypt then Authenticate (EtA): used in IPsec。message = encrypt(plaintext) + mac( encrypt(plaintext) )
  • Authenticate then Encrypt (AtE) used in SSL / TLS; message = encrypt( plaintext + mac(plaintext) )
  • Encrypt and Authenticate (E&A) used in SSH. message = encrypt(plaintext) + mac(plaintext)

一般认为 EtA 安全性最好。

AtE : 理论上如果加密算法有问题,攻击者有可能修改密文内容使 mac 仍然合法。

E&A : 理论上 MAC 有可能泄露明文信息。

AtE 和 E&A 均必须先解密才能验证 mac。理论上可能受到 chosen-ciphertext 攻击。


Last update: 2021-04-20 09:25:30 UTC