Skip to content

对称加密

Symmetric encryption · Secret-key encryption

发送方与接收方共享密钥的加密、解密算法体系。

条目类型
模型

形式陈述

对称加密是通用加密方案的私钥分支。对每个安全参数 λ,方案规定密钥空间 Kλ、消息空间 Mλ、密文空间 Cλ,并给出三算法组

Π=(Gen,Enc,Dec).

Gen 随机产生共享密钥 kKλ。把加密随机币显式写出时,先取 rRλ,再计算

c:=Enck(m;r)Cλ.

解密算法接收同一密钥与密文,输出明文或失败符号:

Deck(c)Mλ{}.

通常 GenEnc 是概率多项式时间算法,Dec 是确定性多项式时间算法。算法是否允许极小概率的合法解密失败,应由正确性条件明确说明,而不能藏在实现细节中。

正确性要求对所有 mMλ

PrkGen(1λ),r[Deck(Enck(m;r))=m]1εcorr(λ),

其中方案必须声明正确性误差 εcorr;完美正确性取零,允许极小解密失败的构造则给出相应参数界。

这个语法与正确性契约不预设任何机密性优势。攻击者成功概率是否可忽略,属于 CPA、CCA 或认证加密等下游安全定义。

nonce-based 加密是不同接口:

c:=Enck(N,m),Deck(N,c)Mλ{}.

N 通常公开且可由调用者选择,安全定义要求攻击者遵守 nonce-respecting 条件,例如同一密钥下不重用 N。正确性的量词覆盖所有合法 nonce 与消息。因此 nonce 不是“由加密算法内部随机抽取的 r”的另一种写法。

直觉

对称加密让发送方与接收方共享同一秘密密钥,用它把明文变成可公开传输的密文并恢复原文。它效率高、适合大数据,但密钥分发与多方密钥管理是主要系统成本。

正确性只保证合法密文能够解密,保密性必须由明确的安全实验定义。现代模型会把随机化或 nonce 规则以及选择明文能力写进接口;“密文看起来乱码”不是安全标准。

对称加密的共享密钥
例子与边界

一次一密是对称加密,但要求密钥与消息等长且只能安全使用一次。现代方案常用 nonce 或随机 IV;nonce 的唯一性、随机性要求由模式决定。仅有加密而无认证时,攻击者可能篡改密文而不知明文,因此“保密”不自动给出完整性。

AES-GCM、ChaCha20–Poly1305 都以共享密钥处理消息并输出密文与认证标签。若只用 CTR 模式,保密性可在 nonce 唯一时成立,但篡改不被检测;加上正确认证才形成 AEAD。

密钥长度、nonce 长度和块长度各自不同。口令不能直接当高熵密钥,应经带盐 KDF;密钥复用到加密、MAC、派生等多个用途时需域分离。备份、轮换和删除也属于整体安全语义。

推论与应用

对称加密是流密码、分组密码模式和认证加密的抽象接口。工程上通常采用 AEAD,把机密性、密文完整性及关联数据认证组合在明确的 nonce 使用规则下。DEM是混合加密中由近均匀会话密钥驱动的一次性或会话组件;它复用对称接口,却额外固定密钥来源、使用次数和与 KEM 组合所需的安全游戏,因此并非所有对称加密都自动是 DEM。

分组密码流密码 是主要实现路线,CPA 安全描述被动机密性。认证加密是协议中优先接口,公钥加密/密钥交换常只负责安全建立对称会话密钥;KEM–DEM 组合还要求认证封装、nonce 和上下文,而不是把任意对称方案接到任意公钥方案后即可。

参考资料
  • Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023,Chs. 2–6。
  • Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020,Chs. 2–4。
关系图谱7 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

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

上位 / 更一般

下位 / 直接特例

类型化关系

并列辨析