ESC
输入关键词搜索文章
目录

信息安全

信息论 · 末章
从熵和条件熵出发,理解什么叫真正不泄露信息

📌 学习目标

  • 掌握保密系统的随机变量模型 $M, K, E$
  • 掌握完善保密性的三个等价定义,并会证明其等价性
  • 理解完善保密性的必要条件 $H(K) \ge H(M)$
  • 会分析 One-Time Pad 为何达到完美安全
  • 理解 equivocation $H(M|E)$ 的含义及其随密文长度变化的规律
  • 掌握唯一解距离的直觉与公式 $n_0 \approx H(K) / (r \log |\mathcal{X}|)$
  • 了解信息论安全与计算安全的本质区别
末章
为什么信息论会走到安全问题

前面的章节关心两件事:

  • 如何把信息压得更短(信源编码)
  • 如何把信息传得更准(信道编码)

但通信里还有第三件事同样根本:如何让不该知道的人什么都得不到。这就把问题从"可靠传输"推进到"可靠且保密的传输"。

Shannon 在 1949 年的经典论文 Communication Theory of Secrecy Systems 中,用信息论语言刻画了什么叫"完全安全":即使攻击者拥有无限计算资源,只要他只看到密文,也得不到任何关于明文的信息。

这类安全叫无条件安全信息论安全。它和现代密码学常说的"计算安全"不同,后者依赖于攻击者算不动某些数学问题。

PDF信息论与信息安全的关系p.1
正在渲染 PDF 第 1 页…
信息论与信息安全的关系(PDF 第 1 页) · 打开原文
11.1
保密系统模型是什么

最基本的私钥保密系统包含四个随机对象:

  • $M$:明文(message),来自明文空间 $\mathcal{M}$
  • $K$:密钥(key),来自密钥空间 $\mathcal{K}$,通常与 $M$ 独立
  • $E$:密文(encrypted text 或 cryptogram),来自密文空间 $\mathcal{C}$
  • 加解密规则:$E=T_K(M)$$M=T_K^{-1}(E)$$T_K$ 为双射

一般默认:

  • 攻击者知道加密算法结构(Kerckhoffs 原则)
  • 攻击者不知道当前使用的具体密钥 $K$
  • 密钥 $K$ 在理想模型下与明文 $M$ 独立

从信息论角度看,加密像是在让外部观察者眼里的不确定性变大,解密则是在合法接收者处利用密钥把不确定性消除。

所以安全性问题可以自然转化成熵、条件熵、互信息问题:看到密文以后,攻击者对明文还剩多少不确定性?

PDF保密系统模型p.2
正在渲染 PDF 第 2 页…
保密系统模型(PDF 第 2 页) · 打开原文
11.2
完善保密性是什么

完善保密性(perfect secrecy)的定义有三种等价表述:

定义(三种等价形式)

条件一(概率形式):观察到密文后,明文分布完全不变

$$P(M=m\mid E=e)=P(M=m),\qquad \forall m\in\mathcal{M},\ \forall e\in\mathcal{C}$$

条件二(互信息形式):密文不携带任何关于明文的信息

$$I(M;E)=0$$

条件三(熵形式):看到密文后,对明文的不确定性没有减少

$$H(M\mid E)=H(M)$$

这是一个极强的要求。它不是"很难破解",而是"即使无限聪明也推不出来"。

PDF完善保密性定义p.4
正在渲染 PDF 第 4 页…
完善保密性定义(PDF 第 4 页) · 打开原文
11.3
三个等价条件:完整证明

这三个条件之间的等价关系在考试中常考,但不应该死记——要能自己推导。

定理:完善保密性的三个条件等价

$$P(M=m\mid E=e)=P(M=m)\quad \forall m,e\iff I(M;E)=0 \iff H(M\mid E)=H(M)$$

证明:$(1) \iff (2)$

由互信息定义:

$$I(M;E)=H(M)-H(M\mid E)$$

因此 $I(M;E)=0$ 当且仅当 $H(M\mid E)=H(M)$

证明:$(2) \iff (3)$

互信息为零等价于 $M$$E$ 统计独立,即 $P(M=m,E=e)=P(M=m)P(E=e)$

只要 $P(E=e)>0$,两边除以 $P(E=e)$ 得:

$$P(M=m\mid E=e)=P(M=m),\qquad \forall m,e$$

反之,若条件概率恒等于边缘分布,则 $P(M=m,E=e)=P(M=m)P(E=e)$,即 $M$$E$ 独立,从而 $I(M;E)=0$

实质含义:三种写法从不同角度刻画同一件事——密文对明文没有统计辨识力。密文的存在不改变攻击者对明文的认知分布。

11.4
密钥空间为什么必须足够大

Shannon 必要条件

若系统要达到完善保密性,则密钥熵至少不能小于明文熵:

$$H(K)\ge H(M)$$

在有限等概情形下,这常被理解成:

$$|\mathcal K|\ge |\mathcal M|$$

为什么?直觉上很简单:如果明文可能性比密钥还多,那么同一个密文背后不可能对所有明文都提供足够均匀的遮掩。换句话说,伪装手段不够多,就不可能把所有明文都"洗匀"。

