培根密码
培根密码,又名倍康尼密码[1](英语:Bacon's cipher)是由法兰西斯·培根发明的一种隐写术。
原理
加密时,明文中的每个字母都会转换成一组五个英文字母。其转换依靠下表:
a AAAAA g AABBA n ABBAA t BAABA b AAAAB h AABBB o ABBAB u-v BAABB c AAABA i-j ABAAA p ABBBA w BABAA d AAABB k ABAAB q ABBBB x BABAB e AABAA l ABABA r BAAAA y BABBA f AABAB m ABABB s BAAAB z BABBB
这只是一款最常用的加密表,有另外一款将每种字母配以不同的字母组予以转换,即I与J、U与V皆有不同编号。
加密者需使用两种不同字体,分别代表A和B。准备好一篇包含相同AB字数的假信息后,按照密文格式化假信息,即依密文中每个字母是A还是B分别套用两种字体。[2]
解密时,将上述方法倒转。所有字体一转回A,字体二转回B,以后再按上表拼回字母。
法兰西斯·培根另外准备了一种方法,其将大小写分别看作A与B[3],可用于无法使用不同字体的场合(例如只能处理纯文本时)。但这样比起字体不同更容易被看出来,而且和语言对大小写的要求也不太兼容。
培根密码本质上是将二进制信息通过样式的区别,加在了正常书写之上。培根密码所包含的信息可以和用于承载其的文章完全无关。
例子
以下一段包含了'steganography',正常字体是A,粗体是B:
To encode a message each letter of the plaintext is replaced by a group of five of the letters 'A' or 'B'.
按照正常字体是A,粗体是B的规则改变上文:
ba aabbaa b aaabaaa abba aaaaaa bb aaa bbabaabba ba aaaaaaaa ab b baaab bb babb ab baa abbaabb 'b' bb 'b'.
每五个字符一组,对照字母表解密:
baaab(S) baaba(T) aabaa(E) aabba(G) aaaaa(A) abbaa(N) abbab(O) aabba(G) baaaa(R) aaaaa(A) abbba(P) aabbb(H) babba(Y) bbaaa bbaab bbbbb
最后三组由于无法按照字母表解密,故为无效信息。
培根与莎士比亚
有说法指莎士比亚的剧本实际由法兰西斯·培根所写,因此剧本中所书的文字有可能包含培根密码[4]:42-50页。伊格内修斯·L·唐纳利与伊丽莎白·韦尔斯·盖洛普曾试图从莎士比亚的旧剧本中找出上述密码。
但是,美国密码学家威廉·F·傅利曼和伊丽莎白·傅利曼证明了莎士比亚剧本中没有包含培根又或其它密码[5]。
参考资料
- ^ 蔡文郎. 參加第八屆亞裔組織犯罪及恐怖主義國際會議報告. 法务部调查局: 19. [2012-02-03] (中文(繁体)).[永久失效链接]
- ^ Helen Fouché Gaines, Cryptanalysis: a Study of Ciphers and Their Solutions (1989), page 6]
- ^ Biliteral can mean: "written in two different scripts", Oxford English Dictionary
- ^ Wadsworth, Frank. The Poacher from Stratford: A Partial Account of the Controversy over the Authorship of Shakespeare's Plays. 加利福尼亚大学出版社. 1958 [28 January 2011]. ISBN 978-0-520-01311-7. (原始内容存档于2016-09-01).
- ^ 威廉·F·傅利曼、伊丽莎白·傅利曼. The Shakespearean Ciphers Examined. 剑桥大学出版社. 1957.