信息论安全:从香农完美保密到现代无条件安全密码学

密码学概念 · 2026-07-14

概述

现代密码学的安全性几乎完全建立在计算复杂性假设之上——RSA 假设大整数分解是困难的,ECC 假设椭圆曲线离散对数是困难的。但"困难"是一个相对概念:随着算法进步和计算能力提升,今天"困难"的问题在明天可能变得容易。

信息论安全(Information-Theoretic Security)提供了一种截然不同的安全保证方式:它不依赖任何计算复杂性假设,而是基于数学上严格证明——即使攻击者拥有无限的计算能力和时间,也无法从密文中获取关于明文的任何信息。

这种安全性概念源于克劳德·香农(Claude Shannon)在1949年发表的里程碑论文《保密系统的通信理论》(Communication Theory of Secrecy Systems)。在这篇论文中,香农严格定义了"完美保密"的概念,并证明了实现它的充要条件——这就是著名的一次一密(One-Time Pad, OTP)方案。

理解信息论安全,就是理解密码学的安全性上限和理论边界,也是理解为什么现代密码学不得不依赖于计算安全假设的根本原因。

香农的完美保密定理

保密系统的形式化模型

香农将通信系统抽象为以下要素:

要素符号说明
明文空间$\mathcal{M}$所有可能明文消息的集合
密文空间$\mathcal{C}$所有可能密文的集合
密钥空间$\mathcal{K}$所有可能密钥的集合
加密函数$E_k: \mathcal{M} \rightarrow \mathcal{C}$使用密钥 $k$ 对明文 $m$ 加密
解密函数$D_k: \mathcal{C} \rightarrow \mathcal{M}$使用密钥 $k$ 对密文 $c$ 解密
一个密码系统必须满足正确性:对任意 $m \in \mathcal{M}$ 和任意密钥 $k \in \mathcal{K}$,有 $D_k(E_k(m)) = m$。

完美保密的定义

定义(完美保密):一个密码系统具有完美保密性,如果对任意明文 $m \in \mathcal{M}$ 和任意密文 $c \in \mathcal{C}$,满足:

$$\Pr[M = m \mid C = c] = \Pr[M = m]$$

直观含义:即使攻击者截获了密文 $c$,他们对明文的后验概率分布与先验概率分布完全相同——密文零信息泄露

等价表述(通过贝叶斯定理):对任意 $m_1, m_2 \in \mathcal{M}$ 和任意 $c \in \mathcal{C}$,

$$\Pr[C = c \mid M = m_1] = \Pr[C = c \mid M = m_2]$$

即:攻击者观察密文 $c$ 后,无法判断它是从 $m_1$ 还是 $m_2$ 加密而来。

香农定理(1949)

定理:设密码系统 $(\mathcal{M}, \mathcal{C}, \mathcal{K})$ 满足 $|\mathcal{M}| = |\mathcal{C}| = |\mathcal{K}|$。则该系统具有完美保密性的充要条件是:

  • 每个密钥等概率选取($\Pr[K = k] = 1/|\mathcal{K}|$,对所有 $k$)
  • 对每个明文 $m$ 和密文 $c$,存在唯一一个密钥 $k$ 使得 $E_k(m) = c$
证明思路

*必要性*:假设完美保密成立但对某 $(m, c)$ 存在两个不同密钥 $k_1, k_2$ 使得 $E_{k_1}(m) = E_{k_2}(m) = c$,则 $\Pr[C = c \mid M = m] \geq \Pr[K = k_1] + \Pr[K = k_2] > \Pr[K = k_1] = \Pr[C = c \mid M = m']$(对某个使密钥唯一的 $m'$),导出矛盾。

*充分性*:若每个 $(m, c)$ 对应唯一密钥,则 $\Pr[C = c \mid M = m] = \Pr[K = k(m,c)] = 1/|\mathcal{K}|$,与 $m$ 无关,因此后验概率等于先验概率。∎

一次一密(One-Time Pad)

