文章总结: 本文介绍了香农的完善保密性(PerfectSecrecy)理论及其数学证明。核心公式为Pr(M=m|C=c)=Pr(M=m),表明密文不提供任何关于明文的信息。文章证明了实现完善保密性的两个必要且充分条件:1)密钥空间大小≥明文空间大小(|K|≥|M|);2)对任意明文和密文,存在唯一密钥使得加密成立。通过贝叶斯公式和全概率公式,文章严谨地推导了这些条件的必要性和充分性,为一次一密密码系统提供了理论基础。 综合评分: 86 文章分类: 应用安全,网络安全,其他
密码学:香农一次一密是绝对安全的证明过程
豆豆
豆豆咨询
2025年12月15日 15:52 浙江
香农将“绝对安全” 正式命名为完善保密性(Perfect Secrecy),并通过数学推导明确了其唯一实现方案与边界条件。
a.关键公式:完善保密性的核心公式是
Pr(M=m | C=c) = Pr(M=m) (1)
其中:Pr (M=m):“没看到密文时,明文是 m” 的概率(先验概率);
Pr (M=m | C=c):“看到密文 c 后,明文是 m” 的概率(条件概率)。
该公式的含义:无论是否看到密文,猜中明文的概率都不变—密文没透露任何有用信息。
b. 证明的几个概念:
l明文相关的几个概念:
明文空间M:所有可能明文的集合;
概率分布Pr (M=m):每个明文出现的概率;
l密钥相关的几个概念:
密钥空间K:所有可能密钥的集合;
概率分布Pr (K=k):完美加密要求 “均匀随机”,即每个密钥的概率相等,Pr (K=k)=1/|K|;
关键约束:密钥需与明文独立(密钥的选择不依赖于明文内容)。
l密文相关的几个概念:
密文空间C:所有可能密文的集合(由加密函数生成,空间大小 | C | 通常与 | K | 一致);
加密函数:C=E (K,M),即密文由密钥和明文共同决定;
概率分布Pr (C=c):密文 c 的概率是 “所有明文 + 密钥生成 c” 的概率之和(通过全概率公式计算)。
c. 定义:香农对完善保密性的严格定义为:对任意明文m∈M、任意密文 c∈C(且 Pr (C=c)>0),均有 Pr (M=m | C=c) = Pr (M=m)。
说明:若公式成立,说明“密文 c 与明文 m 相互独立”—— 密文无法提供任何关于明文的信息,敌人看到 c 后,对 m 的认知没有变化;
d. 定理:香农证明:密码系统满足完善保密性,当且仅当以下两个条件同时成立:
条件1:密钥空间大小≥明文空间大小,即 | K|≥|M|;
条件2:对任意明文 m∈M、任意密文 c∈C,存在唯一密钥 k∈K,使得 E (k,m)=c(加密函数对固定 m 是 “双射”)。
l条件2的必要性证明:
根据完善保密性定义得公式(1),即Pr (M=m | C=c)=Pr (M=m),
结合贝叶斯公式:
Pr(M=m | C=c) = [Pr(C=c | M=m)·Pr(M=m)] / Pr(C=c) (2)
将定义代入公式(2),化简可得:
Pr(C=c | M=m) = Pr(C=c) (3)
该等式说明:“给定明文 m 时生成密文 c 的概率”,与 “密文 c 本身的概率” 完全一致,与明文 m 无关—这是后续推导的核心基础。
“双射性”指:对固定明文m,每个密文 c∈C 都对应唯一密钥 k∈K(即 “一个 c→一个 k”,无重复对应)。采用反证法:
假设存在两个不同密钥k₁≠k₂,使得 E (k₁,m)=E (k₂,m)=c(一个 c 对应两个不同的k)。由于密钥均匀随机,得
Pr (K=k₁)=Pr (K=k₂)=1/|K| (4)
则:
Pr (C=c | M=m) = Pr (E (K,m)=c | M=m) = Pr (K=k₁ 或 K=k₂) = 2/|K| (5)
根据公式(3) 的结论Pr (C=c|M=m)=Pr (C=c),得:
Pr (C=c)=2/|K| (6)
但通过全概率公式计算Pr (C=c):Pr (C=c) = Σ(对所有 m’∈M)Pr (M=m’)・Pr (C=c | M=m’)
由于Pr (C=c | M=m’)=Pr (C=c)=2/|K|(根据公式3,对任意m’ 成立),则:
Pr (C=c) = (2/|K|)・Σ(对所有 m’∈M)Pr (M=m’) = 2/|K|(因 ΣPr (M=m’)=1)
看似成立,但当| M|>1 时会出现矛盾:
若| M|=2(m₁和 m₂)、|K|=2(k₁和 k₂),则 “生成 c 的密钥仅有 k₁和 k₂”。当加密 m₁时用 k₁,加密 m₂时只能用 k₂(k₁已被 m₁占用),此时 Pr (C=c | M=m₁)=1/|K|=1/2≠2/|K|,与 “Pr (C=c|M=m’)=2/|K|” 矛盾。
因此,“一个 c 对应多个 k” 的假设不成立,加密函数对固定 m 必为双射 —— 条件 2 得证。
l条件1的必要性证明:
由条件2(双射性)可知:对固定明文 m,加密函数 E (k,m) 是 “从 K 到 C 的双射”,因此 | K|=|C|(双射的两个集合大小相等)。
同时,对任意密文c∈C,由条件 2(双射性):每个明文 m∈M 都对应唯一密钥 k∈K 生成 c—— 这意味着 c 至少对应 | M | 个不同的 k(每个 m 对应一个 k)。由于 k∈K,故 | K|≥|M|—— 条件 1 得证。
l充分性证明:
对固定明文m 和密文 c,由条件 2(双射性):存在唯一密钥 k₀∈K,使得 E (k₀,m)=c。因此:
Pr (C=c | M=m) = Pr (E (K,m)=c | M=m) = Pr (K=k₀) = 1/|K| (7)
(密钥均匀随机,Pr (K=k₀)=1/|K|)。
由全概率公式,结合公式7(对任意m’∈M,Pr (C=c | M=m’)=1/|K|):
Pr (C=c) = Σ(对所有 m’∈M)Pr (M=m’)・Pr (C=c | M=m’) = Σ(对所有 m’∈M)Pr (M=m’)・(1/|K|)
由于Σ(对所有 m’∈M)Pr (M=m’)=1(所有明文的概率和为 1),因此:
Pr(C=c) = (1/|K|)·1 = 1/|K| (8)
根据公式7-8,将Pr (C=c|M=m)=1/|K | 和 Pr (C=c)=1/|K | 代入贝叶斯公式:
Pr(M=m | C=c) = [Pr(C=c | M=m)·Pr(M=m)] / Pr(C=c) = [(1/|K|)·Pr(M=m)] / (1/|K|) = Pr(M=m) (9)
完全满足完善保密性的严格定义—— 条件 1 和条件 2 成立时,密码系统必为完美安全。
参考文献
[1] https://blog.csdn.net/openHiTLS/article/details/151817233
[2] Shannon, C. E. (1949). Communication Theory of Secrecy Systems. Bell System Technical Journal, 28(4), 656-715.
查看原文:《密码学:香农一次一密是绝对安全的证明过程》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论