21 breaking releases

0.22.0 Feb 24, 2025
0.21.0 Dec 19, 2024
0.20.0 Jul 18, 2024
0.17.0 Mar 4, 2024
0.3.0 Nov 5, 2021

#2087 in Cryptography

Download history 324/week @ 2024-11-17 209/week @ 2024-11-24 85/week @ 2024-12-01 75/week @ 2024-12-08 228/week @ 2024-12-15 18/week @ 2024-12-22 20/week @ 2024-12-29 57/week @ 2025-01-05 95/week @ 2025-01-12 114/week @ 2025-01-19 137/week @ 2025-01-26 115/week @ 2025-02-02 120/week @ 2025-02-09 230/week @ 2025-02-16 269/week @ 2025-02-23 92/week @ 2025-03-02

716 downloads per month
Used in 19 crates

Apache-2.0

150KB
3.5K SLoC

A collection of utilities used by our other libraries in this workspace.

  • Pedersen commitment
  • Elgamal encryption, including Hashed Elgamal
  • finite field utilities like inner product, weighted inner product, hadamard product, etc.
  • multiscalar multiplication (MSM) like Fixed Base MSM
  • polynomial utilities like multiplying polynomials, creating polynomial from roots, etc.
  • An efficient way to check several equality relations involving pairings by combining the relations in a random linear combination and doing a multi-pairing check. Relies on Schwartz–Zippel lemma.
  • An efficient way to check several equality relations involving scalar multiplications by combining the relations in a random linear combination and doing a single multi-scalar multiplication check. Relies on Schwartz–Zippel lemma.
  • hashing utilities like hashing arbitrary bytes to field element or group element.
  • solving discrete log using Baby Step Giant Step algorithm

Dependencies

~6–14MB
~178K SLoC