Quagmire 密码:ACA 高级多表替换系统及四种变体详解
全面掌握 Quagmire 密码家族——美国密码学协会的四变体多表替换系统。了解关键词字母表如何改进维吉尼亚密码,包含逐步加密示例和密码分析方法。
引言:Quagmire 密码的独特之处
维吉尼亚密码是历史上最著名的多表替换密码,但它有一个众所周知的结构弱点:所使用的每个替换字母表,不过是标准字母表按某个位数移位的结果。字母的相对顺序始终不变。E 移位五个位置变成 J,该字母表中的每个其他字母也同样移位五个位置。这种规律性意味着,一旦密码分析人员确定了关键词长度并分离出各个独立的字母表,问题就归结为破解一组简单的凯撒密码——这是一项轻而易举的工作。
Quagmire 密码家族正是为了消除这一弱点而设计的。Quagmire 系统使用关键词字母表——即在进行任何移位之前,字母顺序已被关键词打乱的字母表——而非移位后的标准字母表。这一改变从根本上增加了频率分析的难度。使维吉尼亚密码容易被破解的字母关系不再成立。即使密码分析人员确定了关键词长度并分离出某个单独的字母表,他面对的也是一个混乱的替换密码,而非简单的移位,而混乱字母表的破解难度要高出数个数量级。
Quagmire 家族由四种变体组成,分别命名为 I 型至 IV 型,区别在于哪些字母表(明文、密文,或两者)使用了关键词混排。这套分类体系由美国密码学协会(ACA)正式确立——ACA 是美国历史最悠久、最活跃的休闲密码学组织。四种变体提供了从易到难的复杂度梯度,从相对易于上手的 Quagmire I,到令人望而生畏的 Quagmire IV。
试用我们的免费 Quagmire 密码工具,使用全部四种变体加密和解密消息。
历史与 ACA 分类
为何叫"Quagmire"?
这个名字具有刻意的形象含义。"Quagmire"(泥沼)是指一片松软、沼泽般的土地,踏入其中就会越陷越深。这个密码家族之所以获此名称,是因为试图破解这些系统的密码分析人员会发现自己深陷关键词字母表的复杂性之中,难以自拔。与维吉尼亚密码不同——确定周期后问题就能归结为一组凯撒移位——破解 Quagmire 密码需要还原出关键词混排字母表本身,这是一项艰巨得多的任务,令人感觉如同沉入智识的流沙。
美国密码学协会
ACA 成立于 1930 年,此后持续作为休闲密码学爱好者的社群运营——这些人将解码和构造密码作为智识追求。该组织每两个月出版一期杂志《Cryptogram》,刊载数十种不同密码类型的密码挑战。ACA 建立了密码家族的系统性分类体系,Quagmire 这一名称成为指代使用关键词字母表的周期性多表替换密码的标准方式。
四种 Quagmire 类型并非某一个人在某一时刻发明的,而是 ACA 对至少自十九世纪以来以各种形式使用的密码构造的正式整理。用关键词混排字母表的概念可追溯至早期替换密码实践,将混排字母表与周期性多表替换系统相结合的想法则是逐步演变而来的。ACA 的贡献在于为这些系统命名,将其分类为四种不同类型,并建立构造和标注的标准惯例——使密码学家能够精确地交流他们所讨论的是哪种变体。
从维吉尼亚密码演进
Quagmire 家族处于一条清晰的演进脉络之中。维吉尼亚密码(1586 年)引入了重复关键词和维吉尼亚方阵。博福特密码将数学运算从加法改为减法。自动密钥密码通过将明文纳入密钥流来解决重复关键词的漏洞。而 Quagmire 家族解决的是另一个弱点:替换字母表本身的规律性。通过混排字母表,Quagmire 密码保留了维吉尼亚密码的运作结构(重复关键词、周期性替换),同时大幅提高了对基于频率的攻击的抵抗力。
四种 Quagmire 变体详解
所有四种变体共享一个共同结构:明文字母表、密文字母表,以及控制周期性移位的指示词密钥。区别它们的,是哪些字母表使用了关键词混排,哪些仍保持标准的 A-Z 顺序。
Quagmire I:关键词明文字母表,标准密文字母表
在 Quagmire I 中,明文字母表使用关键词构建,而密文字母表保持标准的 A-Z 顺序。指示词密钥决定生成多少个密文字母表及其旋转方式。
配置:
- 明文字母表:关键词混排
- 密文字母表:标准(ABCDEFG...XYZ)
- 所需密钥:1 个字母表关键词 + 1 个指示词密钥
**工作原理:**关键词明文字母表改变了"某个字母所处位置"与"该字母是什么"之间的映射关系。当标准密文字母表根据指示词移位时,所产生的替换不再是标准字母表的简单凯撒移位——而是应用于混排字母表的凯撒移位,从而产生难以预测得多的映射。
Quagmire II:标准明文字母表,关键词密文字母表
Quagmire II 将 I 型的配置颠倒。明文字母表为标准字母表,而密文字母表使用关键词混排。
配置:
- 明文字母表:标准(ABCDEFG...XYZ)
- 密文字母表:关键词混排
- 所需密钥:1 个字母表关键词 + 1 个指示词密钥
**工作原理:**此处明文字母从标准位置读取,但它们映射到的密文值来自一个混乱的字母表。对安全性的影响与 Quagmire I 相似——频率关系被破坏——但攻击面略有不同。当不使用字母表关键词时(即密文字母表也是标准字母表时),Quagmire II 本质上等同于维吉尼亚密码。
Quagmire III:两者使用相同关键词字母表(关键词维吉尼亚密码)
Quagmire III 是使用最广泛的变体。它对明文和密文位置使用同一个关键词混排字母表。这有时被称为关键词维吉尼亚密码,因为它用一个兼具双重用途的关键词字母表扩展了维吉尼亚密码的概念。
配置:
- 明文字母表:关键词混排
- 密文字母表:相同的关键词混排字母表
- 所需密钥:1 个字母表关键词 + 1 个指示词密钥
**工作原理:**由于明文和密文使用同一个关键词字母表,该系统具有优雅的对称性。指示词密钥将关键词字母表与自身对齐并移位,生成混排字母表位置映射到其他混排字母表位置的替换表。这种变体在安全性和易用性之间取得了最佳平衡,这也解释了它在 ACA 竞赛和地理寻宝谜题中广受欢迎的原因。
Quagmire IV:两个不同的关键词字母表
Quagmire IV 是最复杂、最安全的变体。它使用两个独立的关键词混排字母表——明文和密文各用一个不同的字母表。
配置:
- 明文字母表:关键词混排(关键词 1)
- 密文字母表:关键词混排(关键词 2,与关键词 1 不同)
- 所需密钥:2 个字母表关键词 + 1 个指示词密钥(共 3 个)
**工作原理:**使用两个独立的关键词字母表,替换表的复杂度达到最大。破解一个字母表对另一个毫无帮助,密码分析人员必须同时求解两个混排字母表。这使得在没有大量已知明文的情况下,Quagmire IV 是最难破解的变体。
快速参考表
| 特性 | Quagmire I | Quagmire II | Quagmire III | Quagmire IV |
|---|---|---|---|---|
| 明文字母表 | 关键词混排 | 标准 | 关键词混排 | 关键词混排(密钥 1) |
| 密文字母表 | 标准 | 关键词混排 | 关键词混排(相同) | 关键词混排(密钥 2) |
| 所需密钥总数 | 2 | 2 | 2 | 3 |
| 安全级别 | 较好 | 较好 | 更好 | 最好 |
| ACA 难度评级 | 中等 | 中等 | 较难 | 非常难 |
| 最适合用于 | 学习入门 | 变体尝试 | 通用场景 | 最高安全需求 |
逐步加密示例:Quagmire III
下面通过一个完整的 Quagmire III 加密过程,来具体了解该系统的运作方式。
准备工作:
- 明文消息:ATTACK AT DAWN
- 字母表关键词:CIPHER
- 指示词密钥:KEY
第一步:构建关键词字母表
取字母表关键词 CIPHER。先写出其中的唯一字母,再按标准顺序追加其余字母:
关键词字母(去重后): C I P H E R
剩余字母表字母: A B D F G J K L M N O Q S T U V W X Y Z
关键词字母表: C I P H E R A B D F G J K L M N O Q S T U V W X Y Z
位置: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
由于这是 Quagmire III,同一个关键词字母表 CIPHERABDFGJKLMNOQSTUVWXYZ 同时用于明文和密文。
第二步:生成密码方阵
指示词密钥 KEY 有三个字母,因此生成关键词字母表的三个移位版本。每个指示词字母通过在关键词字母表中的位置来确定移位量:
- K 在关键词字母表中位于第 12 位,因此将字母表向左移动 12 个位置。
- E 位于第 4 位,因此向左移动 4 个位置。
- Y 位于第 24 位,因此向左移动 24 个位置。
关键词字母表:C I P H E R A B D F G J K L M N O Q S T U V W X Y Z
[K] 移位 12: K L M N O Q S T U V W X Y Z C I P H E R A B D F G J
[E] 移位 4: E R A B D F G J K L M N O Q S T U V W X Y Z C I P H
[Y] 移位 24: Y Z C I P H E R A B D F G J K L M N O Q S T U V W X
第三步:加密每个字母
去掉明文中的空格:ATTACKATDAWN。将指示词密钥循环对齐:
指示词: K E Y K E Y K E Y K E Y
明文: A T T A C K A T D A W N
对每个明文字母,找出其在关键词字母表中的位置,再在对应的移位字母表中查找相应字母:
| 位置 | 明文 | 指示词 | 明文在关键词字母表中的位置 | 密文(来自移位字母表) |
|---|---|---|---|---|
| 1 | A | K | 6(A 位于第 6 位) | S |
| 2 | T | E | 19(T 位于第 19 位) | X |
| 3 | T | Y | 19 | Q |
| 4 | A | K | 6 | S |
| 5 | C | E | 0(C 位于第 0 位) | E |
| 6 | K | Y | 12 | G |
| 7 | A | K | 6 | S |
| 8 | T | E | 19 | X |
| 9 | D | Y | 8 | A |
| 10 | A | K | 6 | S |
| 11 | W | E | 22 | C |
| 12 | N | Y | 15 | L |
结果:
明文: A T T A C K A T D A W N
指示词:K E Y K E Y K E Y K E Y
密文: S X Q S E G S X A S C L
加密后的消息为 SXQSEGSXASCL。
第四步:通过解密验证
解密时,将过程反转:对每个密文字母,找出其在对应移位字母表中的位置,再查找关键词字母表中该位置对应的字母。
- 第 1 位:S 在 [K] 移位字母表中位于第 6 位。关键词字母表第 6 位是 A。正确。
- 第 2 位:X 在 [E] 移位字母表中位于第 19 位。关键词字母表第 19 位是 T。正确。
解密还原出原始消息。
关键词字母表的构建方法
关键词字母表是所有 Quagmire 变体的基础。以下是精确的算法:
- 选择一个关键词。 例如:CRYPTOGRAPHY。
- 转为大写并去除重复字母,只保留每个字母的首次出现。C-R-Y-P-T-O-G-R-A-P-H-Y 变为 CRYPTOGAH(第二个 R、P 和 Y 被去掉)。
- 按标准顺序追加其余字母表字母:B、D、E、F、I、J、K、L、M、N、Q、S、U、V、W、X、Z。
- 最终关键词字母表:
CRYPTOGAHBDEFIJKLMNQSUVWXZ。
这种方法生成一个简单的错排字母表——其中字母不一定处于原始位置,错排程度取决于关键词。包含更多唯一字母的较长关键词能产生更彻底的混排字母表。
选择好的关键词
并非所有关键词效果都相同:
- 包含更多唯一字母的较长关键词能产生更好的混排效果。一个包含 10 个唯一字母的关键词比一个 4 字母的关键词能错开更多字母。
- 避免短词或常用词。 像"CAT"这样的关键词只能错开三个字母,大部分字母表仍保持标准顺序。
- 来自字母表各个区域的字母能产生更大的扰乱。像"JUXTAPOSED"这样的关键词(包含字母表多个区域的字母)比"ABCDEF"(只是将开头字母移位)创造出更彻底的混排。
- 指示词密钥也应谨慎选择。其长度决定了密码的周期,较长的周期通常能提高安全性。
Quagmire 密码的密码分析
第一步:确定周期(关键词长度)
任何 Quagmire 密码分析的第一阶段与破解维吉尼亚密码相同:确定指示词密钥的长度。
卡西斯基检验。 在密文中搜索三个或更多字母的重复序列。当相同的明文片段在消息中的两个不同位置恰好与相同的指示词密钥位置对齐时,产生的密文将完全相同。这些重复序列之间的距离是指示词密钥长度的倍数。求若干这类距离的最大公约数,通常能揭示出周期。
重合指数(IC)。 根据假设的周期长度将密文分组。如果周期正确,每组都将用同一个移位字母表加密,其重合指数将接近自然英文文本的重合指数(约 0.0667)。如果周期错误,重合指数将更接近随机基准值(约 0.0385)。测试几个候选周期,选择在所有分组中产生最高平均重合指数的那个。
第二步:还原指示词密钥
一旦确定周期,将密文分组,使每组都用同一个移位字母表加密。对于 Quagmire II 和 III,针对预期英文字母频率进行卡方检验有助于确定每组的移位量。这一步与维吉尼亚密码的密钥还原类似,但混排字母表意味着频率分布与英文分布的简单移位不匹配——而是其置换版本。
对于 Quagmire I 和 IV,混排字母表使情况更加复杂。每组的频率分布同时反映了移位量和字母表混排,在没有额外信息的情况下,直接进行频率匹配不可靠。
第三步:明文攻击
**明文攻击(crib analysis)**使用已知或疑似的明文片段。这是针对 Quagmire 密码——尤其是频率分析单独不足以解决的 I 型和 IV 型——最有效的技术。
如果你怀疑明文包含单词"THE"(对英文文本来说是极好的猜测),你可以:
- 将"THE"放置在密文中的每个可能位置进行尝试。
- 对每个位置,计算字母表关键词和指示词密钥需要满足的条件。
- 检查这些值是否与共享相同指示词密钥字母的其他位置一致。
- 一致的值同时缩小字母表关键词和指示词密钥的范围。
第四步:字母表还原
最后的挑战——Quagmire 密码所独有的——是还原关键词混排字母表。一旦建立了足够多的指示词密钥/明文-密文对,混排字母表便可以重建。每个已知的对揭示字母表中的一个映射关系。有了足够多的映射,通常可以通过识别模式来推断出生成该字母表的关键词:一块关键词字母,后面跟着按顺序排列的其余字母。
各变体的分析难度
| 变体 | 密码分析难度 | 核心挑战 |
|---|---|---|
| Quagmire I | 中等 | 需还原一个混排字母表 |
| Quagmire II | 中等 | 需还原一个混排字母表 |
| Quagmire III | 较难 | 一个混排字母表,使用两次 |
| Quagmire IV | 非常难 | 需还原两个独立的混排字母表 |
Quagmire 与维吉尼亚密码、博福特密码对比
| 属性 | 维吉尼亚密码 | 博福特密码 | Quagmire I | Quagmire III | Quagmire IV |
|---|---|---|---|---|---|
| 字母表类型 | 标准移位 | 标准移位 | 混排明文,标准密文 | 相同混排字母表 | 两个不同的混排字母表 |
| 加密公式 | C = (P + K) mod 26 | C = (K - P) mod 26 | 关键词替换 + 移位 | 关键词替换 + 移位 | 双关键词替换 + 移位 |
| 自互反性 | 否 | 是 | 否 | 否 | 否 |
| 易受简单频率分析攻击 | 是(按组) | 是(按组) | 部分抵抗 | 抵抗 | 高度抵抗 |
| 卡西斯基检验 | 有效 | 有效 | 有效(用于确定周期) | 有效(用于确定周期) | 有效(用于确定周期) |
| 所需密钥数 | 1 | 1 | 2 | 2 | 3 |
| 密钥空间(相对) | 小 | 小 | 中等 | 中等 | 大 |
| 实际安全性 | 低 | 低 | 中等 | 较好 | 非常好 |
关键区别在于确定周期之后发生的事情。对维吉尼亚密码和博福特密码而言,每组都归结为频率分析可立即破解的凯撒密码。对 Quagmire 密码而言,每组都是混排字母表的替换密码,需要更多密文、更复杂的分析,或已知明文才能破解。
当今的实际应用
地理寻宝谜题
Quagmire 密码深受地理寻宝谜题创作者的喜爱。多个关键词与四种变体类型的组合为谜题设计者提供了相当大的灵活性。Quagmire III 尤为流行,因为它对解题者来说具有真正的挑战性,同时采用正确方法又是可以攻克的。许多地理寻宝谜题会提供部分已知明文(例如 GPS 坐标的预期格式),使得密码在付出努力后可以解开。
ACA 竞赛
美国密码学协会在《Cryptogram》杂志中定期收录 Quagmire 密码挑战。会员提交并破解所有四种类型的密码,难度评级反映变体类型和密文长度。Quagmire IV 挑战被认为是 ACA 竞赛中难度最高的标准密码类型之一,成功破解能在社群中赢得相当的声望。
密码学教育
Quagmire 家族非常适合讲授几个基本概念:
- 字母表构建对替换密码安全性的重要性。
- 从简单到复杂的多表替换系统的演进过程。
- 密钥空间的重要性——比较 I 型至 IV 型可以直观展示额外密钥如何提升安全性。
- 古典密码的局限性——即使是 Quagmire IV 也无法抵御现代计算攻击,说明了为何需要根本不同的方法(如 AES)才能实现真正的安全。
CTF(夺旗赛)挑战
Quagmire 密码出现在网络安全 CTF 竞赛中,尤其是中等难度级别。它考察参赛者识别密码类型、确定变体,并应用适当密码分析技术的能力。四种变体的存在增加了简单密码所没有的识别挑战。
常见问题解答
Quagmire 密码与维吉尼亚密码有何区别?
维吉尼亚密码只使用标准(移位)字母表——每个替换字母表都只是正常 A-Z 序列旋转某个量的结果。Quagmire 密码家族使用关键词混排字母表,字母顺序在移位之前已被打乱。这意味着即使密码分析人员确定了周期并分离出各个字母表,每个字母表也是一个混乱字母的替换密码,而非简单的移位。破解混排字母表需要多得多的密文和更复杂的技术,这就是 Quagmire 密码比维吉尼亚密码安全得多的原因。
应该使用哪种 Quagmire 变体?
在大多数情况下,Quagmire III(关键词维吉尼亚密码)在安全性和简便性之间提供了最佳平衡。它对明文和密文使用同一个关键词字母表,这意味着你只需记住两个关键词:一个用于字母表,一个用于指示词。如果你需要最高安全性,且不介意管理三个关键词,Quagmire IV 提供了最强的保护。Quagmire I 和 II 主要具有历史和教育价值。
每种 Quagmire 变体需要多少个关键词?
Quagmire I、II 和 III 各需要两个关键词:一个字母表关键词(用于生成混排字母表)和一个指示词密钥(用于控制周期性移位)。Quagmire IV 需要三个关键词:两个字母表关键词(一个用于明文字母表,一个用于密文字母表)和一个指示词密钥。
Quagmire 密码能被计算机破解吗?
可以。虽然 Quagmire 密码比维吉尼亚密码更难破解,但并不能抵御计算机攻击。计算机可以使用重合指数确定周期,然后应用爬山算法或遗传算法来搜索关键词混排字母表。在有足够密文的情况下(通常需要几百个字符),自动求解器可以还原密钥。Quagmire IV 对自动攻击的抵抗力最强,因为需要还原两个独立的字母表,但给定足够的素材,它也可以被破解。没有任何古典密码能对现代计算资源提供真正的安全保障。
Quagmire 系统中"指示词密钥"是什么意思?
指示词密钥(有时称为"指示词"或简称"indicator")是控制密文字母表周期性移位的关键词。它的功能与标准维吉尼亚密码中的关键词完全相同:指示词的每个字母选择一个特定的密文字母表移位(或旋转)量。指示词的长度决定密码的周期——一个 5 字母的指示词创建周期为 5,意味着替换模式每 5 个字符重复一次。指示词密钥与生成混排字母表的字母表关键词是不同的概念。
为何 Quagmire III 被称为"关键词维吉尼亚密码"?
Quagmire III 被称为关键词维吉尼亚密码,是因为它通过将标准字母表替换为关键词混排(关键词化)字母表来扩展标准维吉尼亚密码。操作过程与维吉尼亚密码相同——将重复的指示词密钥与明文对齐,然后在方阵中查找替换——但方阵是由关键词字母表而非标准 A-Z 序列构建的。"关键词"前缀将其与标准维吉尼亚密码区分开来,同时也承认了它们之间的直接传承关系。
Quagmire 密码与 ACA 密码类型有何关联?
美国密码学协会(ACA)维护着数十种密码类型的分类系统。Quagmire 家族占据一个特定类别:使用关键词混排字母表的周期性多表替换密码。ACA 为每种变体分配了一个不同的类型编号(I 至 IV),并定期发布每种类型的挑战密码。许多 ACA 会员专注于特定密码类型,Quagmire 各变体——尤其是 III 型和 IV 型——被认为是最具声望的破解挑战之一。
立即开始使用 Quagmire 密码加密
Quagmire 密码家族代表了古典多表替换加密领域最精妙的成就之一。通过将关键词混排字母表与周期性替换相结合,它解决了使维吉尼亚密码易被破解的根本弱点,同时保留了多表替换框架的优雅性和易用性。
准备好亲自体验了吗?使用我们的 Quagmire 密码编码器以四种变体加密消息,或使用 Quagmire 密码解码器挑战你的密码分析技能,利用明文攻击和自动求解技术破解 Quagmire 加密的消息。