21Jan4
huangx607087寒假的切题4
0.简介
今天BUUCTF上到了2000分,后面剩下的题目就都是那些90+分,做出来的人很少的那种了,难度也是非常大的。因此打算后面几天把理论看看,并且还要打杭电持续一个月的CTF,自己的人工智能项目也摸了3天了,哎
1.[GUET-CTF2019]Uncle Sam
我们还是先看一下加密代码
1 |
|
很显然,这与RSA不一样,因为这道题公钥
注意到
这一加密体系中,加密过程是
下面简单地证明一下:
已知
由费马小定理,可以推出
又因为
所以
所以
因此
由于
解密代码非常短,不过推出这个式子还是非常不容易的(,何况这个加密方法一开始自己也没怎么接触过,看到太菜了
1 |
|
2.[XNUCA2018]baby_crypto
题目给出的内容非常简单
1 |
|
很显然这是一个线性的加密,应该跟Vigena密码相似,我们还是一样,每
PART 1 求周期部分
1 |
|
打开最后的文件,我们可以看到,最后很多的间隔都是
PART 2 分割&求表达式
得到周期是
求表达式的时候,由于加密是一次函数,因此我们不需要考虑加密函数,直接枚举解密函数(也是一次函数,一共有
1 |
|
每次求出来后,我们可以发现,输出的第一个表达式的loss只有
求出所有解密表达式之后,我们就可以求出最后的flag了,到时候只需要直接在输出文件中找到flag is...
的字样即可。
1 |
|
3.[AFCTF2018]MagicNum
题目给出了float
和int
都是float
指针类型输出时强制转换成int
指针类型,代码如下
1 |
|
最后只需要把我们每次得到的八位十六进制数一个字节一个字节地倒过来重新组装,就变成了flag
4.LeftOrRight
题目给出了一个无法打开的图片,转换成txt,可以看到开始和解为都有
难度不大,随便在网上找一个脚本抄一下就可以得到最后的答案了(我只是一个当年用6个月速成NOIP然后拿了245的fw而已
5.[XNUCA2018]Warmup
这道题给出了
6.总结
总之,寒假4篇刷题笔记,的确让自己学到了不少东西。明天又杭电的CTF,还是要看看题目的,继续学习一点CTF知识,争取4月进校队吧(趁自己大一上半年GPA 4.24,寒假还没什么事情,多学点肯定是很好的