This is the first blog post in a new code-centric series about selected optimizations found in pairing-based cryptography. Pairing operations are foundational to the BLS Signatures  central to Ethereum 2.0, zero-knowledge arguments central to Zcash and Filecoin , and a wide variety of other emerging applications. A prior blog series implemented the entire pairing … Continue reading Optimizing Pairing-Based Cryptography: Montgomery Arithmetic in Rust
This is the last of three code-centric blog posts on pairing based cryptography. Support for these operations in an Ethereum precompiled contract has been proposed , and support for a related pairing configuration in precompiled contracts is already in operation [2, 3]. The first post  covered modular arithmetic, finite fields, the embedding degree, and … Continue reading Pairing over BLS12-381, Part 3: Pairing!
This is the second of three code-centric blog posts on pairing based cryptography. The first post  covered modular arithmetic, finite fields, the embedding degree, and presented an implementation of a 12-degree prime extension field tower. The series will ultimately conclude with a detailed review of the popular BLS12-381 pairing operations found in a variety … Continue reading Pairing over BLS12-381, Part 2: Curves