跳转至
2016 | XUSTCTF | Crypto

easy_ECC

解题思路

  • 已知椭圆群 \(E_p(a,b)\) 、生成原点 \(G\) 和私钥 \(k\),公钥为 \(kG\)
  • 使用工具 SageMath,编写脚本ecc_calc
    #!/usr/bin/env sage
    
    from sage.all import *
    
    p, a, b = 15424654874903, 16546484, 4548674875
    G = (6478678675, 5636379357093)
    k = 546768
    
    F = GF(p)   # 有限域
    E = EllipticCurve(F, [a, b])
    G = E.point(G) # 得到在有限域椭圆曲线上对应点类的对象
    Pub = k * G
    print(Pub)
    
  • 运行脚本得到点的坐标,Flag 为 \(x、y\) 的和
    $ ./ecc_calc
    (13957031351290 : 5520194834100 : 1)
    

参考资料


最后更新: 2020年10月27日 23:07:57
Contributors: YanhuiJessica

评论