Skip to content

Rust language bindings for Bitcoin secp256k1 library.

License

Notifications You must be signed in to change notification settings

sgeisler/rust-secp256k1

 
 

Repository files navigation

Build Status

Full documentation

rust-secp256k1

rust-secp256k1 is a wrapper around libsecp256k1, a C library by Pieter Wuille for producing ECDSA signatures using the SECG curve secp256k1. This library

  • exposes type-safe Rust bindings for all libsecp256k1 functions
  • implements key generation
  • implements deterministic nonce generation via RFC6979
  • implements many unit tests, adding to those already present in libsecp256k1
  • makes no allocations (except in unit tests) for efficiency and use in freestanding implementations

Contributing

Contributions to this library are welcome. A few guidelines:

  • Any breaking changes must have an accompanied entry in CHANGELOG.md
  • No new dependencies, please.
  • No crypto should be implemented in Rust, with the possible exception of hash functions. Cryptographic contributions should be directed upstream to libsecp256k1.
  • This library should always compile with any combination of features on Rust 1.22.

About

Rust language bindings for Bitcoin secp256k1 library.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 65.2%
  • Rust 14.7%
  • C++ 8.7%
  • Java 2.8%
  • Python 2.8%
  • M4 2.6%
  • Other 3.2%