# https://x.com/pauli_group/status/1935810792022249521## secp32k1: a 32-bit benchmark elliptic curve for quantum cryptanalysis# equation: y^2 = x^3 + 7# prime: p = 4294966177# generator point: G = 16F81796 01A235ECfield=GF(4294966177)curve=EllipticCurve(field,[0,7])G=curve(0x16F81796,0x01A235EC)print(curve,'order',curve.order())
Out[3]:
Elliptic Curve defined by y^2 = x^3 + 7 over Finite Field of size 4294966177 order 4294835173
In [5]:
# https://x.com/pauli_group/status/1935810793632842107## example challenge:# given P = kG = F6F0B591 A5AEBE40, find kP=curve(0xF6F0B591,0xA5AEBE40)k=discrete_log(P,G,curve.order(),operation='+')print('k found:',k)assertk*G==P