目前太菜了,没做出几道cybrics的题目,趁着题目还在复现一波
Zakukozh
下载了一个文件,于是想查看文件类型:
zakukozh.bin: data
题目中有提示说是affine cipher
affine cipher
中文翻译过来就是放射密码,可以理解成简单的替换加密,比如wikipedia上举出的栗子
一个大小为m的字母表,通过变换 $E(x) = (ax+b) mod \, m$ 得到密文
查看文件的十六进制形式,学习一些hexdump
命令
1 | pxy@LAPTOP-UBIEP4K5 /mnt/f/1.ctf/cybrics/crypto hexdump -C zakukozh.bin| head |
查看十六进制数据如上,根据题目的提示,这就是仿射加密之后的结果,那么如何确定a,b,m这三个参数
由于是二进制数据,那么m就是256
a和b就通过爆破来解决
脚本如下:
1 | def reffine(a, b, c): |
就是跑的太慢了 :joy: