Skip to main content

Standard curve database

Search

BLS12-377

377-bit prime field Weierstrass curve.

Curve from Zexe paper: https://eprint.iacr.org/2018/962, params taken from: https://eips.ethereum.org/EIPS/eip-2539 where they are explicitly listed.


y2x3+ax+by^2 \equiv x^3 + ax + b

Parameters

NameValue
p0x01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001
a0x00
b0x01
G(0x008848defe740a67c8fc6225bf87ff5485951e2caa9d41bb188282c8bd37cb5cd5481512ffcd394eeab9b16eb21be9ef, 0x01914a69c5102eff1f674f5d30afeec4bd7fb348ca3e52d96d182ad44fb82305c2fe3d3634a9591afd82de55559c8ea6)
n0x12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001
h0x170b5d44300000000000000000000000


SAGE

p = 0x01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001
K = GF(p)
a = K(0x00)
b = K(0x01)
E = EllipticCurve(K, (a, b))
G = E(0x008848defe740a67c8fc6225bf87ff5485951e2caa9d41bb188282c8bd37cb5cd5481512ffcd394eeab9b16eb21be9ef, 0x01914a69c5102eff1f674f5d30afeec4bd7fb348ca3e52d96d182ad44fb82305c2fe3d3634a9591afd82de55559c8ea6)
E.set_order(0x12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001 * 0x170b5d44300000000000000000000000)

PARI/GP

p = 0x01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001
a = Mod(0x00, p)
b = Mod(0x01, p)
E = ellinit([a, b])
E[16][1] = 0x12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001 * 0x170b5d44300000000000000000000000
G = [Mod(0x008848defe740a67c8fc6225bf87ff5485951e2caa9d41bb188282c8bd37cb5cd5481512ffcd394eeab9b16eb21be9ef, p), Mod(0x01914a69c5102eff1f674f5d30afeec4bd7fb348ca3e52d96d182ad44fb82305c2fe3d3634a9591afd82de55559c8ea6, p)]

JSON

{
"name": "BLS12-377",
"desc": "Curve from Zexe paper: https://eprint.iacr.org/2018/962, params taken from: https://eips.ethereum.org/EIPS/eip-2539 where they are explicitly listed.",
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0x01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001",
"bits": 377
},
"params": {
"a": {
"raw": "0x00"
},
"b": {
"raw": "0x01"
}
},
"generator": {
"x": {
"raw": "0x008848defe740a67c8fc6225bf87ff5485951e2caa9d41bb188282c8bd37cb5cd5481512ffcd394eeab9b16eb21be9ef"
},
"y": {
"raw": "0x01914a69c5102eff1f674f5d30afeec4bd7fb348ca3e52d96d182ad44fb82305c2fe3d3634a9591afd82de55559c8ea6"
}
},
"order": "0x12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001",
"cofactor": "0x170b5d44300000000000000000000000"
}

© 2020 Jan Jancar | Built with Dox theme for Gatsby