跳转到正文

维吉尼亚密码编码与解码器

输入关键词,用维吉尼亚密码加密或解密消息。每个字母会按对应的密钥字母进行位移,字母的大小写保持不变,非字母字符原样保留。开启运算过程表,即可查看前 20 个字母各自的密钥字母和位移量。免费,无需注册,也不会上传任何内容。

模式

如何使用维吉尼亚密码工具

  1. 1. 选择编码或解码。 编码将明文转换为密文;解码则用同一个关键词将其还原。
  2. 2. 输入关键词。 仅限 A–Z 字母,不能包含空格或数字。关键词会沿消息重复使用。关键词为 a 时位移为零,不会改变任何内容。
  3. 3. 输入或粘贴消息。 结果随您的输入实时更新。大小写保持不变,数字、空格和标点原样通过,且不消耗密钥字母。
  4. 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。下面是运算过程表中前六个字母的情况:

明文字母密钥字母位移量结果
Al+11L
te+4x
tm+12f
ao+14o
cn+13p
kl+11v

注意重复的字母。“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 个字母的拉丁字母表,因此其他文字会原样通过、不被加密,工具会报告它跳过了多少个字母。

相关工具

编码与密码中的更多工具