Crate signatory[−][src]
Signatory: a multi-provider digital signature library
This crate provides a thread-and-object-safe API for both creating and verifying elliptic curve digital signatures, using either software-based or hardware-based providers.
ECDSA (FIPS 186-4) and Ed25519 (RFC 8032) are the supported digital signature algorithms.
There are several backend providers available, which are each available in their own crates:
- signatory-dalek: Ed25519 signing/verification using the pure-Rust ed25519-dalek crate. This provider is enabled-by-default.
- signatory-ring: Ed25519 signing/verification with the ring cryptography library.
- signatory-secp256k1: ECDSA signing/verification for the secp256k1 elliptic curve (commonly used by Bitcoin and other cryptocurrrencies) which wraps the libsecp256k1 library from Bitcoin Core.
- signatory-sodiumoxide: Ed25519 signing/verification with the sodiumoxide crate, a Rust wrapper for libsodium (NOTE: requires libsodium to be installed on the system)
- signatory-yubihsm: Ed25519 signing-only provider using private keys
stored in a
YubiHSM2
hardware device, via the yubihsm-rs crate.
Re-exports
pub extern crate generic_array; |
pub use error::Error; |
pub use error::ErrorKind; |
Modules
curve |
Elliptic Curves (Weierstrass form) supported for use with ECDSA |
ecdsa |
The Elliptic Curve Digital Signature Algorithm (ECDSA) as specified in FIPS 186-4 (Digital Signature Standard) |
ed25519 |
Ed25519: Schnorr signatures using the twisted Edwards form of Curve25519 |
error |
Error types |
test_vector |
Test vector structure for signatures |
Macros
ed25519_tests |