22 stable releases (6 major)
7.1.0 | Mar 22, 2024 |
---|---|
6.0.0 | Nov 28, 2023 |
5.5.0 | Oct 5, 2023 |
5.3.0 | Jun 28, 2023 |
1.0.4 |
|
#477 in Cryptography
2,590 downloads per month
Used in 12 crates
(3 directly)
4.5MB
45K
SLoC
Contains (obscure autoconf code, 19KB) _secp256k1/configure.ac
p256k1
Rust wrappers around libsecp256k1 to expose unwrapped points and scalars with multi-exponentiation
p256k1
is a library providing group operations on secp256k1, a prime order Weierstrass curve.
p256k1
provides access to curve points in Jacobian coordinates, which allows for very fast operations. Standard math operators are implemented to allow writing code which closely resembles the underlying math. The BitXor
operator is used for scalar exponentiation, using a fast square and multiply algorithm; this provides a very natural and intuitive API. Fast multi-exponentiation is provided using the standard Pippenger algorithm.
Dependencies
Stable rust with a working cargo. Also need llvm to build secp256k1 and link the wrappers.
Ubuntu
$ apt install llvm
MacOS with brew
After installing llvm, be sure to follow the instructions on updating .zshrc so llvm can be used by the build system.
$ brew install llvm
Dependencies
~2–4.5MB
~90K SLoC