| 12345678910111213141516171819202122 |
- q = 0x40000000000000000000000000000000224698fc0994a8dd8c46eb2100000001
- K = GF(q)
- a = K(0x00)
- b = K(0x05)
- E = EllipticCurve(K, (a, b))
- G = E(0x40000000000000000000000000000000224698fc0994a8dd8c46eb2100000000, 0x02)
- E.set_order(0x40000000000000000000000000000000224698fc094cf91b992d30ed00000001 * 0x01)
- p = 0x40000000000000000000000000000000224698fc094cf91b992d30ed00000001
- Scalar = GF(p)
- A = E(0x40000000000000000000000000000000224698fc0994a8dd8c46eb2100000000, 0x0000000000000000000000000000000000000000000000000000000000000002)
- x = Scalar(0x0000000000000000000000000000000000000000000000000000000000000057)
- print(int(x))
- #print([hex(x) for x in (x * A).xy()])
- B = E(0x04cbd122b054187ff98f0726651096de7f55a213c233902764fe87d376eeb99c, 0x2d5c8c632b1f33eb42726cda0af9f95eaf3dfa8511e6a7b657713dbf62bb13a5)
- assert int(x) * A == B
- yy = Scalar(0x40000000000000000000000000000000224698fc094cf91b992d30ecfffffffe)
- y = x - Scalar(90)
- print(hex(int(y)))
- assert yy == y
|