构造

一次一密由吉尔伯特· Vernam(Gilbert Vernam)在1917年提出,但在1949年之前一直缺乏严格的安全性证明。香农的贡献在于给出了完美的数学证明

CODE
明文:     m = m₁ m₂ ... mₙ  (n 比特)
密钥:     k = k₁ k₂ ... kₙ  (n 比特,真随机)
密文:     c = c₁ c₂ ... cₙ  (cᵢ = mᵢ ⊕ kᵢ)
解密:     mᵢ = cᵢ ⊕ kᵢ

为什么 OTP 满足完美保密

对任意 $m \in \{0,1\}^n$ 和 $c \in \{0,1\}^n$,存在唯一密钥 $k = m \oplus c$ 使得 $c = m \oplus k$。由于密钥 $k$ 在所有 $2^n$ 个 $n$ 比特串上均匀分布,有:

$$\Pr[C = c \mid M = m] = \Pr[K = m \oplus c] = \frac{1}{2^n}$$

该概率与明文 $m$ 无关,因此满足完美保密的定义。

OTP 的致命约束

完美保密的三个必要条件在实际中极为苛刻:

  • 密钥长度 ≥ 明文长度:每个明文比特需要一个密钥比特
  • 真随机性:密钥必须来自真随机源(TRNG),不能是伪随机生成器(PRNG)
  • 一次一用:密钥绝不可重复使用
密钥重用攻击:如果同一密钥 $k$ 被用于加密 $m_1$ 和 $m_2$,则 $c_1 \oplus c_2 = m_1 \oplus m_2$,泄露明文之间的关系。在已知明文攻击下,攻击者可直接恢复另一明文。

工程困境

OTP 的核心问题在于密钥分发:如果发送方能够将足够长的安全密钥传递给接收方用于加密通信,那么他们同样可以安全地传递明文本身。这就是为什么 OTP 虽然在理论上"不可破解",但在实际应用中几乎完全局限于极端场景:

  • 战争时期的外交热线(莫斯科-华盛顿热线的早期使用)
  • 军事指挥系统中预先分发的密钥本(物理信使传递)
  • 量子密钥分发(QKD)的安全基础

一次一密的安全证明

信息论度量

香农引入信息熵来量化不确定性:

$$H(M) = -\sum_{m \in \mathcal{M}} \Pr[M = m] \log_2 \Pr[M = m]$$

条件熵 $H(M \mid C)$ 表示观察到密文 $M$ 后 $C$ 的剩余不确定性。互信息 $I(M; C) = H(M) - H(M \mid C)$ 度量密文泄露的关于明文的信息量。

等价刻画:完美保密的等价条件是 $I(M; C) = 0$(互信息为零),或者说 $H(M \mid C) = H(M)$(密文不降低明文的不确定性)。

密钥下界定理

定理(Shannon, 1949):任何具有完美保密的密码系统必须满足:

$$H(K) \geq H(M)$$

即密钥的熵不小于明文的熵。在明文均匀分布的情况下,这意味着 $|\mathcal{K}| \geq |\mathcal{M}|$。

推论:对于 $n$ 比特明文,密钥至少需要 $n$ 比特。这从信息论角度证明了 OTP 的密钥长度是最优的。

计算安全 vs 无条件安全

安全性层次

安全级别依赖假设典型方案安全保证
完美保密(无条件安全)OTP数学严格,无限安全
信息论安全(统计安全)Shamir 秘密共享、BB84 QKD信息论界限
计算安全P ≠ NP 等AES-256, RSA-2048对多项式时间攻击者安全
实际安全实现无缺陷具体系统实现依赖实现质量

为什么现代密码学依赖计算安全

OTP 的密钥分发困境迫使密码学退而求其次:用短密钥加密长明文,同时依赖计算复杂性来保证"实际上不可破解"。

