本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。


1.置换密码


置换密码(Permutation Cipher)又叫换位密码(Transposi-tionCipher),它根据一定的规则重新排列明文,以便打破明文的结构特性。置换密码的特点是保持明文的所有字符不变,只是利用置换打乱了明文字符的位置和次序。


最常见的置换密码有两种:


列置换密码(明文P遵照密钥的规程按列换位并且按列读出序列得到密文C);

周期置换密码(将明文P按固定长度m分组,然后对每组按1,2…,m的某个置换重排位置从而得到密文C)。


列置换


加密过程:



加密实例:6 4 3 5 2 1


按列重排密码:



最终密文:




对应的解密工作逆向解密即可:




周期置换




2.栅栏密码



加密过程:

分解长度,可以分解为2*7,假设每列取7,竖着排列后就是密文啦



3.曲路密码



加解密过程:



CTF例题:



首先,显然这是一个5*8的曲路矩阵,矩阵密钥呈现迷宫的形式,那么我们按照迷宫的走法进行解密即可得到flag