Explaining BLS12–381 … The “Zero Knowledge Proof” Curve
What’s “BLS”, “12” and “381” in BLS12–381?
Introduction
A good deal of my work involves using elliptic curves, along with implementing pairing-based cryptography for things like zero knowledge proofs (ZKPs). At the core of this is often the magical BLS12–381 curve, and which has not one curve, but two. If you want a little bit of the basics on elliptic curve cryptography (ECC), try here:
Well, the “BLS” part is easy, as it is named after its creators: Barreto, Lynn and Scott (BLS) [1]:
The first curve (G1)
The first curve on BLS12–381 is just y²=x³+4 (mod p) over a finite field defined by:
p= 0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab