版权声明:如果对大家有帮助,大家可以自行转载的。原文链接:https://blog.youkuaiyun.com/qq_37992321/article/details/84586807
1.题目:
The quick brown fox jumps over the lazy dog!
ihxo{smzdodcikmodcismzd}
题目中有狐狸和狗,然后貌似没有这种密码吧,然后回头看看标题,我知道有一种playfair密码,那我们就去试试
2.我们首先要知道play fair密码:
算法
它依据一个55的正方形组成的密码表来编写,密码表里排列有25个字母。如果一种语言字母超过25个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少,可以去掉它。
解密
Playfair解密算法首先将密钥填写在一个55的矩阵中(去Q留Z),矩阵中其它未用到的字母按顺序填在矩阵剩余位置中,根据替换矩阵由密文得到明文。
对密文解密规则如下:
1 若c1 c2在同一行,对应明文p1 p2分别是紧靠c1 c2 左端的字母。其中最后一列被看做是第一列的左方。
2 若c1 c2在同一列,对应明文p1 p2分别是紧靠c1 c2 上方的字母。其中最后一行被看做是第一行的上方。
3 若c1 c2不在同一行,不在同一列,则p1 p2是由c1 c2确定的矩形的其他两角的字母。
其实就是反其道而行之。
当然这只是其中的我们需要的一部分信息,其他的信息在百度百科都有的(