科普
|

维吉尼亚密码详解:不可破译的密码?

深入了解维吉尼亚密码(Vigenère Cipher)的历史起源、多表替换原理、加密解密规则以及如何破译。包含详细的维吉尼亚方阵使用教程和在线工具链接。

维吉尼亚密码(Vigenère Cipher)是密码学历史上最著名的多表替换密码。相比于简单的凯撒密码,它通过引入密钥词(Keyword)和多组替换表,大大提高了解密难度,曾被误称为“不可破译的密码”(le chiffre indéchiffrable)。

如果你需要立即体验维吉尼亚密码的加密或解密,可以使用我们的 维吉尼亚密码在线工具

1. 什么是维吉尼亚密码?

维吉尼亚密码是一种使用一系列凯撒密码组成密码字母表的加密算法。它属于**多表密码(Polyalphabetic Cipher)**的一种。

简单来说,凯撒密码是对所有字母进行相同的位移(例如都向后移 3 位),而维吉尼亚密码则是对明文中的不同字母进行不同的位移,位移量由密钥决定。

1.1 核心特征

特征说明
加密类型多表替换密码(Polyalphabetic Substitution Cipher)
核心工具维吉尼亚方阵(Vigenère Square)
安全性比凯撒密码高,但在19世纪被卡西斯基(Kasiski)找到破译方法
密钥需要一个关键词(Keyword)

2. 历史渊源

虽然这种密码以布莱斯·德·维吉尼亚(Blaise de Vigenère)的名字命名,但他实际上并不是唯一的发明者。

  • 1553年:吉奥万·巴蒂斯塔·贝拉索(Giovan Battista Bellaso)描述了一种基于密钥的早期多表密码。
  • 1586年:布莱斯·德·维吉尼亚在前人的基础上发明了更强的自动密钥密码(Autokey Cipher)。
  • 19世纪:由于历史的误读,这种多表密码最终被冠以维吉尼亚的名字,并被称为“不可破译的密码”,直到1863年弗里德里希·卡西斯基(Friedrich Kasiski)发表了通用的破译方法。

3. 工作原理:维吉尼亚方阵

维吉尼亚密码的核心是维吉尼亚方阵(Vigenère Square),也称为维吉尼亚表格。它由 26 行组成,每一行都是一个由凯撒密码组成的字母表,每一行的位移量比上一行增加 1。

3.1 维吉尼亚方阵图

  | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
--+----------------------------------------------------
A | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B | B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C | C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D | D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
...
Z | Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

3.2 加密过程

假设我们要加密以下信息:

  • 明文 (Plaintext): ATTACKATDAWN (Attack at dawn)
  • 密钥 (Key): LEMON

步骤 1:重复密钥 将密钥重复书写,直到与明文长度一致:

明文: A T T A C K A T D A W N
密钥: L E M O N L E M O N L E

步骤 2:查表加密 对于明文中的每个字母,在方阵中找到对应的列;对于密钥中的每个字母,找到对应的行。行列交叉处的字母即为密文。

  1. 第一个字母:明文 A (列) + 密钥 L (行) -> 查表得 L
  2. 第二个字母:明文 T (列) + 密钥 E (行) -> 查表得 X
  3. 第三个字母:明文 T (列) + 密钥 M (行) -> 查表得 F

以此类推,最终结果:

明文: A T T A C K A T D A W N
密钥: L E M O N L E M O N L E
密文: L X F O P V E F R N H R

3.3 解密过程

解密是加密的逆过程。

  1. 找到密钥字母对应的
  2. 在该行中找到密文字母。
  3. 该密文字母对应的列标题即为明文。

例如解密第一个字符 L,密钥是 L

  • L 行找到 L
  • L 所在的列标题是 A
  • 恢复明文 A

4. 维吉尼亚密码的破译

虽然维吉尼亚密码在长达三个世纪的时间里被认为是安全的,但它并非无懈可击。其主要弱点在于密钥的重复使用

4.1 卡西斯基试验 (Kasiski Examination)

1863年,弗里德里希·卡西斯基提出了一种破译方法。他发现,如果一段明文中重复出现的单词或短语,恰好对应了密钥的相同部分,那么密文中也会出现重复的片段。

通过分析密文中重复片段之间的距离,可以推测出密钥长度的倍数,进而确定密钥长度。

4.2 弗里德曼测试 (Friedman Test)

威廉·弗里德曼(William Friedman)发明了重合指数(Index of Coincidence, IC)法。通过计算密文的重合指数,可以更科学地估算密钥长度。

一旦确定了密钥长度,维吉尼亚密码就可以被分解为多个凯撒密码进行单独破译(频率分析法)。

5. 总结

维吉尼亚密码是古典密码学的一个里程碑。它展示了如何通过简单的替换规则组合出复杂的加密系统。虽然在现代计算机面前它已不再安全,但理解它对于学习现代密码学(如流密码、一次一密)至关重要。

想要亲自尝试解密或加密吗?试试我们的 维吉尼亚密码在线工具