Post
Topic
Board Development & Technical Discussion
Re: Pairs of matching n-values in secp256k1 with changed b-values
by
jovica888
on 02/02/2025, 20:46:05 UTC
p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f ** 2

I tried this P and I basically get like P * regular curves (I am not sure how to explain)

So the structure and order of points are the same nothing changes

Code:
p_prime = (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F) ** 2

K = GF(p_prime)
a = K(0)
b = K(7)
E = EllipticCurve(K, (a, b))

G = E(
    K(0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798),
    K(0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8)
)

private_key_hex = "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364144"

k = int(private_key_hex, 16)

P = k * G

print(f"Private key: {private_key_hex}")
print(f"X = {hex(int(P[0]))}")
print(f"Y = {hex(int(P[1]))}")

so for
Private key 3 and private key fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364144
I get the same point
Code:
Private key: fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364144
X = 0xf9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9
Y = 0x388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672

Private key: 3
X = 0xf9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9
Y = 0x388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672

Maybe I am doing something wrong