#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

#14 in #libsecp256k1

Download history 1057/week @ 2023-12-11 1111/week @ 2023-12-18 469/week @ 2023-12-25 562/week @ 2024-01-01 1302/week @ 2024-01-08 1228/week @ 2024-01-15 1037/week @ 2024-01-22 747/week @ 2024-01-29 654/week @ 2024-02-05 751/week @ 2024-02-12 781/week @ 2024-02-19 938/week @ 2024-02-26 931/week @ 2024-03-04 647/week @ 2024-03-11 831/week @ 2024-03-18 884/week @ 2024-03-25

3,334 downloads per month
Used in 20 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

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

~550–800KB
~15K SLoC