Fair-Play:The quick brown fox jumps over the lazy dog!

 http://www.shiyanbar.com/ctf/1852
 Fair-Play:
 The quick brown fox jumps over the lazy dog!
       ihxo{smzdodcikmodcismzd}
  
  
解:


背景和案例:
一种 Playfair密码变种加密方法如下:首先选择一个密钥单词(称为 pair)(字母不重复,且都为小写字母),
然后与字母表中其他字母一起填入至一个 5x5的方阵中,填入方法如下:


1.选取一个英文字作密钥。除去重复出现的字母。将密匙的字母逐个逐个加入5×5的矩阵内,(本题没有)剩下的空间将未加入的英文字母依a-z的顺序加入。
  (将I和J视作同一字。JOY -> IOY)将要加密的讯息分成两个一组。
2.在每组中,找出两个字母在矩阵中的地方。
3.若两个字母同列,取这两个字母上下方的字母(若字母在最上方则取最下方的字母)。
4.若两个字母同行,取这两个字母左右方的字母(若字母在最左方则取最右方的字母)。
5.若两个字母不同行也不同列,在矩阵中找出另外两个字母,使这四个字母成为一个长方形的四个角(am->ob)。
6.新找到的两个字母就是原本的两个字母加密的结果。




如果密钥为 youandme,则该方阵如下:
y o u a n
d m e b c
f g h i j
k l p q r
s t v w x
在加密一对字母时,如 am,在方阵中找到以这两个字母为顶点的矩形(红色字体):
y o u a n
d m e b c
f g h i j
k l p q r
s t v w x
这对字母的加密字母为该矩形的另一对顶点,如本例中为 ob。








本题解析:
    题目给出的一句话就是密钥-----应该尝试满足5*5正好。得到密钥矩阵:
T    h  e  q  u 
i/j  c  k  b  r
o    w  n  f  x 
m    p  s  v  l
a    z  y  d  g
3.解密ihxo{smzdodcikmodcismzd}
ih xo { sm zd od ci km od ci sm zd }注:本题若两个字母同行,取这两个字母左方的字母
ct fx { pl ay fa ir is fa ir pl ay} 




最后得到了flag:ctfx{playfairisfairplay}                                   

你可能感兴趣的:(Fair-Play:The quick brown fox jumps over the lazy dog!)