例如:

  • AES-256 用 256 比特密钥加密 GB 级别的数据
  • RSA-2048 用约 270 字节公钥提供约 112 比特的安全强度
  • 这些方案的"安全"是指:在当前可预见的计算能力下,暴力破解需要 $2^{112}$ 次运算
关键区别:计算安全性的否定只需要找到一个多项式时间算法即可;完美保密的否定需要数学证明(而 OTP 的不可破解性已经被香农严格证明)。

Wyner 窃道信道模型

模型定义

1975 年,Aaron Wyner 在论文"The Wire-Tap Channel"中提出了一个重要的扩展:即使没有预先共享的秘密密钥,通过物理信道的特性也可以实现信息论安全

CODE
发送方(A) -----主信道(B)-----> 接收方(B)
                |
          窃听者(E)
                |
           窃道信道(E)

Wyner 假设窃道信道是主信道的降级版本(例如更高噪声),则发送方可以设计编码方案,使接收方能正确解码而窃听者获得的信息量趋近于零。

保密容量

Wyner 证明存在正的保密容量 $C_s$( secrecy capacity):

$$C_s = \max_{P_X} [I(X; Y) - I(X; Z)]$$

其中 $X$ 是发送符号,$Y$ 是合法接收方收到的符号,$Z$ 是窃听者收到的符号。只要传输速率 $R < C_s$,就能实现无条件安全通信。

现代发展

  • MIMO 安全:利用多天线的空间自由度,向窃听者的方向发送"人工噪声"
  • 物理层安全:Wyner 模型的工程实现,5G/6G 中的安全增强
  • 局限性:依赖信道条件的假设,实际中难以严格满足

量子密钥分发(QKD)

原理

量子密钥分发(Quantum Key Distribution)提供了一种基于物理原理(而非数学假设)的密钥协商方式:

  • BB84 协议(Bennett & Brassard, 1984):利用量子不可克隆定理和测量塌缩原理
  • E91 协议(Ekert, 1991):基于量子纠缠和 Bell 不等式

安全性基础

QKD 的安全性基于量子力学基本原理

  • 不可克隆定理:未知量子态不能被完美复制
  • 测量塌缩:对量子态的测量会改变其状态
  • No-signaling 原理:信息不能超光速传输

安全性结论

  • 信息论安全:严格证明,不依赖计算假设
  • 前提条件:需要Authenticated classical channel(认证经典信道,通常用信息论安全的 MAC,如 Wegman-Carter,本身需要短密钥)
  • 实际限制:传输距离(光纤 ~100-200 km)、密钥速率(Mbps 级别)、需可信节点中继
QKD 可以被理解为一种"扩展 OTP 密钥"的机制:用量子物理实现安全的密钥分发,再用 OTP 实现完美保密通信。

秘密共享中的无条件安全

Shamir 门限方案的无条件安全性

Shamir 的 $(t, n)$-门限方案(1979)是信息论安全的典型例子:

$$s(x) = a_0 + a_1 x + a_2 x^2 + \cdots + a_{t-1} x^{t-1} \pmod p$$

其中 $a_0 = s$(秘密),其他系数随机选取。将 $(i, s(i))$ 分发给 $n$ 个参与方。

无条件安全性证明:对于任意 $t-1$ 个份额,存在恰好 $p$ 个不同的多项式(对应 $p$ 个不同的秘密值),每个秘密值等概率出现。因此:

$$H(S \mid S_1 = s_1, \ldots, S_{t-1} = s_{t-1}) = H(S)$$

即互信息为零——没有任何关于秘密的信息泄露。

与其他方案的对比

方案安全级别基础假设
Shamir 秘密共享无条件安全多项式插值理论
Blakley 超平面方案无条件安全超平面交理论
RSA 加密计算安全大整数分解困难性
OTP无条件安全上述香农定理

现代无条件安全的应用场景

1. 分布式密钥管理

