波尔塔密码:Giovanni Battista della Porta 的文艺复兴加密

波尔塔密码是由 Giovanni Battista della Porta 于 1563 年创建的多表替换密码,使用 13 个互反字母表,成对密钥字母选择同一替换表,使加密和解密操作完全相同。使用此免费工具即时使用 della Porta 的自互反系统编码和解码消息。

自反性加密和解密使用相同操作
结果
0 字符
关键词:
选项:保留大小写

波尔塔13表系统

每对密钥字母(A/B、C/D、E/F、...、Y/Z)使用相同的替换表。点击表格探索该系统。

全部13张表概览

表 0 (A/B)
NOPQRSTUVWXYZABCDEFGHIJKLM
表 1 (C/D)
OPQRSTUVWXYZNMABCDEFGHIJKL
表 2 (E/F)
PQRSTUVWXYZNOLMABCDEFGHIJK
表 3 (G/H)
QRSTUVWXYZNOPKLMABCDEFGHIJ
表 4 (I/J)
RSTUVWXYZNOPQJKLMABCDEFGHI
表 5 (K/L)
STUVWXYZNOPQRIJKLMABCDEFGH
表 6 (M/N)
TUVWXYZNOPQRSHIJKLMABCDEFG
表 7 (O/P)
UVWXYZNOPQRSTGHIJKLMABCDEF
表 8 (Q/R)
VWXYZNOPQRSTUFGHIJKLMABCDE
表 9 (S/T)
WXYZNOPQRSTUVEFGHIJKLMABCD
表 10 (U/V)
XYZNOPQRSTUVWDEFGHIJKLMABC
表 11 (W/X)
YZNOPQRSTUVWXCDEFGHIJKLMAB
表 12 (Y/Z)
ZNOPQRSTUVWXYBCDEFGHIJKLMA
波尔塔密码仅使用13张表而非26张,每张表都具有自反性(加密 = 解密)

关于波尔塔密码的常见问题

什么是 Porta 密码?

它是一种多表替换密码。Giovanni Battista della Porta 于 1563 年发明并在《De Furtivis Literarum Notis》中发表了它。该密码使用 13 个由成对密钥字母选择的替换字母表,每个字母表都会在字母表的两半之间进行交换,因此它是密码学史上最早的自反加密系统之一。

Porta 密码是如何工作的?

每个密钥字母都会选择 13 张替换表中的一张。密钥字母是成对使用的(A/B、C/D、E/F 等),因此相邻两个字母会共用同一张表。在每张表中,前 13 个字母(A-M)会映射到后 13 个字母(N-Z),反之亦然。密钥会在明文上循环重复,明文中的每个字母都会被替换成所选表中的对应字母。

谁发明了 Porta 密码?

发明者是 Giovanni Battista della Porta。他于 1535 年出生于意大利那不勒斯,是一位多面手、剧作家和密码学家。他在 1563 年的著作《De Furtivis Literarum Notis》中发表了这种密码,同时还介绍了其他密码方法。他的贡献使他与 Alberti 和 Trithemius 一起成为文艺复兴时期密码学的重要人物。

为什么 Porta 密码只使用 13 个字母表?

因为英语字母表有 26 个字母。Porta 密码把字母表分成两个各含 13 个字母的半区(A-M 和 N-Z),并在两半之间进行交换。由于每张表都把前半区和后半区做互反映射,所以只需要 13 个不同的替换字母表。密钥字母也被分成 13 组(A/B 到 Y/Z),每组对应一张表。

Porta 密码是自反的吗?

是的,Porta 密码完全自反。对密文使用同样的加密操作并配合同一把密钥,就会得到原始明文。这意味着不需要单独的解密算法——同一个过程既用于加密也用于解密。之所以如此,是因为每张替换表都在字母表两半之间做了对称配对。

如何解密 Porta 密码?

解密时使用与加密完全相同的过程。由于 Porta 密码是自反的,你只需要输入密文和原始关键词,工具就会输出明文。每个密文字母都会根据对应的密钥字母,在同一张替换表中查找,互反映射会自动返回原始字母。

Porta 密码与维吉尼亚密码有什么不同?

主要区别在于替换方式。维吉尼亚密码会按密钥决定的位移移动整个字母表,得到 26 种可能的字母表。Porta 密码则使用 13 张表在字母表两半之间交换字母,因此它是自反的。维吉尼亚密码需要分别进行加密和解密,而 Porta 只需一个操作即可完成两者。

在哪里可以查看完整的 Porta 密码表?

我们的 Porta 密码表页面展示了全部 13 个替换字母表,并支持交互式高亮。每张表都将字母表前半区(A-M)映射到后半区(N-Z),只是偏移量不同。你还可以查看多种历史版本,包括 della Porta 1563 年的原始版本和 ACA 标准化的现代版本。

什么是波尔塔密码?

波尔塔密码是一种多表替换密码,由意大利学者 Giovanni Battista della Porta 于 1563 年发明,发表于其论著 De Furtivis Literarum Notis。它使用 13 个互反替换字母表——仅为维吉尼亚密码的一半——却通过一个优雅的数学特性实现了与之相当的安全性:自互反性。

13 个字母表中的每一个都在字母表的两半(A–M 与 N–Z)之间进行字母交换,因此加密和解密是完全相同的操作。如果在某个密钥字母下"A"加密为"N",那么对"N"执行相同的操作将还原为"A"。这一特性使该密码对文艺复兴时期的外交官和军事将领极为实用——他们需要一套既安全又不易在野战中误用的系统。

