Post
Topic
Board Bitcoin Discussion
Merits 5 from 1 user
Re: Mini-puzzle #4
by
iceland2k14
on 15/01/2025, 12:09:39 UTC
⭐ Merited by RetiredCoder (5)
Code:
import secp256k1 as ice
pub = '03C8F139DAD58B4786D3649992849733C2A7626F011089E87508CCDF8B0758C493'
lmda = 0x5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72
N = ice.N

G = ice.scalar_multiplication(1)
Q = ice.pub2upub(pub)   # pvk
QE = ice.pub_endo1(Q)   # pvk * lmda % N
QG = ice.point_subtraction( Q, G )  # pvk -1
if QG == QE:    # pvk -1 = (pvk * lmda % N)
    # pvk -1 = (pvk * lmda % N)
    # pvk - pvk * lmda = 1 %N
    # pvk (1 - lmda) = 1  %N
    # pvk = 1 / (1 - lmda)  %N
    print(f'[+] PrivateKey: {hex(pow((1-lmda), N-2, N))}')
Code:
[+] PrivateKey: 0xc6768f199574104ae1b75eab82b0cc1d2d2e9ee7d50637a574e27131e9301552

I missed it indeed. Sad