CTF- Fair-Play

Playfair密码(普莱费尔密码)

 解密步骤:

(1)编制密码表 :它依据一个5*5的正方形组成的密码表来编写,密码表里排列有25个字母(一般I j共用)。密钥是一个单词或词组,若有重复字母,可将后面重复的字母去掉。如果秘钥字母超过25个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少,可以去掉它。

(2) 整理密文: 我们要遵循的原则是“两个一组”,得到是若干个两两成对的字母段,对于末尾的单个字母要加上一个“x”使之成对。

(3)编写明文:

1、若c1 c2在同一行,对应明文p1 p2分别是紧靠c1 c2 左端的字母。其中最后一列被看做是第一列的左方。

2、若c1 c2在同一列,对应明文p1 p2分别是紧靠c1 c2 上方的字母。其中最后一行被看做是第一行的上方。

3、若c1 c2不在同一行,不在同一列,则p1 p2是由c1 c2确定的矩形的其他两角的字母。

例如:秘钥The quick brownfox jumps over the lazy dog   

密文为:ihxo{smzdodcikmodcismzd}          得I h 对应ct   x o对应f x

T    i     o    m   a

h    c    w    p   z

e    k    n   s     y

q    b    f    v   d

u    r     x    l    g

  得I h 对应ct   x o对应f x 以此类推

最终得    :  ctfx{}

你可能感兴趣的:(CTF- Fair-Play)