斯巴达卷棒密码 — 实验台工具
发布 2026 年 9 月 5 日 ·
卷棒密码不给字母改名,它只打乱顺序。把一条皮条缠在木棒上,横着写过去,再解开。所有字母都还在,明明白白地摆在那里,只是顺序错了。此后两千年里所有置换密码都是这一个动作的改良。
- 时代
- 古典时代
- 类型
- 置换
- 密钥空间
- staff diameter
- 难度
- 入门
I这把工具做什么
把明文按每行 n 个字母写下来,n 就是木棒的棱数;然后按列读,而不是按行读。
取 n = 4、消息 LOOM KEEPS ITS OWN COUNSEL:
| L | O | O | M |
| K | E | E | P |
| S | I | T | S |
| O | W | N | C |
| O | U | N | S |
| E | L |
自上而下逐列读取,得到 LKSOOE OEITWUL OETNN MPSCS——每个字母都还在,但没有一个还待在原来的位置。
与凯撒最关键的区别在于:字母频率完全没变。密文中 E 的数量与明文中 E 的数量一模一样。被攻击的只是位置。
II密钥
密钥是木棒的直径——一块木头,而不是一个数字。这既迷人又不实用。
由于直径在原理上连续,有效密钥空间其实是消息长度的约数集合。对一条 60 字母的消息,约数是 1、2、3、4、5、6、10、12、15、20、30、60;去掉 1 与 60(恒等变换),还剩 10 个。不到三个半比特——比凯撒的空间还小。
更糟的是攻击者根本不需要猜。每个可能的直径都会产出一个候选明文,而语言是一眼可辨的。十五次尝试就是一杯咖啡的时间。
这是置换密码反复教给人的一课:密钥空间不是物理物品的数量,而是这些物品能对这一条特定消息做出多少种区分。
III弱点提示
历史密码用于教学与娱乐,不适合保护真实信息。完整分析见对应条目。