参考文献:
- [BN00] Bellare M, Namprempre C. Authenticated encryption: Relations among notions and analysis of the generic composition paradigm[C]//International Conference on the Theory and Application of Cryptology and Information Security. Berlin, Heidelberg: Springer Berlin Heidelberg, 2000: 531-545.
- [Rog02] Rogaway P. Authenticated-encryption with associated-data[C]//Proceedings of the 9th ACM Conference on Computer and Communications Security. 2002: 98-107.
- [CS03] Cramer R, Shoup V. Design and analysis of practical public-key encryption schemes secure against adaptive chosen ciphertext attack[J]. SIAM Journal on Computing, 2003, 33(1): 167-226.
文章目录
- Authenticated Encryption(AE)
- Authenticated-Encryption with Associated-Data(AEAD)
- IND-CCA DEM
Authenticated Encryption(AE)
[BN00] 研究了对称加密(privacy)和消息验证码(authenticity)的三种组合构造的 AE,给出了他们的安全性分析。
一些安全属性:
- INT-PTXT/CTXT:明文/密文的完整性
- IND-CPA/CCA:密文的不可区分性
- NM-CPA:密文的不可延展性
- WUF/SUF-CMA:验证码的强/弱不可伪造性
首先,是这些安全性之间的关系:
- INT-CTXT 蕴含着 INT-PTXT
- NM-CPA 蕴含着 IND-CPA
- INT-CTXT and IND-CPA 蕴含着 IND-CCA
- IND-CCA 并不蕴含 INT-PTXT or INT-CTXT
- INT-PTXT and IND-CPA 并不蕴含 NM-CPA
我们只考虑 IND-CPA 的对称加密,对于 WUF/SUF-CMA 的消息验证码,它们的三种组合方式的安全性。
E&M 的安全性(WUF/SUF-CMA):
- E&M 提供了 IND-PTXT
- E&M 并不提供 IND-CPA
- E&M 并不提供 IND-CCA and NM-CPA
- E&M 并不提供 IND-CTXT
MtE 的安全性(WUF/SUF-CMA):
- MtE 提供 IND-PTXT and IND-CPA
- MtE 并不提供 NM-CPA
- MtE 并不提供 IND-CCA and INT-CTXT
EtM 的安全性:
- EtM with WUF-CMA 提供 IND-CPA and INT-PTXT
- EtM with WUF-CMA 并不提供 NM-CPA
- EtM with WUF-CMA 并不提供 IND-CCA and INT-CTXT
- EtM with SUF-CMA 提供 INT-CTXT
- EtM with SUF-CMA 提供 IND-CCA and NM-CPA
因此,为了实现主动安全的 DEM,我们应当采用 EtM with IND-CPA and SUF-CMA 的组合方式。
Authenticated-Encryption with Associated-Data(AEAD)
[Rog02] 考虑了网络协议中,存在某些消息被明文传输(例如:报文头),但是依旧应当被保证完整性。形如 H ∥ M H\|M H∥M 的消息,如果采用上述 [BN00] 的 EtM-AE 构造,AEAD 很容易构造:用 IND-CPA 加密 M M M 为 C C C,然后用 SUF-CMA 校验 H ∥ C H\|C H∥C 为 T T T,最后发送 H ∥ C ∥ T H\|C\|T H∥C∥T 即可。然而,也存在一些集成的 AE 方案(紧凑、高效),但它们难以高效校验 AD 的完整性。
首先,我们给出 AEAD 的安全性定义(不可区分性、不可伪造性),
[Rog02] 提出了如何将 AE 转化为 AEAD 的两种方案。
- nonce stealing:假如 AE 本身需要输入 n n n 比特的 Nonce,但是实际仅使用了 n ′ n' n′ 比特的 Nonce(零填充),未使用的 h = n − n ′ h=n-n' h=n−n′ 比特可以被填充上 Header 信息。缺点是它仅仅支持少量比特的 Header,场景受限。
- ciphertext translation:更加通用的转换,使用一个 AXU-Hash 或者 PRF,使用 Header 来生成随机的 mask 作用到 AE 密文上。所谓的 AXU 是指 almost-xor-universal,对于带密钥的 Hash 函数,敌手给出 ( X 1 , X 2 , Δ ) (X_1,X_2,\Delta) (X1,X2,Δ) 使得满足 F K ( X 1 ) ⊕ F K ( X 2 ) = Δ F_K(X_1) \oplus F_K(X_2) = \Delta FK(X1)⊕FK(X2)=Δ 的优势可忽略。
IND-CCA DEM
[CS03] 指出,PKE 可以由 KEM 和 DEM 混合组成。
- KEM 一般先设计 IND-CPA PKE,然后使用 FO 转换,获得 IND-CCA 安全的 KEM
- DEM 就是上述的 AE 和 AEAD,使用 MAC 保证 IND-CPA 密文的 INT-CTXT,获得 IND-CCA 安全的 DEM