# 古典密码在线加解密 - 凯撒、维吉尼亚破解与 Enigma 模拟器

> 免费古典密码工具：凯撒/ROT13、维吉尼亚（Kasiski 与重合指数自动破解）、Playfair、栅栏、仿射、培根、单表替换频率分析，以及 Enigma I 恩尼格玛模拟器。

- 网址: https://qilingtools.com/zh/math/cipher
- 分类: 数学工具 (https://qilingtools.com/zh/math)
- 标签: [数学](https://qilingtools.com/zh/tags/math), [隐私安全](https://qilingtools.com/zh/tags/privacy), [开发](https://qilingtools.com/zh/tags/dev), [编码解码](https://qilingtools.com/zh/tags/encode), [算法](https://qilingtools.com/zh/tags/algorithm)
- 最后更新: 2026-10-26
- 价格: 免费，无需注册
- 隐私: 在浏览器本地处理，文件不上传服务器

这是一个在浏览器里运行的古典密码实验室，适合密码学入门、CTF 解题和课堂演示。凯撒 / ROT-N 可以拖动位移，解密时列出全部 26 种位移并按与英文字母频率的卡方值排序，最像英文的排在最上面。维吉尼亚密码除了用密钥加解密，还能在不知道密钥时自动破解：先做 Kasiski 检验，列出重复片段及其间距，再计算各候选长度的平均重合指数（英文约 0.066）估计密钥长度，最后对每一列做频率分析求出密钥并还原明文；也可以点击柱状图手动指定长度。单表替换提供字母频率与英文对比图和逐字母映射表，填入猜测后实时显示部分解密结果。Enigma I 模拟器支持转子 I–V、反射器 B/C、环设置、初始位置和插线板，正确实现中间转子的双步进，并显示最后一个字母的电流路径；结果与公开测试向量（AAA 位置连按 A 得到 BDZGO、1941 年巴巴罗萨行动电报）一致。此外还有 Atbash、仿射、Beaufort、Playfair（显示 5×5 方阵）、栅栏（显示之字形排列）、列移位、培根和波利比乌斯方阵。可选择保留大小写和标点；只处理英文字母，中文等其它字符保持不变。

## 使用步骤

1. 选择密码类型并设置密钥、位移或转子等参数
2. 在左侧输入明文或密文，右侧实时得到加密或解密结果
3. 不知道密钥时使用凯撒暴力破解、维吉尼亚自动破解或替换密码的频率分析

## 功能特点

- 凯撒 / ROT13 及 26 种位移暴力破解（卡方排序）
- 维吉尼亚：Kasiski 检验 + 重合指数 + 频率分析自动破解
- 单表替换：字母频率对比图与交互式映射求解
- Enigma I：转子 I–V、反射器 B/C、环设置、插线板、双步进
- Playfair 5×5 方阵、栅栏之字形、列移位网格可视化
- 仿射、Atbash、Beaufort、培根、波利比乌斯方阵
- 可保留大小写与标点，中文原样保留
- 已用公开测试向量核对，全部本地运行

## 常见问题

### 维吉尼亚密码是怎么被破解的？

关键是先求出密钥长度。Kasiski 检验寻找密文中重复出现的片段，它们的间距往往是密钥长度的倍数；重合指数方法则把密文按候选长度分成若干列，如果长度正确，每一列都是普通的凯撒密码，字母分布接近英文，平均重合指数约 0.066，而长度错误时接近随机的 0.038。确定长度后，对每一列尝试 26 种位移，取与英文频率最接近（卡方最小）的那个，就得到密钥的一个字母。

### 为什么密文很短时自动破解会失败？

频率分析依赖统计规律：每一列至少需要几十个字母，字母频率才会接近英文。密钥越长、密文越短，每列的字母就越少，估计出的长度和位移都可能出错。一般建议密文有 200 个字母以上；结果不对时，可以在重合指数图上点击其它长度重新尝试，或者根据 Kasiski 表里间距的公因数判断。

### Enigma 的加密和解密为什么是同一个操作？

Enigma 的反射器把电流从原路的另一条线送回，使整台机器在每个转子位置下都是一个由成对交换组成的置换：如果 A 加密成 G，那么同一位置下 G 也加密成 A。因此接收方只要把机器调到相同的转子、环设置、初始位置和插线板，再把密文打一遍就能得到明文。这也带来一个著名弱点：任何字母都不会被加密成它自己。

### 可以加密中文吗？

这些古典密码都是为 26 个拉丁字母设计的，所以工具只变换英文字母 A–Z，中文、数字和标点默认原样保留（也可以选择去掉）。如果想加密中文内容，可以先转成拼音再加密；需要真正安全的加密时，请使用现代算法（如 AES），古典密码只适合学习和娱乐。

## 相关工具

- [函数图像](https://qilingtools.com/zh/math/graph): 免费在线函数绘图工具：输入 sin(x)、x^2、1/x 等公式即可画出函数图像，支持多条曲线叠加、参数方程、极坐标、数据点散点图与最小二乘拟合，可拖动缩放并导出 PNG/SVG。
- [科学计算器](https://qilingtools.com/zh/math/calculator): 免费在线科学计算器：直接输入 2*(3+4)^2、sin(pi/6)、log(8,2) 这样的算式即可得到结果，支持角度/弧度切换、阶乘、组合数与历史记录，浏览器本地计算。
- [方程求解](https://qilingtools.com/zh/math/equation): 免费在线解方程：输入系数即可求一元一次方程、一元二次方程（含判别式、顶点、因式分解、复数根）、一元三次方程与二元一次方程组的解，并给出计算过程。
- [分数计算器](https://qilingtools.com/zh/math/fraction): 免费在线分数计算器：分数加减乘除并自动约分，化简最简分数，分数转小数（识别循环节）、小数转分数（支持 0.1(6) 这类循环小数），带分数一并给出。
- [百分比计算](https://qilingtools.com/zh/math/percentage): 免费在线百分比计算器：求某数的百分之几、一个数是另一个数的百分之几、增长率与下降率、增加/减少百分比后的值，以及已知百分比反推原值，并给出计算公式。
- [质因数分解](https://qilingtools.com/zh/math/prime): 免费在线质因数分解工具：把整数分解成质因数连乘并写成幂的形式，列出全部因数与因数之和，判断一个数是不是质数并给出相邻质数，还能列出任意区间内的质数表。
- [最大公约数](https://qilingtools.com/zh/math/gcd-lcm): 免费在线求最大公约数（GCD）与最小公倍数（LCM）：支持两个或多个整数，给出是否互质、乘积、各数的质因数分解，两个数时还会列出辗转相除法的每一步。
- [统计计算](https://qilingtools.com/zh/math/statistics): 免费在线统计计算器：粘贴一组数据即可得到平均数、中位数、众数、极差、四分位数、样本与总体的方差和标准差、标准误、变异系数与异常值，适合作业与实验数据处理。
