CTF密码学·置换密码,栅栏密码,曲路密码

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


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


目录
相关文章
|
数据安全/隐私保护 Python
BUUCTF [ACTF新生赛2020]base64隐写 1
BUUCTF [ACTF新生赛2020]base64隐写 1
1266 0
BUUCTF [ACTF新生赛2020]base64隐写 1
|
算法 数据安全/隐私保护
CTF — MP3文件隐写
CTF — MP3文件隐写
702 0
|
SQL 安全 算法
BugKu CTF(Crypto):MaybeEasyRSA & easy_crypto & 黄道十二宫 & 给你私钥吧
BugKu CTF(Crypto):MaybeEasyRSA & easy_crypto & 黄道十二宫 & 给你私钥吧
|
算法 安全 PHP
24-9-24-CTFweb爆破-学习笔记
本文档详细记录了CTFshow平台上的Web安全挑战学习过程,包括条件爆破、伪随机数爆破及目录遍历等多种攻击手法。通过分析PHP的`substr()`函数与MD5加密特性,实现对特定条件的token爆破;利用Mersenne Twister算法的伪随机数生成机制破解随机数挑战;通过身份证信息爆破获取账户密码;最后通过目录遍历技术找到隐藏的flag。提供了完整的脚本示例,帮助读者理解和实践各种爆破技巧。
|
Java Linux 数据安全/隐私保护
CTF — 图像隐写三板斧
CTF — 图像隐写三板斧
3693 1
|
Linux 数据安全/隐私保护 iOS开发
CTF—图像隐写三板斧(续)
CTF—图像隐写三板斧(续)
1459 0
|
安全 网络安全 数据安全/隐私保护
青少年 CTF 练习平台:Misc(一)
青少年 CTF 练习平台:Misc(一)
|
Java Linux 数据安全/隐私保护
CTF — 图像隐写三板斧
CTF — 图像隐写三板斧
1346 0
|
存储 安全 算法
公钥基础设施(PKI)的核心概念详解
【8月更文挑战第31天】
3216 0
|
安全 Linux Python
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程
2279 0
Volatility3内存取证工具安装及入门在Linux下的安装教程