现代密码学3.7--CCA安全
博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些笔记供自己回忆,如有错误请指正。整理成一个系列现代密码学,方便检索。
- 第二章定义了完美安全及其对应的密码方案“一次一密”,
- 第三章3.1、3.2定义了计算安全,3.3介绍了PRG和基于PRG构造的满足计算安全的密码方案;
- 3.4节定义了CPA安全,3.5节介绍了PRF和基于PRF构造的满足CPA安全的密码方案,3.6节介绍了PRG和PRF构造的流密码和分组密码;
- 3.7节
- 将介绍一种新的安全性:CCA安全,这种安全性是之前我们构造的密码方案都不满足的,non-malleability/不可延展性是满足CCA安全的必要条件;
- 并以CBC分组密码为例,表示对于这种不满足CCA安全的密码方案,可以进行怎样的攻击。
CCA安全
跟CPA安全很类似,除了encryption oracle外,多了decryption oracle,只有一个要求:不能问oracle跟挑战密文一样的密文。
含oracle的实验过程 P r i v K A , Π c c a ( n ) PrivK^{cca}_{\mathcal{A},\Pi}(n) PrivKA,Πcca(n)
- 敌手 A \mathcal{A} A已知安全参数 1 n 1^n 1n,有一个连接 E n c k ( ⋅ ) Enc_k(\cdot) Enck(⋅)的oracle和连接 D e c k ( ⋅ ) Dec_k(\cdot) Deck(⋅)的oracle,输出等长明文 m 0 , m 1 m_0,m_1 m0,m1给加密者;
- 加密者任选 b ∈ { 0 , 1 } b\in\{0,1\} b∈{ 0,1},输出密文 c ← E n c k ( m b ) c\leftarrow Enc_k(m_b) c←Enck(mb)给敌手 A \mathcal{A} A, c c c是挑战密文;
- 敌手 A \mathcal{A} A在获得 c c c后,仍有一个连接 E n c k ( ⋅ ) Enc_k(\cdot) Enck(⋅)的oracle和连接 D e c k ( ⋅ ) Dec_k(\cdot) Deck(⋅)的oracle(可以根据 c c c调整,继续查询),输出猜测的 b ′ b' b′;
- 如果 b ′ = b b'=b b′=