跳转到内容

培根密码

维基百科,自由的百科全书

培根密码,又名倍康尼密码[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]

参考资料

  1. ^ 蔡文郎. 參加第八屆亞裔組織犯罪及恐怖主義國際會議報告. 法务部调查局: 19. [2012-02-03] (中文(繁体)). [永久失效链接]
  2. ^ Helen Fouché Gaines, Cryptanalysis: a Study of Ciphers and Their Solutions (1989), page 6]
  3. ^ Biliteral can mean: "written in two different scripts", Oxford English Dictionary
  4. ^ 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). 
  5. ^ 威廉·F·傅利曼、伊丽莎白·傅利曼. The Shakespearean Ciphers Examined. 剑桥大学出版社. 1957. 

外部链接