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

xiaoxiao2021-02-28  102

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}                                   
转载请注明原文地址: https://www.6miu.com/read-25531.html

最新回复(0)