Playfair密码

算法描述:Playfair密码出现于1854年,它将明文中的双字母组合作为一个单元对待,该加密算法是基于一个关键词(密钥)的,该关键词填写在一个5*5的矩阵中(去出重复字母和字母j),通过该矩阵完成对明文、密文的加密、解密过程。 
  加密描述:Playfair加密算法将明文中的双字母组合作为一个单元对待,并将这些单元转换位密文双字母组合。加密过程把密钥填写在一个5*5的矩阵中(去出重复字母和字母j),矩阵中其它未用到的字母按顺序填在矩阵剩余位置中。 
  对明文加密规则如下: 
  1 若p1 p2在同一行,对应密文c1 c2分别是紧靠p1 p2 右端的字母。其中第一列被看做是最后一列的右方。 
  2 若p1 p2在同一列,对应密文c1 c2分别是紧靠p1 p2 下方的字母。其中第一行被看做是最后一行的下方。 
  3 若p1 p2不在同一行,不在同一列,则c1 c2是由p1 p2确定的矩形的其他两角的字母,并且c1和p1, c2和p2同行。 
  4 若p1 p2相同,则插入一个事先约定的字母,比如x。 
  5 若明文字母数为奇数时,则在明文的末端添加某个事先约定的字母作为填充。 
  解密描述:Playfair解密算法首先将密钥填写在一个5*5的矩阵中(去出重复字母和字母j),矩阵中其它未用到的字母按顺序填在矩阵剩余位置中,根据替换矩阵由密文得到明文。 
  对密文解密规则如下: 
  1 若c1 c2在同一行,对应明文p1 p2分别是紧靠c1 c2 左端的字母。其中最后一列被看做是第一列的左方。 
  2 若c1 c2在同一列,对应明文p1 p2分别是紧靠c1 c2 上方的字母。其中最后一行被看做是第一行的上方。 
  3 若c1 c2不在同一行,不在同一列,则p1 p2是由c1 c2确定的矩形的其他两角的字母,并且c1和p1, c2和p2同行。

转载于:https://my.oschina.net/u/129971/blog/63523

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值