#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 699/week @ 2024-05-22 973/week @ 2024-05-29 629/week @ 2024-06-05 553/week @ 2024-06-12 593/week @ 2024-06-19 592/week @ 2024-06-26 386/week @ 2024-07-03 688/week @ 2024-07-10 807/week @ 2024-07-17 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 569/week @ 2024-09-04

2,716 downloads per month
Used in 19 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.3MB
~42K SLoC