0

解码结果

培根
字母表

编码结果

培根
字母表
表示
分组

关于培根密码

培根密码是一种替换密码,用 A/B 等二值的五位模式表示每个字母。

明文 : HELLO, WORLD!
密文 : AABBB AABAA ABABB ABABB ABBBA ,  BABBA ABBBA BAAAB ABABB AAABB !

原始培根密码使用 24 个字母的字母表,其中 I/J 和 U/V 分别视为同一个字母。后来的第二版为 A 到 Z 的每个字母都分配了独立的编码。DenCode 支持这两种字母表。

原始的 24 字母表

在原始字母表中,I 和 J 共用一个编码,U 和 V 也共用一个编码。编码时,J 按 I 处理,V 按 U 处理。

AAAAAABAAAABCAAABADAAABB
EAABAAFAABABGAABBAHAABBB
I/JABAAAKABAABLABABAMABABB
NABBAAOABBABPABBBAQABBBB
RBAAAASBAAABTBAABAU/VBAABB
WBABAAXBABABYBABBAZBABBB

第二版:26 字母表

在第二版中,从 A 到 Z 的每个字母都有独立的培根编码,包括 I、J、U 和 V。

AAAAAABAAAABCAAABADAAABB
EAABAAFAABABGAABBAHAABBB
IABAAAJABAABKABABALABABB
MABBAANABBABOABBBAPABBBB
QBAAAARBAAABSBAABATBAABB
UBABAAVBABABWBABBAXBABBB
YBBAAAZBBAAB

所选字母表不支持的字符会保持原样。

作为隐写术使用

培根密码由弗朗西斯·培根于 1605 年提出。如果直接写成五位 A/B 组,它就是一种替换密码;如果把 A/B 的差异隐藏在另一段文字的外观中,它也可以作为隐藏式密码或隐写术使用。

作为隐写术使用时,先把秘密消息转换成 A/B 序列,再准备一段长度足够的表面文字来承载这个序列。表面文字中的每个字母用两种字体之一书写:一种读作 A,另一种读作 B。文字看起来仍然是普通句子,但按五个一组读取字体差异,就能还原隐藏消息。培根还描述过用于手写的双字母表,让大写和小写字母各有两种替代形态。

例如,把“HI”加密会得到“AABBB ABAAA”。如果把它隐藏在表面文字“Hello world”中,效果如下:

  H     I
AABBB ABAAA
Hello world

在这个例子中,普通字母读作 A,粗体字母读作 B。看见的文字是“Hello world”,但只读取字体差异会得到“AABBB ABAAA”,按五个一组解码后就是“HI”。