空密码(隐文)
发布 2026 年 9 月 29 日 · · 7 分钟阅读
空密码不伪装字母——它隐藏的是“哪些字母才是消息”。传输文本里的每个字符都是极其普通的字符。只有位置是秘密的,而不知道规则的攻击者根本没有密文可攻,只有一封谈天气的信。
- 时代
- 中世纪
- 类型
- 替换
- 密钥空间
- carrier text + position rule
- 难度
- 野战
I现象
下面是一句掩护文本:THE WEATHER HOLDS FAIR AND THE LOOM KEEPS ITS OWN COUNSEL ALL OF THE LONG DAY。
从开头每隔五个字母取一个,得到 W H D A H K T N A H G A——这不是消息,因为这封掩护文本本来就不是为了载信而写的。但假设规则是从末尾向前每隔五个字母取一个,或取每个词的最后一个字母,或藏头规则取每一行的第一个字母。
本实验台采用最简单的机械形式书写空密码:把明文字母放进每 N 个字符一组的第 N 位,空位由一句固定的载体句填充。
| 规则 | 消息藏在哪里 | 可察觉性 |
|---|---|---|
| 每隔 N 个字符 | 机械式,易于自动化 | 若掩护文本读起来自然则很低 |
| 每句首字母 | 藏头 | 极低 |
| 每个词的末字母 | 词尾 | 低 |
| 每句第 N 个词 | 词一级 | 最低 |
词一级的变体最强,因为正常散文的词长与句长变化很大,而变化就是伪装。机械的“每隔五字符”规则会让掩护文本变得生硬——而生硬的散文本身就是信号。
II密钥空间
密钥是一对东西:载体文本加上位置规则。二者缺一不可,而两者都可以自由选择,因此理论空间是无界的。
在本合集中这是个不寻常的性质。这里几乎每一个密码的密钥空间都能写成一个数字。空密码的密钥空间是“一个人可能写出的句子数”——这既不是一个能被搜索的数字,也不是一个能被管理的数字。
无界密钥空间不等于强密码学。若你的规则好记,那它就可被猜到;若它不好记,压力之下你也想不起来。
历史上的折衷方案——战俘与占领区特工使用过——是采用一条根本不是秘密的规则:正好摆在你面前的那段文字。一段双方都持有的书页就足够了。
III加密步骤
- 写出明文并清成字母。
- 选定步长 N——消息字母之间的间距。
- 对每个明文字母,取 N 个字符为一组,把该字母放在这一组的最后一位。
- 前面的 N-1 位用取自载体文本的普通词或字母填充。
- 把整段读出声来。如果听起来像人写的,就留下;如果听起来像机器写的,就重写填充部分。
- 只发送掩护文本。绝不要通过同一条信道发送规则。
IV解密步骤
- 你必须已经知道规则。任何分析都无法从单条消息中恢复它,因为密码学意义上的密文根本不存在——存在的只是散文。
- 机械地套用位置规则:取每隔 N 个字符、或每句首字母、或每词末字母。
- 把取出的字母按序写下,靠上下文重新分词。
- 注意发信方可能插入额外的填充字母来避免尴尬的连续——好的掩护文本很少完全规整,接收方被期待能应付这种情况。
- 若取出的内容读不通,就把同一规则改为从末尾起算,并把结果倒序再试一次。两种都很常见。
V弱点
载体可被统计检测。 自然行文并不均匀。机械的“每隔 N 个”规则会扭曲掩护文本自身的字母分布,而与正常语言做卡方检验时,会标出一段异常平坦或异常规整的文字。
规则很小。 “每隔 N 个字符”与藏头之类的可行约定就那么几种,受过训练的分析者一个下午就能对所有截获文件自动试遍。
通信分析胜过内容分析。 即使空密码未被破,它也暴露了谁写信给谁、什么时候写、信有多长。在情报语境中,这往往已经足够。
压力之下很脆弱。 整套方案依赖“在匆忙中写出看起来自然的散文”。在审讯或时间压力下,掩护文本会变得机械,而机械的文本恰恰是检测器要找的东西。
VI实战挑战
密文
THEWL ATHEO HOLDO FAIRM NDTHS OLDBK ASSLE OMKEE PSITP OWNCS UNSEE INTHC LOWLR TROOE WHILT THEPS
提示: 步长为五:读每组五个字符的最后一位。
展开答案
明文
LOOMS KEEP SECRETS
·史料
空密码在古代世界以藏头形式出现——《希伯来圣经》诗篇 119 篇就是按字母顺序写成的藏头诗——其军事用途自文艺复兴以后有明确记载。二十世纪一个著名案例是 1942 年从德国战俘营寄给家人的一封信:一封平淡无奇的信中,每个词的首字母拼出一段申诉,后来获得证实,而战俘营的审查官放行了它。二战期间,英国审查部门对双向战俘邮件例行检查藏头与“每隔 N 个”的模式,这既说明该手法有多普遍,也说明其检测方法被掌握得有多好。
·继续读
空密码是隐写术的直接祖先——隐藏消息的存在,而不是隐藏消息的内容。现代隐写术把数据嵌进图像的最低有效位或网络数据包的时序抖动里,它继承的弱点画像完全相同:容量小、规则短,只要有人去看,统计特征就能被发现。
这个区分值得钉牢:密码学让消息读不懂,隐写术让消息不被注意到。真实系统两者都用,而任何单独一种都不是安全策略。
下一台织机:book-cipher——秘密不是一条规则,而是一件共有的实物。
+相关织线
书本密码
书本密码用一本书取代字母表。每个字母写成一个位置——页、行、词、字——由接收方去查。这套方法不需要数学、不需要背方阵、不需要器械,因此每当人们只能依靠手边现成的东西来秘密通信时,它就会重新出现。
名册密码(密码本)
名册密码一半是密码,一半是字典。它照常替换字母,但同时为真正要紧的名字——国王、城市、将领、月份——单独分配编码,使攻击者最想找到的那些词恰恰保护得最好。三百年来它是欧洲外交的标准工具,而它的失效方式从来不是数学上的。
卡丹栅格
吉罗拉莫·卡丹的栅格是一张挖了孔的硬纸片。把它压在空白页上,透过孔写下消息,再把页面其余部分填满无关文字。接收方把一张完全相同的栅格压在同一页上,只读露出来的部分。它是一件以实物为密钥的置换密码,至今仍是对“密钥到底在…