这也解释了为什么真正的信息论安全很贵:你想无条件保护多少信息,就得准备差不多同量级的新鲜随机密钥。

例题:简单替代密码的密钥空间

题目:英文 26 个字母的简单替换密码,密钥空间大小是多少?是否满足完善保密性条件?

分析:

  • 明文空间 $|\mathcal{M}| = 26$(单个字母)
  • 密钥空间为字母表的一个排列,$|\mathcal{K}| = 26! \approx 4\times10^{26}$
  • 密钥熵 $H(K) \approx \log_2(26!) \approx 88$ bits
  • 明文熵 $H(M)$ 远小于此值(英文单字母熵约 4.2 bits)

虽然密钥空间很大,但问题是:简单替代不能达到完善保密性。因为密文的统计结构(字母频率)会暴露明文信息,$I(M;E)\neq 0$。密钥空间大只是必要条件,不是充分条件。

11.5
一次一密为什么能做到完美安全

One-Time Pad(一次一密)是信息论安全里最经典的方案。设明文和密钥都是长度为 $n$ 的二进制串,且密钥均匀随机、只使用一次。加密定义为

$$E=M\oplus K$$

解密则是 $M=E\oplus K$

命题:One-Time Pad 是完善保密的

证明:固定任意明文 $m$ 和密文 $e$,总存在唯一密钥 $k=m\oplus e$,使得 $e=m\oplus k$。因为密钥 $K$ 均匀分布,这个密钥出现的概率对所有 $m$ 都一样:

$$P(E=e\mid M=m)=P(K=m\oplus e)=2^{-n}$$

此值与 $m$ 无关,因此 $M$$E$ 独立,得到 $I(M;E)=0$,即完善保密性。

它之所以强,也正因为它代价极高:

  • 密钥必须和明文一样长:需要 $H(K)=n$ bits 的新鲜随机数
  • 密钥必须真正均匀随机:伪随机数不够安全
  • 密钥绝对不能复用:一旦复用,同一密钥加密两段消息会泄露它们的异或关系,$E_1\oplus E_2 = M_1\oplus M_2$,安全性立即崩掉
密钥空间分析:设明文长度为 $n$,字母表大小 $|\mathcal{X}|$。OTP 的密钥空间为 $|\mathcal{K}|=|\mathcal{X}|^n$,密钥熵 $H(K)=n\log|\mathcal{X}|$。而明文熵 $H(M)\le n\cdot H(M_1)$(每个符号的熵)。若要 $H(K)\ge H(M)$,需要 $n\log|\mathcal{X}| \ge n\cdot H(M_1)$,即 $|\mathcal{X}|^{1-r}\ge 2^{H(M_1)}$,其中 $r=1-H(M_1)/\log|\mathcal{X}|$ 为冗余度。OTP 通过让密钥长度等于明文长度,恰好满足这个条件。
PDFOne-Time Padp.5
正在渲染 PDF 第 5 页…
One-Time Pad(PDF 第 5 页) · 打开原文
11.6
equivocation:看到密文后还剩多少不确定性

Equivocation 通常指条件熵,常见有两种:

  • $H(M\mid E)$:看到密文后,明文还剩多少不确定性
  • $H(K\mid E)$:看到密文后,密钥还剩多少不确定性

它们是衡量"密文到底遮住了多少内容"的直接指标。

$H(M\mid E)=H(M)$,就是完善保密;若 $H(M\mid E)$ 很小,则说明密文已把明文基本暴露出来。

在可逆加密模型下,可推出恒等式:

恒等式

$$H(K\mid E)=H(M)+H(K)-H(E)$$

这说明看到密文后,密钥还剩多少不确定性,取决于明文熵、密钥熵和密文本身的熵。

特别要注意,equivocation 往往随密文长度增加而下降。密文越长,统计暴露越多,攻击者越可能把候选明文或候选密钥缩小到很少。

11.7
冗余度为什么会削弱保密性

自然语言、格式化文本、协议报文都不是随机均匀串,它们含有大量结构和冗余。例如英文里某些字母更常见,词法和语法也强烈限制了可能序列。

明文冗余度定义

$$r = 1 - \frac{H(M)}{n\log|\mathcal{X}|}$$

更精确到每个符号时:

$$r = 1 - \frac{H}{\log|\mathcal{X}|}$$

其中:

  • $H$:实际每符号熵
  • $\log|\mathcal{X}|$:同字母表下的最大可能熵

冗余度越大,说明明文越有规律,攻击者越容易利用统计结构排除错误候选。也就是说,安全性不仅取决于密钥,还取决于明文本身是否"好猜"。

这也是为什么真实密码分析经常结合语言模型、格式规则、协议头、固定字段等先验知识。信息论里,所有这些"可猜性"最终都在熵不足和冗余度过高上体现出来。

11.8
唯一解距离:从信息论角度推导

唯一解距离(unicity distance)描述的是:平均需要观察多长的密文,攻击者才能把密钥唯一确定。

唯一解距离公式

