Skip to content

选择明文安全

Chosen-plaintext attack security · CPA security

对手可自适应查询所选明文加密时仍不能区分挑战消息的安全定义。

条目类型
定义

形式陈述

对通用加密方案 Π=(Gen,Enc,Dec),IND-CPA 按挑战者—对手框架把“选择明文”能力与获胜事件具体化。先看私钥分支:在安全参数 λ 上,实验依次执行

  1. 挑战者生成 kGen(1λ)
  2. PPT 对手 A 可自适应查询加密 oracle Enck(),随后输出两条合法等长消息 (m0,m1)
  3. 挑战者均匀选择 b{0,1},计算 cEnck(mb) 并交给 A
  4. A 可继续查询加密 oracle,最后输出猜测 b

其优势定义为

AdvΠ,Aind-cpa(λ)=|Pr[b=b]12|.

若对每个 PPT 对手该优势都是可忽略函数,则称方案 IND-CPA 安全;实验中所有随机币均按通用概率空间约定计入。

对公钥方案,挑战者生成 (pk,sk)Gen(1λ) 并把 pk 交给攻击者;挑战密文为 Encpk(mb)。由于攻击者可以公开运行 Encpk,显式加密 oracle 是冗余的,但攻击能力与上述选择明文接口相同。

若方案把 nonce 作为显式输入,安全游戏还必须规定 nonce 由谁产生。常见 nonce-respecting 模型允许攻击者选择消息甚至选择 nonce,但禁止在同一密钥下重复使用 nonce;也有模型由加密算法随机生成 nonce。重复 nonce 属于模型外误用还是游戏内允许的攻击,必须随方案接口明确声明。

直觉

CPA 安全让攻击者先主动探索加密接口,再自行挑选最容易区分的一对消息。若在这种知识下仍不能判断挑战密文来自哪一条消息,方案就隐藏了加密 oracle 可能暴露的重复模式和结构。随机化或满足使用约束的唯一 nonce 通常必不可少,因为确定性加密允许攻击者预先加密候选并直接比较。等长限制则把密文长度这一通常公开的接口泄漏排除在挑战之外。

例子与边界

一次一密在均匀密钥只加密一条等长消息的一次性模型中达到完美保密,但同一密钥不能承担多次 IND-CPA oracle 查询;它是单密文安全的对照,不是可复用 CPA 方案。ElGamal则是在指定循环群的 DDH 假设下可证 IND-CPA 的随机化公钥方案;CDH 只说明共享群元素难计算,不能直接支持同一分布替换。对确定性方案,攻击者查询 m0 得到 c0,挑战提交 (m0,m1) 后只需比较挑战密文是否等于 c0,即可完全区分;ECB 模式也会泄露相同分组模式,不满足一般 IND-CPA。挑战消息必须等长,否则密文长度本身即可区分。

CPA 只处理加密查询,不保证密文不可篡改;流密码或 CTR 中翻转密文 bit 会可预测地翻转明文 bit。nonce-based 方案的安全定理只覆盖游戏允许的 nonce 行为:攻击者可选择消息,不等于可以违反 nonce 唯一性后仍要求原保证成立。若系统无法可靠维护这一条件,应改用明确提供 nonce-misuse resistance 的方案,而不是把误用排除在文档之外。

推论与应用

IND-CPA 是对称和公钥加密的基础机密性目标,也是构造 CCA 安全与认证加密的起点。不可区分性 提供游戏语言;私钥 SEM-CPA、公钥标准语义安全分别在对应模型下与 IND-CPA 等价,不能与私钥被动的 SEM-EAV 混为一谈。对称加密公钥加密 都可讨论 CPA,面对解密反馈或密文篡改则需提升到 CCA 安全、密文完整性或认证加密。

参考资料
  • Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020,Chs. 2–12。
  • Oded Goldreich, Foundations of Cryptography, Vol. 1, Cambridge University Press, 2001,Chs. 1–4。
关系图谱11 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

暂未标注直接上位概念。

下位 / 直接特例

类型化关系

限定层次等价