Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

secp32k1 challenge solved using Sagemath

28 views
License: MIT
unlisted
ubuntu2204
Kernel: SageMath 10.6
# 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 01A235EC field = GF(4294966177) curve = EllipticCurve(field, [0, 7]) G = curve(0x16F81796, 0x01A235EC) print(curve, 'order', curve.order())
Elliptic Curve defined by y^2 = x^3 + 7 over Finite Field of size 4294966177 order 4294835173
# https://x.com/pauli_group/status/1935810793632842107 # # example challenge: # given P = kG = F6F0B591 A5AEBE40, find k P = curve(0xF6F0B591, 0xA5AEBE40) k = discrete_log(P, G, curve.order(), operation='+') print('k found:', k) assert k*G == P
k found: 2841690040