《 CTF 2019Q4 readyu's crackme 四季之歌 设计思路 》
20191124 版本
说明:密码学题目, VC++ 编译的Win32程序,取名“四季之歌”。
crackme主程序
(已上传)
:
crackme2019q4_readyu_四季之歌.exe
#2 算法模型与解题分析
本题验证爱德华椭圆曲线上 “点加” 的相遇等式,
求 G。
G是未知量,其余的点和参数都是已知量。
L + G = M
或者记作:
L(G, hash1, m) + G = M(G, hash2, n
)
再展开,记作:
3^365*[ 12*(R1+R2+R3+R4) + h1*G ] + G = 2^365 *[ 4(W1 + W2 + W3 + W4) + h2*G ]
故事概要:在
爱德华
曲线的时空里, 李雷(L)和韩梅梅(M)从某一点G同时出发, 以不同步长走了365天,最终发现仅有一步之遥(G),就牵手成功。
G点的坐标(X,Y,Z)对应了Flag。
下面会详细展开,讲述这个故事。
2.1 引言:爱德华椭圆曲线上的加法循环
Edwards
曲线的典型应用为EdDSA
(Edwards-curve Digital Signature Algorithm )
, 在RFC8032有规范描述。
用以取代传统
Weierstrass
椭圆曲线上使用的ECDSA(Elliptic Curve Digital Signature Algorithm)。
参考: 3b9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6W2L8W2)9J5k6i4N6A6K9$3W2H3k6h3c8A6j5g2)9J5k6h3!0J5k6#2)9J5c8Y4N6A6K9$3W2Q4x3V1k6q4k6p5c8e0b7b7`.`.
单位圆上有理点的“加法”,那就是在复变函数 |z|=1 做运算,要保证两个点“相加”得到的第三点,仍在单位圆上,并且要满足交换律,意味着各点平等。
这实际上对应着单位圆上复数的乘法(指数相加,而模长不变),就是角度旋转,欧拉公式揭示了这一点。
P3( X3,Y3) = P1 + P2 = cos(A+B) + i*sin(A+B) ... (6)
"加法"这样计算: (x1,y1)+(x2,y2)=(x3,y3)
x3 = cos(A+B) = cosA*cosB − sinA* sinB = x1*x2 - y1*y2
y3 = sin(A+B) = sinA*cosB + cosA * sinB = x1*y2 + y1*x2
[培训]科锐逆向工程师培训第53期2025年7月8日开班!
最后于 2019-12-27 15:21
被readyu编辑
,原因: