大家应该都吃过培根这种食物,但你可知道在古典密码中有一种以“培根”为命名的密码算法。今天我们就来通过本文了解一下这个“培根密码”。
培根密码简介
培根密码有名“倍康尼密码”,英文明文Bacon's cipher,它并不是由培根这种食物而得名,而是由法兰西斯·培根所发明的一种隐写术。
培根密码本质上是将二进制信息通过样式的区别,加在了正常书写之上。培根密码所包含的信息可以和用于承载其的文章完全无关。
培根密码实际上就是一种替换密码,根据所给表一一对应转换即可加密解密。
培根密码特殊之处在于,可以通过不明显的特征来隐藏密码信息,比如大小写、正斜体等,只要两个不同的属性,密码即可隐藏。
培根密码的加密过程
第一步:培根密码在加密时,明文中的每个字母都会转换成一组五个英文字母。其转换依靠下表:
例如明文“I LOVE YOU”,转换成ABAAAABABBABBBABABABAABAABBAAAABBBABABAA。这一步只是一个简单替换密码。
第二步:然后准备一条假信息,包含与密文相同长度的字母数。例如第一步的密文一共有40个字母,准备一条长度40(不包含空格)的假信息:Behind the mountain there are people to be found.
第三步:用两种不同的字体,重写假信息。比如正常字体表示A,粗体表示B,这其实就是一种隐写术。
密文: ABAAAABABBABBBABABABAABAABBAAAABBBABABAA
假信息:Behind the mountain there are people to be found.
重写的假信息:Behind the mountain there are people to be found.
培根密码的解密过程
解密时,将上述方法倒转:首先将假信息五个一组重新排列,字体一转成A,字体二转成B,然后再按照转换表翻译回明文。
例如密文:bAcon iS a MEaT prodUcT prePared frOm a pig and UsuALLy cUReD
五个一组重新排列:bAcon iSaMEaTpro dUcTp rePar edfrO mapig andUs uALLy cUReD
小写字母转换成A,大写字母转换成B:abaaa ababb abaaa ababa aabaa aaaab aaaaa aaaba abbba abbab
根据转换表每五个密文字母对应一个明文字母,得到明文:i like bacon。
免责声明:素材源于网络,如有侵权,请联系删稿。