DragonKnight CTF 2024 Writeup
在Del0n1x里打的一场比赛,把Crypto方向的全解了——当然,主要是得益于题目的idea大部分都是借鉴的,所以只要检索能力强基本就能AK。
Crypto
Crypto_签到
Python
1 |
|
每次输出更新两次内部状态的LCG。看成一个新的系数分别为\(a'=a^{2}, b'=(a+1)b\)的LCG就好。
Python
1 |
|
MatrixRSA_Revenge
Python
1 |
|
加密过程就是在\(Z/nZ\)上对明文矩阵做了幂运算。一个直观的思路是把C分别放在模p和模q下去考虑,因为我们知道一般线性群\(GL_4(F_p)\)是有限群,所以在这个群上面\(M^{n}=M^{n\ mod\ od}\),\(od\)为群阶。
order的计算方法可以参考这里
\(C=M^{e}\),所以我们只要恰当选取指数就可以让模p和模q下的C经过幂运算之后得到模p和模q的\(M\),接下来CRT组合回去就好。
Python
1 |
|
EzDES
加密用的DES弱密钥,直接解密。
Python
1 |
|
MidRSA
Python
1 |
|
encrypt1一眼LLL+GCD求解,思路参考maple佬的这道题目,encrypt2直接共模攻击。
注意打的时候去掉encrypt1里重复的一组e和c。
(其实encrypt1就是抄的maple的这道题吧...)
Python
1 |
|
MyEncrypto
Python
1 |
|
核心idea抄了osu!gaming CTF 2024的lucky-roll-gaming,拿现成的exp直接打就行。
多项式求根就能分解n然后拿到P。
Python
1 |
|
花絮:赛场上自己吭哧吭哧造了个格,结果p只要大一点就不能正常工作,一度以为这一题卡界了...最后拿别人的exp一遍过,还好没有错过一血😇
Misc
func_pixels
拿到图片发现左上有一些异常像素,结合题目的func考虑flag像素的分布应该类似函数图像,脚本提取\(y=x^2\)和\(y=x^3\)的像素值,两个融合起来就是flag。
Python
1 |
|
DragonKnight CTF 2024 Writeup
https://eupho.me/19d8fa37.html