在加密货币托管、企业根密钥管理中,无条件安全的秘密共享是核心组件:

  • Shamir 方案:将根密钥拆分为多份,分存于不同地理位置
  • 可验证秘密共享(VSS):Feldman VSS、Pedersen VSS 提供可验证性
  • proactive secret sharing:份额周期性刷新,防御长期攻击

2. 安全多方计算(MPC)

某些 MPC 协议可以实现无条件安全(诚实多数假设下):

  • BGW 协议:基于 Shamir 秘密共享,在诚实多数下无条件安全
  • MPC-in-the-Head:将 MPC 证明作为零知识证明的基础

3. QKD 网络

  • 中国:"京沪干线"(2017 年开通,2000 公里)
  • 欧洲:EuroQCI 计划
  • 卫星:墨子号卫星(2016 年)

4. 流式密码学的理论基础

虽然流密码本身是计算安全的,但其理论模型是无条件安全的——"理想流密码"等价于 OTP。所有流密码的设计目标就是尽可能接近 OTP 的性能特征。

工程取舍:何时需要无条件安全

需要无条件安全的场景

  • 军事和外交通信:信息保密期可能长达 50-100 年
  • 长期存档:需要保护数据几十年
  • 密钥备份:根密钥的长期保护
  • 极端对抗环境:对手可能拥有未知的计算能力(包括量子计算机)

使用计算安全的场景

  • 互联网通信:TLS、Signal 等(假设量子计算机可破解,但有 PQC 迁移规划)
  • 商业应用:AES-256 在当前和可预见的未来已足够安全
  • 短期信息:保密期在几年到几十年以内

混合设计模式

现代密码系统常采用混合设计

  • 短期用计算安全:TLS 1.3 握手后的数据传输
  • 长期用无条件安全:Shamir 份额保护的根密钥
  • 过渡期用双重保护:PQC 混合模式(ECDH + ML-KEM)

总结

香农在1949年证明的不仅是 OTP 的完美保密性,更是所有密码系统的安全性边界

  • 完美保密需要 $|\mathcal{K}| \geq |\mathcal{M}|$ — 密钥长度不能短于明文
  • 计算安全是工程妥协 — 用"实际上不可破解"代替"数学上不可破解"
  • 信息论安全无处不在 — 秘密共享、QKD、物理层安全都有无条件安全的身影
  • 设计密码系统需要明确安全模型 — 知道你的安全保证基于什么假设
理解信息论安全,就是理解密码学的"终极不可能三角":完美保密、密钥分发便利性、长明文加密三者不可兼得。现代密码学的每一次进步,都是在这个三角中寻找更好的平衡点。

参考来源

  • Shannon, C.E. (1949). "Communication Theory of Secrecy Systems". *Bell System Technical Journal*, 28(4), 656-715.
  • Vernam, G.S. (1926). "Cipher Printing Telegraph Systems For Secret Wire and Radio Telegraphic Communications". *AIEE Transactions*, 45, 295-301.
  • Wyner, A.D. (1975). "The Wire-Tap Channel". *Bell System Technical Journal*, 54(8), 1355-1387.
  • Bennett, C.H. & Brassard, G. (1984). "Quantum cryptography: Public key distribution and coin tossing". *Proceedings of IEEE International Conference on Computers, Systems and Signal Processing*, 175-179.
  • Shamir, A. (1979). "How to Share a Secret". *Communications of the ACM*, 22(11), 612-613.
  • Ekert, A.K. (1991). "Quantum cryptography based on Bell's theorem". *Physical Review Letters*, 67(6), 661-663.
  • Goldreich, O. (2004). *Foundations of Cryptography: Volume 2, Basic Applications*. Cambridge University Press.
  • Nielsen, M.A. & Chuang, I.L. (2010). *Quantum Computation and Quantum Information*. Cambridge University Press.
  • Cramer, R., Damgård, I., & Nielsen, J.B. (2015). *Secure Multiparty Computation and Secret Sharing*. Cambridge University Press.
  • Mermin, N.D. (2007). *Quantum Computer Science: An Introduction*. Cambridge University Press.