Zum Inhalt springen
ecdsa.com
AkzeptabelKurze Weierstraß-Form

BLS12-381

BLS12-381 ist die paarungsfreundliche Kurve der Konsensschicht von Ethereum sowie von Zcash und Filecoin.

BLS12-381 ist eine Kurve in kurzer Weierstraß-Form y² = x³ + ax + b über einem 381-Bit-Primkörper mit einer 255-Bit-Untergruppe von Primordnung und dem Kofaktor 76329603384216526031706109802092473003; das geschätzte Sicherheitsniveau beträgt 117 Bit. Status: sicher, aber nur regional oder in Nischen verbreitet.

BLS12-381 ist eine Barreto-Lynn-Scott-Kurve mit Einbettungsgrad 12, die Sean Bowe 2017 für Zcash entworfen hat. G1 ist y² = x³ + 4 über einem 381-Bit-Primkörper, G2 liegt auf einem Twist über GF(p²), und beide nutzen eine Untergruppe, deren Ordnung eine 255-Bit-Primzahl ist. Nach den Verbesserungen am Zahlkörpersieb, die BN254 geschwächt haben, wird die Sicherheit der Kurve auf etwa 117–120 Bit geschätzt.

Der Proof-of-Stake-Konsens von Ethereum signiert Attestierungen mit BLS-Signaturen auf dieser Kurve (draft-irtf-cfrg-bls-signature), sodass sich Tausende Signaturen zu einer einzigen aggregieren lassen, und EIP-2537 ergänzt die Ausführungsschicht um Precompiles dafür. Auch Zcash Sapling, Filecoin und der Zufalls-Beacon drand nutzen die Kurve.

Der Kofaktor von G1 ist groß (siehe h oben), deshalb müssen Implementierungen empfangene Punkte vor der Verwendung darauf prüfen, ob sie in der Untergruppe von Primordnung liegen.

Namen in Standards

StandardName
draft-irtf-cfrg-pairing-friendly-curvesBLS12-381
EIP-2537BLS12_381

Domainparameter

381-Bit-Primkörper · etwa 117-Bit-Sicherheit

Primzahl p des Körpers
0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab
Koeffizient a
0x0
Koeffizient b
0x4
x-Koordinate des Basispunkts
0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb
y-Koordinate des Basispunkts
0x8b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1
Ordnung n des Basispunkts
0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001
Kofaktor h
0x396c8c005555e1568c00aaab0000aaab

Verwendet in

  • Ethereum consensus (BLS signatures)
  • Ethereum precompiles (EIP-2537)
  • Zcash Sapling
  • Filecoin
  • drand

Standards und Quellen

Alle Kurven