🔑 维吉尼亚密码
简介
维吉尼亚密码(Vigenère Cipher)是一种多表代替密码,由布莱斯·德·维吉尼亚于 16 世纪发明。它使用一个关键词来决定每个字母的替换规则,曾被称为"不可破解的密码"。
维吉尼亚方阵
维吉尼亚密码使用一个 26×26 的字母方阵,每一行都是字母表向右循环移位的结果。
简化方阵示例(前 5 行):
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
E 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 D
...
加密方法
明文:HELLO WORLD
密钥:KEY
步骤:
1. 将密钥重复到与明文等长:KEYKEYKEYKE
2. 对每个字母,使用密钥字母对应的行进行替换
H(行 K) → R
E(行 E) → I
L(行 Y) → J
L(行 K) → V
O(行 E) → S
密文:RIJVS ...
数学公式
加密:C[i] = (P[i] + K[i]) mod 26
解密:P[i] = (C[i] - K[i]) mod 26
其中:
- P[i] 是明文字母的数字表示 (A=0, B=1, ...)
- K[i] 是密钥字母的数字表示
- C[i] 是密文字母的数字表示
历史背景
维吉尼亚密码在 1863 年之前一直被认为是不可破解的。直到弗里德里希·卡西斯基发表了破解方法,以及威廉·弗里德曼开发了重合指数法。
破解方法
- 卡西斯基试验:寻找密文中重复的序列,推断密钥长度
- 弗里德曼试验:使用重合指数确定密钥长度
- 频率分析:确定密钥长度后,将密文分成若干组,每组用频率分析破解
变体
- 格伦斯菲尔德密码:使用数字代替字母作为密钥
- 自动密钥密码:密钥由初始关键词和明文组成
- 运行密钥密码:使用一段文本作为密钥
应用场景
- 密码学教学
- CTF 比赛
- 密码学谜题
- 历史密码研究
在线工具
可以使用 Vigenère Solver 等在线工具自动破解维吉尼亚密码。