CTF ECC基础离散对数爆破 解题Writeup
📅 2026/7/5 2:07:07
👁️ 阅读次数
📝 编程学习
一、题目场景
给定素数域椭圆曲线参数、基点G、公钥Q,私钥k位数较小,可暴力求解离散对数,属于CTF基础ECC入门题。
二、题目考点
1. 椭圆曲线离散对数基础原理
2. Pollard Rho暴力破解弱私钥
3. SageMath ECC快速求解
三、解题思路
题目给出:有限域p、曲线参数a、b、基点G、公钥Q。私钥k长度较短,无法抵抗暴力枚举。利用SageMath内置离散对数函数可直接求出私钥k,进而得到flag。
p = 115792089210356248762697446949405791491766914742179077996825640110920115397175
a = 0
b = 7
E = EllipticCurve(GF(p), [a, b])
G = E.gens()[0]
Q = E(xxxx, xxxx)
k = discrete_log(Q, G)
print("private key =", k)
四、完整EXP脚本
五、结果与总结
通过离散对数求解成功爆出私钥k。本题说明:ECC算法本身安全,但私钥熵过低、位数过短会直接导致全盘攻破,是CTF最基础的ECC漏洞场景。
编程学习
技术分享
实战经验