mirror of
https://github.com/status-im/eth2.0-specs.git
synced 2025-02-03 06:13:31 +00:00
64f012b276
Co-authored-by: Chih Cheng Liang <chihchengliang@gmail.com> Co-authored-by: Danny Ryan <dannyjryan@gmail.com> Co-authored-by: Dmitrii Shmatko <leodex23@gmail.com> Co-authored-by: Jannik Luhn <jannik@brainbot.com> Co-authored-by: Paul Hauner <paul@paulhauner.com> Co-authored-by: protolambda <proto@protolambda.com>
20 lines
880 B
Markdown
20 lines
880 B
Markdown
# BLS Test Generator
|
|
|
|
Explanation of BLS12-381 type hierarchy
|
|
The base unit is bytes48 of which only 381 bits are used
|
|
|
|
- FQ: uint381 modulo field modulus
|
|
- FQ2: (FQ, FQ)
|
|
- G2: (FQ2, FQ2, FQ2)
|
|
|
|
## Resources
|
|
|
|
- [Eth2.0 spec](https://github.com/ethereum/eth2.0-specs/blob/master/specs/bls_signature.md)
|
|
- [Finite Field Arithmetic](http://www.springeronline.com/sgw/cda/pageitems/document/cda_downloaddocument/0,11996,0-0-45-110359-0,00.pdf)
|
|
- Chapter 2 of [Elliptic Curve Cryptography](http://cacr.uwaterloo.ca/ecc/). Darrel Hankerson, Alfred Menezes, and Scott Vanstone
|
|
- [Zcash BLS parameters](https://github.com/zkcrypto/pairing/tree/master/src/bls12_381)
|
|
- [Trinity implementation](https://github.com/ethereum/trinity/blob/master/eth2/_utils/bls.py)
|
|
|
|
## Comments
|
|
|
|
Compared to Zcash, Ethereum specs always requires the compressed form (c_flag / most significant bit always set). |