波尔塔密码加密方法

  1. 选择关键词 — 任意易记的单词或短语(例如"NAPLES")
  2. 将关键词循环写在明文上方,每个明文字母对应一个密钥字母
  3. 查找每对密钥字母 — A/B → 表 0,C/D → 表 1,…,Y/Z → 表 12
  4. 替换明文中的每个字母,使用对应的表
  5. 解密时,对密文执行完全相同的步骤即可 — 互反表会自动反转映射

我们的工具在您输入时实时完成上述所有操作,并支持多种历史表格变体。

波尔塔密码表——完整的 13 字母表参考

该密码的核心特征是其紧凑的表格系统。密钥字母两两配对,每两个连续字母共享同一替换字母表:

表格密钥字母映射原理
0A, B前半部分 ↔ 后半部分,偏移量 0
1C, D交换,偏移量 1
2E, F交换,偏移量 2
3G, H交换,偏移量 3
4I, J交换,偏移量 4
5K, L交换,偏移量 5
6M, N交换,偏移量 6
7O, P交换,偏移量 7
8Q, R交换,偏移量 8
9S, T交换,偏移量 9
10U, V交换,偏移量 10
11W, X交换,偏移量 11
12Y, Z交换,偏移量 12

包含全部 26 字母映射的完整互动表格,请参见我们的波尔塔密码表页面。

波尔塔密码示例

以下结果都由本页编码器按上面的 13 张表算出;空格保留,只有字母参与加密。

示例 1:用关键词 FLORENCE 加密

明文: MEET AT MIDNIGHT · 关键词: FLORENCE

把关键词逐个写在字母上方(空格跳过),再查每个密钥字母对应的表:F → 2,L → 5,O → 7,R → 8,E → 2,N → 6,C → 1。

明文:  M E E T  A T  M I D N I G H T
密钥:  F L O R  E N  C E F L O R E N
表号:  2 5 7 8  2 6  1 2 2 5 7 8 2 6
密文:  O W Y L  P A  N X S I P O W A

密文为 OWYL PA NXSIPOWA。A–M 中的字母全部变成了 N–Z 中的字母,反之亦然,所以波尔塔密码的密文字母永远不会和对应的明文字母相同。

示例 2:解密就是再做一遍加密

把 OWYL PA NXSIPOWA 和同一个关键词 FLORENCE 输入,执行完全相同的操作,得到的就是 MEET AT MIDNIGHT。不存在单独的解密步骤,也就不会用错,这正是它适合野战使用的原因。

示例 3:成对的密钥字母共用一张表

由于 A/B、C/D……Y/Z 两两共用一张表,不同的关键词可能效果完全一样。NAPLES 依次使用第 6、0、7、5、2、9 号表,MBOKFT 也是如此(M/N、B/A、O/P、K/L、F/E、T/S)。无论用哪个关键词,ATTACK AT DAWN 都会加密成 TGMSRT TG XSHE。因此每个密钥位置实际只有 13 种有效选择而不是 26 种,攻击者在每个位置上的工作量都减半了。

示例 4:练习题

用关键词 PORTA 加密 CIPHER。先自己算一遍,再看答案。

答案: WPHQRK。用同一个关键词再处理一次 WPHQRK,就会得到 CIPHER——这是核对任何波尔塔结果的快捷方法。

波尔塔密码与维吉尼亚密码的比较

两者都是多表替换密码,但在根本特性上有所不同:

特性波尔塔密码维吉尼亚密码
字母表数量13 个互反表26 个移位表
密钥字母映射配对(A/B 共享一个表)单独(每个字母对应唯一移位)
互反性是 — 相同操作用于加密和解密否 — 需要单独的解密步骤
输出范围密文字母始终位于字母表的另一半任意字母均可出现
发明时间1563 年,by della Porta1586 年,by Blaise de Vigenère
安全级别中等(每个位置的密钥空间较小)中等(字母集合更大)

一旦确定密钥长度,两者都容易受到 Kasiski 测试和频率分析的攻击。

常见问题

波尔塔密码是什么?

这是一种由 Giovanni Battista della Porta 于 1563 年创建的多表替换密码。它使用由配对密钥字母选择的 13 个自互反字母表,使加密和解密成为完全相同的操作。

如何解密波尔塔密码?

使用与加密完全相同的步骤。由于每个替换表都是自身的逆,将密文与原始密钥一起输入后,明文会自动还原。当密钥未知时,我们的解码器还支持自动密码分析。

为什么只用 13 个字母表而非 26 个?

字母表被分为各含 13 个字母的两半(A–M 和 N–Z)。每个表在两半之间进行互反交换,因此只需要 13 种不同的映射。密钥字母相应地被分为 13 组进行配对。

波尔塔密码现在还安全吗?

不再安全。与所有古典多表替换密码一样,它无法抵御现代统计攻击——Friedman 测试、Kasiski 测试和暴力破解。由于只有 13 个有效字母表且关键词循环使用,计算机可在几秒内将其破解。它在教育和历史研究方面仍有重要价值。

它与 Beaufort 密码有何不同?

两者都是自互反的,但实现方式不同。波尔塔密码使用 13 个专用交换表,而 Beaufort 密码使用单一的逆序字母表公式。波尔塔密码发明时间比 Beaufort 密码早近 300 年(1563 年对比 19 世纪 50 年代)。

相关工具与资源