密室谜题卡壳
密室逃脱的最后一关,墙上刻着一串由字母和数字组成的密文,提示是“凯撒密码”,但试了常规位移解不出。玩家用本工具切换栅栏密码试了不同栏数,发现按 5 栏分组后得到一串有意义的英文短语。本工具支持多种古典密码实时切换、边调参数边看结果,省去手动推算时间,在倒计时压力下快速破局。
学生抄写维吉尼亚密码作业,对着密钥“KEY”和明文“HELLO”算出密文,却卡在密钥重复与字母表偏移的对应关系上。这个工具把 Atbash、培根、栅栏、仿射四种古典密码的加解密逻辑拆成可视步骤:输入文本与密钥,它逐字展示偏移或替换过程,并标出算法边界(如仿射密码要求密钥与26互质)。所有计算在浏览器内完成,密文与明文均不上传服务器。
密室逃脱的最后一关,墙上刻着一串由字母和数字组成的密文,提示是“凯撒密码”,但试了常规位移解不出。玩家用本工具切换栅栏密码试了不同栏数,发现按 5 栏分组后得到一串有意义的英文短语。本工具支持多种古典密码实时切换、边调参数边看结果,省去手动推算时间,在倒计时压力下快速破局。
朋友聚会玩《谍报风云》,规则要求用培根密码传递阵营信息。手边没有对照表,每次加密要翻手机查字母—二进制映射,一局下来耗时 15 分钟。用本工具的培根密码模块,输入明文后直接看到 5 位字母组合的密文,队友拿到密文反向粘贴也能秒出原文。把破译时间压缩到 30 秒以内,游戏节奏不再被打断。
古籍爱好者淘到一本民国时期的手抄本,书页空白处有用铅笔写的字母串,怀疑是当年藏书人用 Atbash 密码做的批注。Atbash 是字母表反转映射,手工逐个对照 A→Z、B→Y 效率极低,100 个字母要算 20 分钟。把整段字母输入本工具,选择 Atbash 模式,点击即得到反转后的明文,发现是藏书人对书中典故的出处补充。
参加高校网络安全竞赛(CTF)线上预选赛,一道 Crypto 题给出了一段由大小写字母和数字组成的密文,提示是“古典密码,含三种变换”。队友手动试了仿射密码的几种常用参数组合,花了 8 分钟没找到规律。用本工具同时打开仿射密码和栅栏密码两个模块,分别输入密文并快速调整参数,2 分钟内发现先做 3 栏栅栏再套仿射的复合加密方式,成功解出 Flag 拿到分数。
玩《谜宫·如意琳琅图籍》这类解谜书时,书里给出的线索需要组合成密码,再用特定古典密码解码才能得到下一关提示。玩家推理出加密方式是仿射密码,但手动计算模逆元容易算错,导致误以为自己推理方向有误。把推理出的密文和猜测的密钥参数输入本工具,立即输出明文,验证正确后再推进剧情,避免因计算失误浪费时间重读线索。
| 输入 | 输出 | 说明 |
|---|---|---|
| HELLO(Atbash 加密) | SVOOL | 常规:英文字母全大写,Atbash 对称替换的典型用例,结果可反向还原验证 |
| hello(Atbash 加密) | svool | 边界:小写输入,验证工具是否自动统一字母大小写处理,部分实现会报错 |
| HELLO WORLD(培根密码加密,使用标准 24 字母表) | AABBB AABAA ABBAB ABBAB AABBA / AABBB AABAA ABBAB ABBAB AABBA | 常规:含空格,培根密码每个字母对应 5 位 A/B 编码,空格保留或忽略需确认 |
| HELLO(培根密码加密,使用 26 字母表含 I/J 和 U/V) | AABBB AABAA ABBAB ABBAB AABBA | 边界:26 字母表下 I/J 和 U/V 共享编码,输入 'HELLO' 无歧义,验证工具是否明确标注所用字母表版本 |
| HELLO WORLD(栅栏密码加密,栏数 3) | HOR LELOWLD | 常规:经典栅栏加密,栏数 3 时按行排列再逐行读取,结果含空格需注意 |
| HELLO(栅栏密码加密,栏数 1) | HELLO | 边界:栏数为 1 时等于未加密,验证工具是否处理这种退化为恒等变换的极端值 |
| HELLO(仿射密码加密,a=5, b=8,模 26) | RCLIY | 常规:仿射加密需指定 a 和 b,且 a 必须与 26 互质,此例 a=5 合法,验证加密公式 (5x+8) mod 26 正确性 |
| HELLO(仿射密码加密,a=2, b=0,模 26) | (工具应报错或提示 'a 与 26 不互质,无法解密') | 易错:a=2 与 26 不互质(gcd=2),导致加密不是双射,无法解密。用户常误以为任意 a 都可用,此例暴露参数合法性校验 |
1.Atbash 混淆字母大小写
输入明文 "Hello",期望输出 "Svool",实际输出 "svool"输入 "HELLO" 或确保大小写统一Atbash 映射基于字母表位置,大小写不敏感时小写输出;若工具区分大小写,需统一输入格式。
2.培根密码未区分 AB 与 01
输入 "01001" 作为密文,工具返回乱码输入 "AABBB" 或确认工具接受的编码格式(AB/01/ab)培根密码标准使用 A/B 表示二进制,部分工具支持 0/1 但需明确;混用格式导致解码失败。
3.栅栏密码栏数超过字符数
输入 "HELLO",栏数设为 6栏数设为 2 或 3栅栏密码栏数不能大于明文长度,否则部分栏为空,输出结果截断或报错。
4.仿射密码 a 值未与 26 互质
输入 a=4, b=5,加密 "A" 得到 "E",但解密失败输入 a=3, b=5(gcd(3,26)=1)仿射密码要求 a 与 26 互质,否则加密不可逆;a=4 与 26 有公因子 2,解密时模逆不存在。
5.栅栏密码混淆栏数与分组数
输入 "HELLO WORLD",栏数设为 3,期望按 3 字符一组栏数设为 3,理解这是分栏数,非分组大小栅栏密码栏数指纵向分栏数,非每栏字符数;常见混淆导致输出与预期不符。
6.Atbash 处理非字母字符
输入 "HELLO!",期望输出 "SVOOL!",实际输出 "SVOOL" 或报错输入 "HELLO" 或确认工具是否保留非字母字符Atbash 仅映射 A-Z,空格、标点等非字母字符处理方式因工具而异,需先验证。
7.培根密码密文长度非 5 的倍数
输入 "AABBAAB"(7 字符),工具无输出输入 "AABBAABBA"(10 字符)培根密码每组 5 位二进制,密文长度必须是 5 的倍数,否则解码无法对齐分组。
8.仿射密码 b 值超出 0-25 范围
输入 a=1, b=30,加密 "A" 得到 "E"(30 mod 26=4)输入 a=1, b=4(或 b 在 0-25 内)仿射密码的 b 值模 26 后有效,超出范围自动取模,但用户可能误以为 b=30 是独立参数。
E(x) = (a·x + b) mod 26
x明文字母对应数字(A=0,…,Z=25)a密钥乘数,需与26互质(如1,3,5,7,9,11,15,17,19,21,23,25)b密钥偏移量,0–25的整数E(x)密文字母对应数字明文 'HELLO' 用仿射密码 a=5, b=8 加密:H(7)→(5×7+8)=43 mod 26=17→R;E(4)→(5×4+8)=28 mod 26=2→C;L(11)→(5×11+8)=63 mod 26=11→L;L(11)→11→L;O(14)→(5×14+8)=78 mod 26=0→A。密文:RCLLA。
栏数就是想把原文分成几行来重排。比如原文12个字,栏数填3,每行就是4个字,然后按列读。填错了会解出乱码,且不同栏数可能解出不同结果。本工具支持1-20的整数栏,建议从2开始试,如果原文很短(比如6个字),栏数2和3都试一下,看哪个出有意义的词。一般栏数不会超过原文长度的一半。
经典培根密码用A和B两组字母代表二进制0和1,每组5个字母组成一个字母。标准对应表是固定的:比如AAAAA=A,AAAAB=B,以此类推。本工具内置的就是这套标准表,不支持自定义映射。如果你手头有自己编的映射表,需要先手动转成标准表再输入,或者直接用本工具的“自定义映射”功能(如果有的话,当前版本没有)。建议直接使用标准表,以免解码时对不上。
Atbash 只适用于纯英文字母,把 A 换成 Z、B 换成 Y,以此类推。中文无法直接使用,因为中文字符没有对应的反转表。如果输入中文,本工具会原样保留不处理。如果想用类似思路处理中文,需要自己先建立映射表(比如把“一”换成“十”),但这不是本工具的功能。简单说:只对 A-Z 有效,数字和符号也不处理。
仿射密码的公式是 E(x) = (ax + b) mod 26。a 必须和 26 互质(即最大公约数为1),否则无法解密。可选的 a 值只有 1、3、5、7、9、11、15、17、19、21、23、25 这12个。b 可以是 0-25 的任意整数。随便填不互质的 a(比如2、4、6)会导致多个字母映射到同一个密文,解密时会有歧义。本工具输入框会校验 a 是否合法,不合法会提示。
本工具是四种密码的合集,每种独立使用,不提供自动识别功能。建议按排除法试:先看密文是否全是字母且无空格(可能是栅栏或 Atbash),再看是否只有 A/B 两种字母(可能是培根),再看是否每个字母都对应一个数字偏移(可能是仿射)。如果密文里有特殊符号或数字,大概率不是这四种。最笨的办法:把密文分别复制到四个选项卡里,点加密/解密,看哪个输出是英文单词。
常见原因有两个。一是参数不同:比如栅栏密码有的工具默认栏数=2,有的默认=3;仿射密码的 a 和 b 默认值也可能不同。二是实现细节差异:比如栅栏密码有“W型”和“传统型”之分,本工具用的是传统型(按行写入,按列读出)。建议先拿一个已知结果的短词(比如“HELLO”用 Atbash 加密应该是“SVOOL”)验证一下本工具的默认参数,再处理自己的文本。
对,这四种古典密码只处理 A-Z 英文字母。数字、空格、标点符号、中文等非字母字符,本工具会原样保留不加密。比如输入“HELLO 123”,Atbash 加密后得到“SVOOL 123”。如果你希望数字也被加密,需要先用其他工具把数字转成字母(比如 A=1, B=2),再丢进本工具。空格保留是为了方便阅读,但加密强度会降低,因为攻击者能看出单词边界。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。