🥓 培根密码
五元组编码 · 隐写术 · 标准/替代表
五元组编码 · 隐写术 · 标准/替代表
培根密码由弗朗西斯·培根于1605年发明,每个字母用5位二进制(用A和B表示)编码,如A=AAAAA、B=AAAAB。它本质是一种隐写术,通过控制字母大小写或字体来隐藏信息,而不只是加密。
标准培根表有24个编码,I/J、U/V各共享一个编码;替代培根表给26个字母都分配独立编码,完整覆盖A-Z。本工具两种都支持。
把编码的A/B映射到文本中字母的大小写变化,例如大写=A、小写=B。读信人通过观察字母大小写,就能提取出隐藏的AB序列,再还原成消息。
按严格定义,培根并不"隐藏"信息,而是把信息"藏进"一段看似正常的文本里。它不改变载体文本的语义,外人看不出异样,这正是隐写术(steganography)的核心。
5位二进制有2^5=32种组合,足够覆盖26个字母。标准表只用24个(合并IJ、UV),替代表用26个,其余组合留作扩展或控制符。
不做隐写时,培根就是公开的编码表,毫无加密性;做隐写时,只要对方怀疑有猫腻,把大小写转成AB再解码即可,也谈不上安全。它主要用于趣味和教学。
思路类似:都是把每个字母翻译成一串符号。摩尔斯用点和划表示,培根用A和B表示。区别是培根的内在用途是隐写,摩尔斯是传输编码。
经典培根只针对拉丁字母。中文需先转拼音(去掉声调)或转成字母串才能套用本工具,本工具仅支持A-Z。
培根用5个字符(A或B)表示一个字母,本质是5位二进制(A=0、B=1)。
| 字母 | 编码 | 字母 | 编码 | 字母 | 编码 |
|---|---|---|---|---|---|
| A | AAAAA | I/J | ABAAA | R | BAAAA |
| B | AAAAB | K | ABAAB | S | BAAAB |
| C | AAABA | L | ABABA | T | BAABA |
| D | AAABB | M | ABABB | U/V | BAABB |
| E | AABAA | N | ABBAA | W | BABAA |
| F | AABAB | O | ABBAB | X | BABAB |
| G | AABBA | P | ABBBA | Y | BABBA |
| H | AABBB | Q | ABBBB | Z | BABBB |
这就是培根密码最经典的"字间藏字"用法,也是隐写术的启蒙。
培根的A/B本质就是二进制的0/1,5位编码就是5位二进制。
| 字母 | AB编码 | 二进制 | 十进制 |
|---|---|---|---|
| A | AAAAA | 00000 | 0 |
| D | AAABB | 00011 | 3 |
| H | AABBB | 00111 | 7 |
| M | ABABB | 01011 | 11 |
| Z(替代) | BBAAB | 11001 | 25 |
可以说培根算是"字符编码"的早期雏形,和后来的ASCII、Unicode一脉相承。
| 维度 | 培根密码 | 摩尔斯码 |
|---|---|---|
| 符号 | A/B | 点/划 |
| 每字母长度 | 固定5位 | 不固定(1-4) |
| 主要用途 | 隐写 | 电信号传输 |
| 年代 | 1605 | 1830s |
| 本质 | 二进制编码 | 可变长编码 |
| 字母 | 标准表 | 替代表 |
|---|---|---|
| I | 与J共享ABAAA | ABAAA |
| J | 与I共享ABAAA | ABAAB |
| U | 与V共享BAABB | BABAA |
| V | 与U共享BAABB | BABAB |
1. 输入文本(A-Z字母)。
2. 选择编码表(标准24字母或替代26字母)。
3. 点击"编码"生成AB五元组。
4. 点击"解码"将AB五元组转回字母。