/p256k1

Wrappers around secp256k1 to expose the underlying math, specifically unwrapped points and scalars with multiexponentiation

Primary LanguageCApache License 2.0Apache-2.0

p256k1

ci crates.io

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.

Refer to the p256k1/ project for more information.

Contribution

To update the secp256k1 library, refer to the instructions in the update/ project.

Repository Conventions

Files with an _ prefix (e.g., _filename.ext) should not be edited manually. These files are automatically generated and any manual changes may be overwritten.