playfair加密算法

playfair加密分两步

  • 构造矩阵
  • 两两一组,按规则加密

playfair加密算法是基于5✖️5的矩阵

我们要构造一个5✖️5的矩阵来进行加密

一.构造矩阵

通过关键词(密钥)构造矩阵。

构造目标:构造出一个含有25个英文字母的5✖️5的矩阵,由于英文字母一共有26个,所以,我们把J和I看作相同的字母。

假设关键词是:telegram
构造方法:
1️⃣根据关键词不重复的填入字母。

t e l g r
a m

2️⃣根据26个英文字母,依次补全剩余表格,不能重复,I和J看成一个字母

t e l g r
a m b c d
f h k L n
o p q s u
v w x y z

二. 两两一组,按规则加密

流程如下:
明文➡️分组➡️加密

分组规则:
1️⃣两两一组,假如分到最后是奇数,补上一个无效字母(不是它本身的任意字母)
2️⃣假如分组的字母是相同的,如aa一组,则在它俩中间加入一个无效字母,例如aac变成aq,ac,这两组,q是无效字母

加密规则:分好组之后
1️⃣明文字母m1,m2同行,密文是其右边字母。如果是行最后一个字母,则行循环到行首。

举例按照上面构造好的矩阵
假如ad一组,对应密文就是ma
2️⃣明文字母m1,m2同列,密文是其下字母,同理列循环
3️⃣明文字母m1,m2不同行不同列,密文是长方形的另外两个顶点(同行对应同行)

假设明文是aq,则以它们两个点为长方形的顶点,a对应同行顶点是b,q对应的是o,
所以对应密文是bo

在这里插入图片描述

真题实战

给出关键词telegram,用playfair加密算法处理明文next time,jay,try something different

答案:
处理后:ne xt qt im ei ay tr ys om et hi ng di fq fe re nt
密文:hr vl ol hb lh cv et gy pa le ik kr bn io ht tl fr

例题说明:我认为只有不同组的情况下相同字母之间才需要加上无效字母,但是课上老师说别人讲的都是错的,不同组也得加上,考试按加上给分,如果哪个好心人有明确的说法,可以留个言,非常感谢

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