M-511
511-bit prime field Montgomery curve.Curve from https://eprint.iacr.org/2013/647.pdf
Parameters
SAGE
p = 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45K = GF(p)A = K(0x081806)B = K(0x01)E = EllipticCurve(K, ((3 - A^2)/(3 * B^2), (2 * A^3 - 9 * A)/(27 * B^3)))def to_weierstrass(A, B, x, y):return (x/B + A/(3*B), y/B)def to_montgomery(A, B, u, v):return (B * (u - A/(3*B)), B*v)G = E(*to_weierstrass(A, B, K(0x05), K(0x2fbdc0ad8530803d28fdbad354bb488d32399ac1cf8f6e01ee3f96389b90c809422b9429e8a43dbf49308ac4455940abe9f1dbca542093a895e30a64af056fa5)))E.set_order(0x100000000000000000000000000000000000000000000000000000000000000017B5FEFF30C7F5677AB2AEEBD13779A2AC125042A6AA10BFA54C15BAB76BAF1B * 0x08)# This curve is a Weierstrass curve (SAGE does not support Montgomery curves) birationally equivalent to the intended curve.# You can use the to_weierstrass and to_montgomery functions to convert the points.
JSON
{"name": "M-511","desc": "Curve from https://eprint.iacr.org/2013/647.pdf","form": "Montgomery","field": {"type": "Prime","p": "0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45","bits": 511},"params": {"a": {"raw": "0x081806"},"b": {"raw": "0x01"}},"generator": {"x": {"raw": "0x05"},"y": {"raw": "0x2fbdc0ad8530803d28fdbad354bb488d32399ac1cf8f6e01ee3f96389b90c809422b9429e8a43dbf49308ac4455940abe9f1dbca542093a895e30a64af056fa5"}},"order": "0x100000000000000000000000000000000000000000000000000000000000000017B5FEFF30C7F5677AB2AEEBD13779A2AC125042A6AA10BFA54C15BAB76BAF1B","cofactor": "0x08"}