RU EN ES 中文

维尔南密码

唯一在理论上不可破译的密码。
按位异或加密、一次性密码本,
以及它为什么至今仍是保密的黄金标准。

我们为什么需要它?

每一种古典密码(在现代密码系统兴起之前)都有一个弱点:它依赖确定性的算法和重复的密钥。统计分析(卡西斯基方法、重合指数)迟早会揭示出消息。

从根本上克服这一弱点的尝试,就是维尔南密码:加密建立在消息与密钥序列的按位组合之上。但真正重要的不是变换本身,而是密钥的性质。完美保密(绝对保密)只在这种方案的一个特例中才能实现——一次性密码本:密钥真正随机、长度不小于消息、由相互独立的元素组成、严格保密,并且只使用一次。如果所有这些条件都满足,就无法从密文推断出原始消息:对攻击者来说,每一种可能的明文看起来都同样可能。

1949 年,克劳德·香农从数学上证明了
一次性密码本——采用理想密钥的维尔南密码——的绝对安全性。据推测,这种方法用于关键的军事或外交通信,那里需要绝对的、可证明的安全性
(包括抵御量子计算机)。

它是如何工作的?

这种密码的核心是一个简单而巧妙的运算:异或(XOR)。消息和密钥都表示为比特串,消息的每一位都按照异或规则与密钥中对应的位组合。

消息比特(P)密钥比特(K)密文(C = P ⊕ K)
000
011
101
110
1

转换为比特

消息(文本)通过某种编码转换为二进制序列:在维尔南密码诞生的年代,标准是博多码(每个字符 5 位)。游戏中还可以选择 ASCII 和 UTF-8:要加密中文(或俄文),请选择 UTF-8——博多码和 ASCII 只能表示拉丁字母。

2

生成理想的密钥

生成一个随机比特串,长度与消息相同。每一位都真正随机(0 或 1 的概率各为 ½)。密钥只有发送方和接收方知道,并且只使用一次。

3

加密(异或)

C = P ⊕ K——按模 2 逐位相加。得到的密文可以通过公开信道发送:没有密钥,它看起来就像随机噪声。

例如:消息 101 ⊕ 密钥 011 = 密文 110。

4

解密

持有同一个密钥的鲍勃把密文与密钥做异或:P = C ⊕ K。由于 (P ⊕ K) ⊕ K = P,原始消息被毫无损失地恢复出来。

维尔南密码的数学
🔐 加密
C = P ⊕ K
例如(ASCII):
消息 H = 72 = 01001000
密钥(前 8 位)= 10110101
C = 11111101 = 253(不可打印字符)
🔓 解密
P = C ⊕ K
例如:
C = 11111101 ⊕ K = 10110101
= 01001000 → H
为什么它不可破译?
对密码分析者来说,密文中不包含任何关于原始消息的信息。只要选取合适的密钥,就能得到任何可能的明文。由于每个密钥的可能性都相同,攻击者无法区分真实的消息和虚假的消息。
密钥 = 消息长度 · 随机性 · 仅用一次
* 在交互式游戏中,你可以选择编码、生成随机密钥,并逐步或即时地观看异或运算。
关键结论: 完美的保密以完美保密的密钥为代价. 实际上,难点在于生成真正随机的密钥并安全地交付它们。因此一次性密码本只用于特别关键的通信,而日常的密码学依靠的是兼顾实用的折中算法(Kuznyechik、Magma、AES、ChaCha20)。

现在——真正的魔法

在交互式模拟中,你实际上会做什么?

游戏完整地展示了完美保密的原理:你会亲眼看到,没有密钥时密文就像随机噪声,而有了密钥,它立刻变回原始消息。

给好奇的人

历史背景

1917 年,AT&T 的工程师吉尔伯特·维尔南(Gilbert Vernam)为一种密码申请了专利:把电报纸带(5 位博多码)与打孔的密钥纸带做异或。后来,约瑟夫·莫博涅(Joseph Mauborgne)提出使用随机密钥;1949 年,克劳德·香农发表了《保密系统的通信理论》,严格证明了一次性密码本是完全安全的密码。

为什么它没有被普遍使用?

有三个实际问题:

  • 密钥长度:密钥必须至少和消息一样长。传输大量数据就需要巨大的密钥。
  • 密钥分发:密钥必须通过安全信道送到接收方手中。
  • 只能使用一次:重复使用密钥会破坏安全性——两段密文可以放在一起分析(C1⊕C2 = P1⊕P2)。

进一步学习的主题

量子密钥分发(QKD)

量子物理如何解决为一次性密码本安全传输密钥的问题。

真随机数发生器

基于热噪声、放射性衰变或量子效应的硬件随机数发生器。

密钥重用攻击

如果一个密钥被使用了两次,密码分析者如何仅凭密文恢复消息(C1⊕C2 = P1⊕P2)。

现代流密码

维尔南的原理如何在 Salsa20、ChaCha20 和 AES-CTR 中延续(生成伪随机密钥流)。

香农定理

完美保密的严格数学证明,表明密钥的熵必须至少与消息的熵一样大:H(K) ≥ H(M)。

密钥分发问题

为什么安全地交付长随机密钥仍然是一次性密码本在实际中的主要限制。

实际应用与相关记载

维尔南密码在以下文献中有所提及:

  • 苏联情报机构对一次性密码材料的使用。
    来源:克里斯托弗·安德鲁、瓦西里·米特罗欣,《米特罗欣档案》
  • 密码的历史与一次性方案的发展。
    来源:A. A. 巴巴什、G. P. 尚金,《密码学史》
  • 一次性密码本在情报和外交中的实际使用。
    来源:D. 卡恩,《破译者》
  • 苏联一次性密钥因重复使用而被攻破。
    来源:NSA,VENONA

现在你已经理解了它的数学基础,正是亲眼看看维尔南密码如何运作的好时机——一位一位地、直观地、互动地!

在模拟中,你可以选择编码、生成随机密钥、逐步加密消息,并观看数据传输的动画。