jump160 - vjudeu/curves1000 GitHub Wiki
Jumping between two 160-bit curves:
d1=1
d2=0xf3c6393c4c5c9288fe47f1dff787a6ec6d16b2be
d3=0xc39c6c3b3a36d7701b9c71a1f5804ae5d0003f4
d4=1
d5=0x9ba48cba5ebcb9b6bd33b92830b2a2e0e192f10a
d6=0x645b7345a143464942cc46d7cf4d5d1e1e6cbb68
counter=0
while counter<1000:
p=0xfffffffffffffffffffffffffffffffeffffac73
K=GF(p)
a=K(0)
b=K(7)
E=EllipticCurve(K,(a,b))
G=E(0x3,0xc77a53fd35585a1db7ff873cb32855f89c655d8)
h=1
E.set_order(0x0100000000000000000001b8fa16dfab9aca16b6b3*h)
P1=d1*G
P2=d2*G
P3=d3*G
print(counter,hex(P1[0]),hex(P1[1]))
print(counter,hex(P2[0]),hex(P2[1]))
print(counter,hex(P3[0]),hex(P3[1]))
p=0x0100000000000000000001b8fa16dfab9aca16b6b3
K=GF(p)
a=K(0)
b=K(7)
E=EllipticCurve(K,(a,b))
G=E(0x3,0x6fb4fc90b46d078f90f9071bb96cc57b267e8692)
h=1
E.set_order(0xfffffffffffffffffffffffffffffffeffffac73*h)
P4=d4*G
P5=d5*G
P6=d6*G
print(counter,hex(P4[0]),hex(P4[1]))
print(counter,hex(P5[0]),hex(P5[1]))
print(counter,hex(P6[0]),hex(P6[1]))
d1=P4[0]
d2=P5[0]
d3=P6[0]
d4=P1[0]
d5=P2[0]
d6=P3[0]
counter+=1