关于一道栅栏密码的破解过程

 题目大意

对于密文“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型栅栏密码的加密过程,那么更多栏的栅栏密码也就举一反三的推导出来了。

以上就是本题的全部内容了,我们下次见喵!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值