维吉尼亚密码编码器

维吉尼亚密码由乔万·巴蒂斯塔·贝拉索于1553年首次描述,后来被错误地归功于布莱兹·德·维吉尼亚。它根据一个不断重复的密钥,将每个字母移动不同的量。尽管300年间它一直被称为“无法破译的密码”(le chiffre indéchiffrable),但最终在1863年被弗里德里希·卡西斯基的统计攻击攻破。这款编码器让你为解谜、CTF挑战和课堂密码学教学进行加密和解密。

如何使用维吉尼亚密码

  1. 1

    输入你的消息

    A 到 Z 的字母会被移位;数字、空格、标点以及任何非拉丁字符都原样通过。

  2. 2

    设置密钥

    选择任意单词或短语。只有其中的字母起作用,密钥越长越难破解。

  3. 3

    选择加密或解密

    同一个工具用维吉尼亚方阵处理两个方向。

  4. 4

    读取结果

    每个字母按对应的密钥字母移位(A=0,B=1 等);大小写会被保留。

一个完整示例

工具以 Hello World 和密钥 KEY 开始。加密得到:

Text: Hello World
Key:  KEYKE YKEYK
Out:  Rijvs Uyvjn

注意大小写被保留(H 仍是大写,变成 R),空格保持不变,密钥指针只在字母上前进。用同一密钥切换到解密,Rijvs Uyvjn 就会变回 Hello World。

维吉尼亚方阵

文本的每个字母和密钥的每个字母,在 26x26 的凯撒移位网格中选定一行一列。如果文本字母是 H,密钥字母是 K,输出就是 R,因为 H (7) + K (10) = 17 = R。经典教科书示例使用一个重复的密钥:

Text: ATTACKATDAWN
Key:  LEMONLEMONLE
Out:  LXFOPVEFRNHR

为什么它胜过更早的密码

像凯撒和阿特巴什这样的单表密码总是以相同方式编码 E,所以密文中最常见的字母会暴露明文中最常见的字母。维吉尼亚会轮换移位量,所以 E 这次可能变成 X,下次变成 K,从而抹平字母频率,挫败简单的分析。

一段话讲清卡西斯基攻击

密文中以固定间隔重复出现的字母组,暗示密钥长度能整除该间隔。收集几个这样的间隔,取它们的最大公约数,就得到可能的密钥长度。把密文拆成相应数量的凯撒流,再对每一条做频率分析。

安全提示

维吉尼亚是一种只有教学价值的经典密码。它无法抵御任何现代攻击:用六个字母的密钥,一段简短的英文文本几秒钟就能破解。若需真正的机密性,请使用经过验证的库中的 AES-GCM 或 ChaCha20-Poly1305,绝不要用手工密码。

常见问题

只有 26 个拉丁字母 A-Z 会被移位。汉字、数字、标点以及其他非拉丁字符都会原样复制。要加密,请用拉丁字母输入。

支持。小写文本生成小写输出,大写保持大写。密钥本身不区分大小写。

当然可以。它是入门 CTF 的常客。提示通常在题目描述里给出密钥长度,或在密文中留下一组重复的字母。

你的文本和密钥会发送到我们的服务器来计算密码,在那里被处理,不会被保存或记录。由于维吉尼亚并不安全,切勿用任何经典密码加密真正的机密。

相关工具

此工具还提供其他语言版本