#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 390/week @ 2024-11-17 622/week @ 2024-11-24 620/week @ 2024-12-01 806/week @ 2024-12-08 752/week @ 2024-12-15 227/week @ 2024-12-22 188/week @ 2024-12-29 546/week @ 2025-01-05 1055/week @ 2025-01-12 878/week @ 2025-01-19 617/week @ 2025-01-26 953/week @ 2025-02-02 1085/week @ 2025-02-09 460/week @ 2025-02-16 909/week @ 2025-02-23 511/week @ 2025-03-02

3,133 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