$$n_0 \approx \frac{H(K)}{r\log|\mathcal{X}|}$$

其中:

  • $H(K)$:密钥熵(bits)
  • $r$:明文冗余度($0\le r\le 1$
  • $|\mathcal{X}|$:明文字母表大小

推导思路:

每观察一个新的密文字符,攻击者大致会从明文冗余中提取出大约 $r\log|\mathcal{X}|$ bits 的信息(因为明文每符号的实际熵只有 $(1-r)\log|\mathcal{X}|$ bits,其余 $r\log|\mathcal{X}|$ bits 来自冗余结构)。

设攻击者观察到 $n$ 个密文字符后,对密钥的不确定性(即剩余候选密钥数的对数)大约为:

$$H(K\mid E) \approx H(K) - n\cdot r\log|\mathcal{X}|$$

$H(K\mid E) \approx 0$ 时,密钥基本唯一确定,此时:

$$n \approx \frac{H(K)}{r\log|\mathcal{X}|}$$

含义:

  • 密钥熵越大,唯一解距离越长,越安全
  • 明文冗余度越高,唯一解距离越短,越容易破译
  • $r=0$(完美随机明文),则 $n_0\to\infty$,即使短密文也无法唯一确定密钥
PDF唯一解距离p.9
正在渲染 PDF 第 9 页…
唯一解距离(PDF 第 9 页) · 打开原文
11.9
简单替代密码:equivocation 随密文长度下降

对简单字母替代加密,攻击者随密文长度增加,统计线索越来越多,equivocation 持续下降。

直观来看:

  • 密文很短时(如 $N=1$),字母频率统计不可靠,$H(M\mid E)$ 仍接近 $H(M)$,保密性较好
  • 密文中等长度(如 $N=8$),部分高频字母已可识别,$H(M\mid E)$ 开始下降
  • 密文较长(如 $N=15$),双字母搭配和常见词结构显露,$H(M\mid E)$ 显著降低
  • 密文很长(如 $N=50$),统计结构基本完全暴露,$H(M\mid E)\approx 0$,明文基本唯一确定

下图示意了 equivocation $H(M\mid E)$ 随密文长度 $N$ 下降的趋势(以英文单字母替代为例,参数作示意性取值):

简单替代密码:equivocation H(M|E) 随密文长度下降JSXGraph
简单替代密码:equivocation H(M|E) 随密文长度下降
要点:这个图说明"短时间看起来没泄露"不等于信息论安全。真实语言的高冗余度使得统计攻击会随样本数积累而变强。若明文本身接近随机($r\approx 0$),则 equivocation 下降极慢,这就是 One-Time Pad 特殊之处。
11.10
信息论安全与现代密码学的关系

这一章的核心不是要替代现代密码学,而是提供一个"最强安全标准"的参照系。

维度信息论安全(无条件安全)计算安全(密码学安全)
攻击者能力默认无限算力默认算力有限(PPT)
安全依据熵、互信息、统计独立计算困难性假设(如 RSA 假设)
代表方案One-Time PadAES、RSA、ECC 等
安全标准$I(M;E)=0$,不可破译破译代价超出攻击者收益
代价需要超长新鲜密钥可实用,但依赖假设
可操作性理论上优美,实际部署困难工业级实用

所以信息论安全像一把标尺:它告诉我们"绝对安全"意味着什么,也告诉我们为什么现实系统往往在安全性和可部署性之间做折中。

实际部署中,常见的做法是:用计算上安全的对称加密(AES 等)加密数据,同时用信息论安全的密钥交换机制(基于椭圆曲线的 ECDH)分发密钥,兼顾实用性与安全性。

📝 本章复习速查

  • 模型:保密系统三随机变量 $M, K, E$,加解密为双射变换
  • 完善保密性$P(M=m\mid E=e)=P(M=m)$ $\iff$ $I(M;E)=0$ $\iff$ $H(M\mid E)=H(M)$
  • 必要条件$H(K)\ge H(M)$(密钥熵不能小于明文熵)
  • One-Time Pad$E=M\oplus K$,密钥均匀随机、只使用一次,达到完善保密
  • OTP 密钥复用$E_1\oplus E_2 = M_1\oplus M_2$,泄露明文异或关系,安全性崩溃
  • Equivocation$H(M\mid E)$ 衡量看到密文后明文剩余不确定性;随密文增长下降
  • 明文冗余度$r=1-H/\log|\mathcal{X}|$,冗余度越高,越容易通过统计破译
  • 唯一解距离$n_0\approx H(K)/(r\log|\mathcal{X}|)$,密钥熵越大越安全,明文冗余度越高越危险

参考来源

  • PDF课程课件:末章 信息安全p.1
    正在渲染 PDF 第 1 页…
    课程课件:末章 信息安全(PDF 第 1 页) · 打开原文
  • Claude E. Shannon, Communication Theory of Secrecy Systems, Bell System Technical Journal, Vol. 28, No. 4, 1949
  • Thomas M. Cover & Joy A. Thomas, Elements of Information Theory, 2nd Edition, Wiley, 2006 — Chapter 12: Information Theory and Cryptography