现代密码学3.7--CCA安全

现代密码学3.7--CCA安全

  • CCA安全
    • 含oracle的实验过程 P r i v K A , Π c c a ( n ) PrivK^{cca}_{\mathcal{A},\Pi}(n) PrivKA,Πcca(n)
    • CCA安全定义
  • 对不满足CCA安全的密码方案的攻击
    • 简单例子:对基于PRF构造的密码方案的攻击
    • 复杂例子:对CBC的攻击,padding-oracle
      • 求出 b b b
      • 求出 m m m的每一位

博主正在学习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) cEnck(mb)给敌手 A \mathcal{A} A c c c是挑战密文;
  • 敌手 A \mathcal{A} A在获得 c c c后,仍有一个连接 E n c k ( ⋅ ) Enc_k(\cdot) Enc

你可能感兴趣的:(现代密码学,密码学,数学)