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