playfair密码
它在1854到1855年的克里米亚战争和1899年的布尔战争中有广泛应用。但在1915年的一战中被破译了。
用play加密后得到的密文的特点:1将密文两两分成一组,同一组的两个字母不相同2密文长度是偶数
密码表是5X5共25个字母的矩阵(省掉了Z)
加密:
1生成密码表:将密钥竖向写,长度多余5写到第二列,如果密钥中含有相同的字母则后出现的字母被省略,即:写在矩阵中的密钥的所有字母不同
2将明文两两结合在一起,如果结合在一起的两个字母相同,则在中间插入X,即:若明文为MMA,则写成MX MA
如果明文长度为奇数,则在明文尾部加X
3生成密文
如果明文一组的两个数在同行,则在密文中生成的两个字母,依次是这两个明文字母的右端字母
如果明文一组的两个数在同列,则在密文中生成的两个字母,依次是这两个明文字母的下端字母
如果明文一组的两个数在不同行不同列,则在密文中生成的两个字母,依次是以这两个明文字母为顶点生成矩阵的另两个顶点(有两种结果,分别是横向取,纵向取,横向取是取明文字母的同一行,纵向取是取明文字母的同一列,取法会事先约定)
4将得到的密文大写 然后任意几个组合在一起,完成
解密:将3倒过来即可,取左,取上,取另两个对角
举个栗子:1.Z不在密钥中
Play分值:10
- 来源: iFurySt
- 难度:易
- 参与人数:1033人
- Get Flag:157人
- 答题人数:187人
- 解题通过率:84%
某种加密方式,玩一玩吧 密钥:shiyanb 密文:KQSAMFPAOPMFPA hint:一律采用横向
Hint: key小写
5*5密码表
s n f m t
h b g o u i c j p v y d k q w a e l r x
得到明文dk ay fn ir mo fn ir
2 Z在密钥中
密钥crazy dog,可编制成
C | D | F | M | T |
R | O | H | N | U |
A | G | I
( J ) | P | V |
Z | B | K | Q | W |
Y | E | L | S | X |
明文:where there is life,there is hope
分组 WH ER ET HE RE IS LI FE TH ER EI SH OP EX
密文为:KU YO XD OL OY PL FK DL FU YO LG LN NG LY
然后几个字母一组排列。如5个一组就是KUYOX DOLOY PLFKD LFUYO LGLNN GLY