跳到正文
Cipherloom密码织机

CIPHER/SUBSTITUTION/NULL CIPHER

空密码(隐文)

发布 2026 年 9 月 29 日 · · 7 分钟阅读

空密码不伪装字母——它隐藏的是“哪些字母才是消息”。传输文本里的每个字符都是极其普通的字符。只有位置是秘密的,而不知道规则的攻击者根本没有密文可攻,只有一封谈天气的信。

时代
中世纪
类型
替换
密钥空间
carrier text + position rule
难度
野战
密文栅格图版:空密码(隐文)
图版 null-cipher · 替换

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——秘密不是一条规则,而是一件共有的实物。

+相关织线