Skip to main content

Try it Live

Run BLS12-381 examples in the interactive playground
This page is a placeholder. All examples on this page are currently AI-generated and are not correct. This documentation will be completed in the future with accurate, tested examples.

Test Vectors

Official test vectors for validating BLS12-381 implementations.

Source

Ethereum Consensus Specs - BLS Test Vectors

Point Encoding

G1 Generator (Uncompressed)

G2 Generator (Uncompressed)

Signature Verification

Test Vector 1

Private Key:
Public Key (G2):
Message:
Signature (G1):

Hash-to-Curve

Test vectors for hash-to-G1 and hash-to-G2 (RFC 9380).

Hash-to-G1

Domain Separation Tag:
Input Message:
Expected G1 Point:

Pairing

Test Vector: e(G1, G2) ≠ 1

Test Vector: e(aG1, bG2) = e(G1, G2)^(ab)

Edge Cases

Point at Infinity

Subgroup Checks

Invalid G2 point (on curve but not in prime-order subgroup):

Aggregation

Aggregate Signature Test

References