题目大意
对于密文“ccehgyaefnpeoobe{lcirg}epriec_ora_g”而言,请采用密钥为5的栅栏密码破解该密码
解题过程
由一般的矩阵法来解算该栅栏密码,取该密钥为栏数,对于标准型的栅栏解密法可解得该明文为“cebgccfe}_en{eohplprgecrayoii_aoreg”。明显解密失败,而采用非标准型的W栅栏解密法可解得该明文为“cyberpeace{railfence_cipher_gogogo}”,解密成功。
附上栅栏密码的解算地址为https://ctf.bugku.com/tool/railfence
密码详解
对于标准的栅栏密码而言,就是将一段被加密的明文划分成N个组,然后取每个组的第1个字符,组成密文的第一小段,取完每个组的第一个字符后,接着取每个组的第二个字符,排在密文第一小段后,以此类推。而对于非标准的W型栅栏密码而言,就是将明文按照W型排列,并横(竖)向读取密文,其解密过程就是加密的逆过程,即将密文横(竖)向按一定规律排列后,以W型读取。
例如当我们试图对明文:“EVERYONE IS DIFFERENT”进行标准型栅栏密码加密时,我们可以选择栏数为两组,将句子交替写成两行,也就是一,三,五,七等奇数个字母为一行,将第二,四,六,八等偶数个字母为一行。
第一行的密文为EEYNIDFEET
第二行的密文为VROESIFRN
再将第二行的密文写在第一行的后面,即加密后的密文为“EEYNIDFEETVROESIFRN”。
加密完成。
知道了栏数为二的标准型栅栏密码的加密过程,那么栏数为三,四乃至更多的栅栏密码的加密方法就可以如法炮制的构造出来,而对于其解密也就迎刃而解了。
当我们试图对明文:“EVERYONE IS DIFFERENT”进行非标准的W型栅栏密码加密时,我们可以选择栏数为三组,将句子按照W型排列方式展开,即
E Y I F E
V R D E S I F R N
E N D E T
于是我们知道第一行的密文是EYIFE,第二行的密文是VRDESIFRN,第三行的密文是ENDET,最后依次排列得到加密后的密文为“EYIFEVRDESIFRNENDET”。
加密完成。
知道了栏数为三的非标准型W型栅栏密码的加密过程,那么更多栏的栅栏密码也就举一反三的推导出来了。
以上就是本题的全部内容了,我们下次见喵!