19 breaking releases

0.20.0 Jul 18, 2024
0.18.0 May 10, 2024
0.17.0 Mar 4, 2024
0.16.0 Oct 2, 2023
0.3.0 Nov 5, 2021

#2204 in Cryptography

Download history 262/week @ 2024-08-15 279/week @ 2024-08-22 102/week @ 2024-08-29 62/week @ 2024-09-05 80/week @ 2024-09-12 89/week @ 2024-09-19 138/week @ 2024-09-26 104/week @ 2024-10-03 130/week @ 2024-10-10 75/week @ 2024-10-17 66/week @ 2024-10-24 209/week @ 2024-10-31 137/week @ 2024-11-07 267/week @ 2024-11-14 350/week @ 2024-11-21 62/week @ 2024-11-28

870 downloads per month
Used in 16 crates

Apache-2.0

120KB
2.5K SLoC

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

  • Pedersen commitment
  • Elgamal encryption
  • 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.
  • hashing utilities like hashing arbitrary bytes to field element or group element.
  • solving discrete log using Baby Step Giant Step algorithm

lib.rs:

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

  • Pedersen commitment
  • Elgamal encryption
  • 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.
  • hashing utilities like hashing arbitrary bytes to field element or group element.
  • solving discrete log using Baby Step Giant Step algorithm

Dependencies

~6–17MB
~178K SLoC