playfair密码


playfair密码

文章插图
playfair密码【playfair密码】Playfair密码(英文:Playfair cipher 或 Playfair square)是一种使用一个关键字方格来加密字元对的加密法,1854年由查尔斯·惠斯通(Charles Wheatstone)的英国人发明 。
基本介绍中文名:Playfair密码
外文名:Playfair cipher
发明人:查尔斯·惠斯通
发明时间:1854年
简介经莱昂·普莱费尔提倡在英国军地和政府使用 。它有一些不太明显的特徵:密文的字母数一定是偶数;任意两个同组的字母都不会相同,如果出现这种字元必是乱码和虚码 。它使用方便而且可以让频度分析法变成瞎子,在1854到1855年的克里米亚战争和1899年的布尔战争中有广泛套用 。但在1915年的一战中被破译了 。编写分三步:1.编制密码錶 2.整理明文 3.编写密文 构成部分:1.密钥 2.明文3.密文4.注明的某个字母代替的另一个字母算法它依据一个5*5的正方形组成的密码錶来编写,密码錶里排列有25个字母 。如果一种语言字母超过25个,可以去掉使用频率最少的一个 。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待 。英语中z使用最少,可以去掉它 。加密编制密码錶第一步是编制密码錶 。在这个5*5的密码錶中,共有5行5列字母 。第一列(或第一行)是密钥,其余按照字母顺序 。密钥是一个单词或词组,若有重複字母,可将后面重複的字母去掉 。当然也要把使用频率最少的字母去掉 。如:密钥是Live and learn,去掉后则为liveandr 。如果密钥过长可占用第二列或行 。同时字母I和J会被当成一个字母 。如密钥crazy dog,可编製成CDFMTROHNUAGI ( J )PVZBKQWYELSX整理明文第二步整理明文 。将明文每两个字母组成一对 。如果成对后有两个相同字母紧挨或最后一个字母是单个的,就插入一个字母X(或者Q) 。如,communist,应成为co,mx,mu,ni,st 。编写密文最后编写密文 。对明文加密规则如下:1 若p1 p2在同一行,对应密文c1 c2分别是紧靠p1 p2 右端的字母 。其中第一列被看做是最后一列的右方 。如,按照前表,ct对应dc2 若p1 p2在同一列,对应密文c1 c2分别是紧靠p1 p2 下方的字母 。其中第一行被看做是最后一行的下方 。3 若p1 p2不在同一行,不在同一列,则c1 c2是由p1 p2确定的矩形的其他两角的字母(至于横向替换还是纵向替换要事先约好,或自行尝试) 。如,按照前表,wh对应ku或uk 。如,依照上表,明文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解密Playfair解密算法首先将密钥填写在一个5*5的矩阵中(去Q留Z),矩阵中其它未用到的字母按顺序填在矩阵剩余位置中,根据替换矩阵由密文得到明文 。对密文解密规则如下:1 若c1 c2在同一行,对应明文p1 p2分别是紧靠c1 c2 左端的字母 。其中最后一列被看做是第一列的左方 。2 若c1 c2在同一列,对应明文p1 p2分别是紧靠c1 c2 上方的字母 。其中最后一行被看做是第一行的上方 。3 若c1 c2不在同一行,不在同一列,则p1 p2是由c1 c2确定的矩形的其他两角的字母 。其实就是反其道而行之 。练习一: 密钥:boys and girls are students ( 按行填充密钥, 不在同一行的明文字母, 行不变列变)密文GUUID BCYZC YOETX UUGAB EPBCE TDIUV LDDSB KRPRD IRUW明文(原文):It is not a problem. It is a challenge. Enjoy facing it.二:密钥:father ( 按行填充密钥, 不在同一行的明文字母, 行变列不变)密文:OPHEN UMRFP EFPVI DLRGQ NRRNW RHKNR SVNYF HSVFI IJRQP AFK明文(原文):Nothing in the world is difficult, if you set your mind to it.