维吉尼亚密码编码与解码器
输入关键词,用维吉尼亚密码加密或解密消息。每个字母会按对应的密钥字母进行位移,字母的大小写保持不变,非字母字符原样保留。开启运算过程表,即可查看前 20 个字母各自的密钥字母和位移量。免费,无需注册,也不会上传任何内容。
模式
如何使用维吉尼亚密码工具
- 1. 选择编码或解码。 编码将明文转换为密文;解码则用同一个关键词将其还原。
- 2. 输入关键词。 仅限 A–Z 字母,不能包含空格或数字。关键词会沿消息重复使用。关键词为
a时位移为零,不会改变任何内容。 - 3. 输入或粘贴消息。 结果随您的输入实时更新。大小写保持不变,数字、空格和标点原样通过,且不消耗密钥字母。
- 4. 勾选“显示运算过程”,即可查看前 20 个字母的明文字母、密钥字母、位移量和结果表。
维吉尼亚密码如何工作
将字母 A 至 Z 依次编为 0 至 25。把关键词重复写在消息下方,每个消息字母对应一个密钥字母。加密时,将密钥字母的编号加到消息字母的编号上,超过 Z 则回绕:C = (P + K) mod 26。解密时则相减:P = (C − K) mod 26。因此每个密钥字母都选定一个不同的凯撒位移——A 为 0,B 为 1,直至 Z 为 25——这就是它被称为多表代换密码的原因:同一个消息字母可以变成不同的密文字母。手工计算这些和时,传统的维吉尼亚方表(tableau)可以加快速度。
示例:关键词 LEMON
用关键词 lemon 加密 Attack at dawn,得到 Lxfopv ef rnhr。下面是运算过程表中前六个字母的情况:
| 明文字母 | 密钥字母 | 位移量 | 结果 |
|---|---|---|---|
| A | l | +11 | L |
| t | e | +4 | x |
| t | m | +12 | f |
| a | o | +14 | o |
| c | n | +13 | p |
| k | l | +11 | v |
注意重复的字母。“Attack”中的两个 t 变成了 x 和 f,因为它们位于不同的密钥字母之下;两个 a 则变成了 o 和 e。普通的凯撒位移会把每一对变成相同的字母,而这正是频率分析所利用的规律。解码使用同一张表的反向过程:在解码模式下用 lemon,就能把 Lxfopv ef rnhr 还原为 Attack at dawn。密钥字母会跨过空格继续向后推进,而空格本身不使用密钥字母。
简史
乔瓦尼·巴蒂斯塔·贝拉索于 1553 年描述了这种密码。它的名字来自布莱斯·德·维吉尼亚,他在 1586 年发表了一种相关但更强的自动密钥密码;这种密码在 19 世纪被错误地归于他名下。它获得了“le chiffre indéchiffrable”(无法破译的密码)的称号,并抵御攻击直到弗里德里希·卡西斯基在 1863 年发表通用的破解方法。查尔斯·巴贝奇在 1854 年便已破解它,但没有发表。
维吉尼亚密码如何被破解
一切都取决于关键词的长度。如果同一段明文两次与关键词的同一部分对齐,就会产生两次相同的密文。卡西斯基检验测量这类重复之间的距离;密钥长度很可能是它们的一个公因数。一旦知道长度 n,每隔 n 个字母就是由同一个密钥字母位移的,因此这 n 列中的每一列都是可以用频率分析破解的普通凯撒密码。较长且不可预测的关键词可以抵抗这种攻击;而与消息等长、且只使用一次的随机密钥就是一次性密码本,它无法被破解。本工具使用您提供的关键词进行编码和解码,但不会去搜索密钥。
本工具的局限
- 仅对 A–Z 和 a–z 进行加密。 其他文字的字母,以及 é 等带重音的拉丁字母,保持不变,工具会告诉您跳过了多少个字母。
- 关键词只能包含字母。 关键词中的空格、数字或带重音的字母都会被拒绝。
- 运算过程表只显示 20 行, 无论消息多长。
- 并不安全。 仅用于谜题、课堂和游戏,请勿用于任何私密内容。
您需要哪个工具?
| 密码 | 密钥如何起作用 |
|---|---|
| 凯撒密码 | 整条消息使用一个位移量 |
| 维吉尼亚密码(本页) | 一个重复的关键词;每个密钥字母对应一个位移量 |
| Beaufort Cipher | 与维吉尼亚密码类似,但用密钥字母减去消息字母,因此同一运算既可加密也可解密 |
| Autokey Cipher | 一段简短的引导,然后消息本身成为密钥 |
| Porta Cipher | 由一个关键词在 13 个互逆字母表中做选择 |
如果您不确定自己看到的是哪种密码,计划中的 Cipher Identifier 将帮助您缩小范围。
常见问题
- 什么是维吉尼亚密码?
- 它是一种多表代换密码,根据一个重复关键词所设定的量对每个字母进行位移。第一个消息字母使用第一个密钥字母,第二个使用第二个,依此类推,因此同一个明文字母可以变成多个不同的密文字母。
- 维吉尼亚密码与凯撒密码有什么不同?
- 凯撒密码使用单一的固定位移。维吉尼亚密码使用关键词,为每个字母给出不同的凯撒位移;实际上它相当于若干凯撒密码交错在一起,每个密钥字母对应一个。
- 空格、数字和标点会怎样?
- 它们原样通过,且不消耗密钥字母,因此关键词只在 A–Z 和 a–z 上推进。
- 如何解码维吉尼亚密码?
- 如果您知道关键词,请选择“解码”,输入关键词并粘贴密文。每个字母都会按其对应的密钥字母向回位移。若没有关键词,您需要进行密码分析:先用卡西斯基检验找出密钥长度,再对每一列做频率分析。
- 为什么我的结果与输入看起来一样?
- 只由字母 A(或单个
a)组成的关键词会使每个字母的位移为零。请选择包含其他字母的关键词。 - 维吉尼亚密码安全吗?
- 不安全。它曾被认为约三个世纪都无法破解,但卡西斯基在 1863 年发表了通用攻击方法,如今计算机几秒钟即可破解。它仍然是学习多表密码的好工具。
- 它能处理非英语字母表吗?
- 作为密码则不能。维吉尼亚方表基于 26 个字母的拉丁字母表,因此其他文字会原样通过、不被加密,工具会报告它跳过了多少个字母。