码迷,mamicode.com
首页 > 其他好文 > 详细

密码学笔记——playfair密码

时间:2017-09-03 16:42:49      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:--   文献   重复   com   分割   整理   占用   strong   nbsp   

 Playfair密码(Playfair cipher 或 Playfair square)一种替换密码,1854年由查尔斯·惠斯通(Charles Wheatstone)的英国人发明。

 

例题:

某种加密方式,玩一玩吧 密钥:shiyanb 密文:KQSAMFPAOPMFPA hint:一律采用横向

Hint: key小写

 

1、编制密码表

        编一个5*5的密码表,共有5行5列字母。第一列(或第一行)是密钥,其余按照字母顺序,如果密钥过长可占用第二列或行。密钥是一个单词或词组,若有重复字母,可将后面重复的字母去掉。当然也要把使用频率最少的字母去掉(它依据一个5*5的正方形组成的密码表来编写,密码表里排列有25个字母。如果一种语言字母超过25个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待,英语中z使用最少,可以去掉它)。

        例:密钥是Live and learn,去掉后则为liveandr

 

密钥:shiyanb 可编成

      s    h     i      y     a

      n    b     c     d     e

      f     g     j      k      l

      m   o     p     q      r  

      t     u     v     w      x

 

2、整理明文/密文,将明文/密文每两个字母组成一对。如果成对后有两个相同字母紧挨或最后一个字母是单个的,就插入一个字母X(或者Q)。

    密文: KQSAMFPAOPMFPA

    KQ  SA  MF  PA  OP  MF  PA

 

3、解密规则

  (1) 若c1 c2在同一行,对应明文p1 p2分别是紧靠c1 c2 左端的字母。其中最后一列被看做是第一列的左方。
  (2) 若c1 c2在同一列,对应明文p1 p2分别是紧靠c1 c2 上方的字母。其中最后一行被看做是第一行的上方。
  (3)若c1 c2不在同一行,不在同一列,则p1 p2是由c1 c2确定的矩形的其他两角的字母。
 
     密文:KQ   SA    MF    PA    OP    MF    PA
     明文:dk    ay     fn       ir     mo     fn       ir
 

技术分享                   技术分享

 

4、加密规则

  (1)若p1 p2在同一行,对应密文c1 c2分别是紧靠p1 p2 右端的字母。其中第一列被看做是最后一列的右方。如,按照前表,fg对应gj,mr对应om
  (2) 若p1 p2在同一列,对应密文c1 c2分别是紧靠p1 p2 下方的字母。其中第一行被看做是最后一行的下方。
  (3)若p1 p2不在同一行,不在同一列,则c1 c2是由p1 p2确定的矩形的其他两角的字母(至于横向替换还是纵向替换要事先约好,或自行尝试)。如,按照前表,ir对应pa或ap。

 

 

 

注:本笔记参考文献https://baike.baidu.com/item/playfair%E5%AF%86%E7%A0%81/8999814?fr=aladdin

----------------------------------------------------------------分割线---------------------------------------------------------

              ps:萌新一枚,本文纯为学习笔记,以防某日犯傻忘记--。如有不妥处,望大佬们赐教~

 

密码学笔记——playfair密码

标签:--   文献   重复   com   分割   整理   占用   strong   nbsp   

原文地址:http://www.cnblogs.com/xdjun/p/7469841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!