技术交流 > 文章列表
【资料】普莱菲尔密码详述 (浏览次数:1659)
发表于2009-7-2 19:56:00
在《密码知识讲座与练习》中的第二篇《棋盘密码及其“衍生物”》里面简略地提到过普莱菲尔密码,可能真的是写得太过简略了,所以一直以来有许多朋友问我这种密码究竟是如何加密和破译的,当然,我想认真去搜索一下网上还是会有许多帖子谈及到的,不过既然是我之前没能论述清楚,那么就补上这一课,详细的谈一下这个问题。此密码年代久远了,属于古典密码范畴,算是一种很基础的东西了,而我作为一名爱好者也仅是凭自己的理解与研究而写的,因此还请高手多批评指正。

【普莱菲尔密码由来与应用】
普莱菲尔密码诞生于1854年,是由名叫Charies Wheatstone的人发明的一种替换密码。当时他的朋友莱昂?普莱菲尔任职英国科学大臣,由他大力推荐后该密码开始应用于英军方与政府部门,故得此命名。再后来,英国发起的1854年克里米亚战争以及1899年布尔战争中普莱菲尔密码得以广泛应用。

【普莱菲尔密码加密方法】
普莱菲尔密码的编写方法是极为简单的,通常可以分为三个步骤,即编制密码表、整理明文、编写译文,下面我们以明文:pishoupideweinasi(“披兽皮的维纳斯”,欢迎光临我的博客O(∩_∩)O~)和密钥“culture”为例来讲解。
(1) 编制密码表
我们需要的是一个5乘5的方表,而用到的是密钥“culture”与英文字母表:
Ⅰ整理密钥字母C U L T U R E,去掉后面重复的字母以,得到字母串:C U L T R E;
Ⅱ用上一步得到的字母自上而下来填补5乘5方表的纵列(也可横排),之后的空白按照相同的顺序用字母表中剩余的字母依次填补完整,得到如下的方格,
 
这一步需要注意的要点:整理密钥字母时,如果出现z,则需要去除,因为在英文里z的使用频率最低,相应的如果是德文,则需将i与j当作一个字母来看待,而法语则去掉w或k。
(2)  整理明文
我们要遵循的原则是“两个一组”,得到是若干个两两成对的字母段,用到的是明文pishoupideweinasi与字母“x”:
Ⅰ将明文两两一组按顺序排开,得到pi sh ou pi de we in as i
Ⅱ对于末尾的单个字母要加上一个“x”使之成对:pi sh ou pi de we in as ix
这一步需要注意的要点:对于相连字母相同者,每个后面都需要加x,例如tomorrow,需要写成:to mo rx rx ow
(3)  编写密文
我们要得到的密文,当然,对于每个字母对,要严格遵循如下的原则:
1.如果两个字母在同一行则要用它右邻的字母替换,如果已在最右边,则用该行最左边的替换,如明文为“ce”,依据上表,应替换为“eg”;
2.如果两个字母在同一列则要用它下边的字母替换,如果已在最下边,则用该行最上边的替换,如明文为“oq”,依据上表,应替换为“pm”;
3.如果两个字母在不同的行或列,则应在密码表中找两个字母使四个字母组成一个矩形,明文占据两个顶点,需用另外两个顶点的字母替换,如明文为“hx”,可以替换为“vj”或“jv”(本例按照横向替换原则)。
Ⅰ按照上述原则,将明文加以编写,得到jo gv ln jo fa bs oh ve wj 
Ⅱ将得到的字母改为大写,并五个一组列好,得到密码JOGVL NJOFA BSOHV EWJ

【“双字的Playfair”体制】
由于普莱菲尔密码是将信息字母组成双子母的形式进行加密的,所以它也被称为“双子的Playfair”体制。

【普莱菲尔密码的优点】
采用了双子组合,将明文中出现频率很高的字母如e很好地隐藏了起来;一目了然,加脱密均简单易行;既不需要复杂的表格,更不需要器械等,携带方便。

【普莱菲尔密码的解法与破译】
普莱菲尔密码的解法是极为简单的,只需要反其道而行之即可,爱好者可以自己列一下其破解方法。当然,这基于我们知道密钥或者可以推测出密钥的情况,另外,普莱菲尔密码还有双方(加密方与解密方)一些约定俗成的东西,比如编写密码表时是横排还是竖排、矩形替换时是横向还是竖向等。这种密码被德军于1915年一战时破译。

the end
楼主

您必须登录后才能进行回复或者发起新的主题