njeans / rust-secp256k1-sgx

Rust language bindings for Bitcoin secp256k1 library.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SGX port of rust-secp256k1

This is a port of rust-secp256k1 to SGX environment based on Rust SGX SDK. Features include:

  • supports basic APIs and the rand feature (see upstream doc for a complete list of APIs).

See CHANGELOG.md for details.

Upstream README

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.14, which is the currently shipping compiler on Debian.

About

Rust language bindings for Bitcoin secp256k1 library.

License:Creative Commons Zero v1.0 Universal


Languages

Language:C 84.2%Language:Rust 8.2%Language:Sage 3.2%Language:Assembly 2.1%Language:M4 1.5%Language:Makefile 0.6%Language:Shell 0.1%Language:Dockerfile 0.1%