#libsecp256k1 #ecdsa #bitcoin #ethereum #elliptic-curve #secp256k1

yanked parity-secp256k1

Fork of Rust bindings for Pieter Wuille’s libsecp256k1 library. Implements ECDSA for the SECG elliptic curve group secp256k1 and related utilities.

2 unstable releases

Uses old Rust 2015

0.7.0 Oct 23, 2019
0.6.0 Oct 22, 2019

#15 in #libsecp256k1

Download history 744/week @ 2024-07-24 634/week @ 2024-07-31 800/week @ 2024-08-07 738/week @ 2024-08-14 590/week @ 2024-08-21 656/week @ 2024-08-28 686/week @ 2024-09-04 532/week @ 2024-09-11 619/week @ 2024-09-18 675/week @ 2024-09-25 629/week @ 2024-10-02 383/week @ 2024-10-09 528/week @ 2024-10-16 546/week @ 2024-10-23 557/week @ 2024-10-30 387/week @ 2024-11-06

2,144 downloads per month
Used in 18 crates (via near-crypto-v01)

CC0 license

495KB
10K SLoC

C 7K SLoC // 0.1% comments Rust 1.5K SLoC // 0.1% comments GNU Style Assembly 742 SLoC // 0.1% comments Java 437 SLoC // 0.3% comments M4 224 SLoC // 0.3% comments Automake 158 SLoC Shell 2 SLoC

Contains (obscure autoconf code, 19KB) depend/secp256k1/configure.ac

Build Status crates.io

parity-secp256k1

parity-secp256k1 is a wrapper around libsecp256k1, a C library by Peter Wuille for producing ECDSA signatures using the SECG curve secp256k1. It is a fork of rust-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

Full documentation

Build

Clone the repository. Run the following:

git submodule init
git submodule update
cargo check

Dependencies

~1.4–2.4MB
~44K SLoC