5 releases
Uses old Rust 2015
0.1.4 | May 31, 2018 |
---|---|
0.1.3 | May 30, 2018 |
0.1.2 | May 28, 2018 |
0.1.1 | May 28, 2018 |
0.1.0 | May 28, 2018 |
#10 in #lamports
36KB
402 lines
lamport_signature
lamport_signature is a Rust implementation of the Lamport one-time signature scheme.
Difference from the lamport_sigs crate
- lamport_signature can use arbitrary fixed output size digest algorithm implemented in RustCrypto/hashes.
- lamport_signature can use arbitrary RNG (Random Number Generator) implemented in rust-lang-nursery/rand.
Documentation
Documentation is available here.
Usage
extern crate lamport_signature;
extern crate sha2;
extern crate rand;
use lamport_signature::{PublicKey, PrivateKey, generate_keys};
use sha2::Sha256;
use rand::thread_rng;
let mut rng = thread_rng();
let (mut private_key, public_key) = generate_keys::<Sha256, _>(&mut rng);
let signature = private_key.sign(b"Hello, World!").expect("signing failed");
assert!(public_key.verify(&signature, b"Hello, World!"));
Bug Reporting
Please report bugs either as pull requests or as issues in the issue tracker. lamport_signature has a full disclosure vulnerability policy. Please do NOT attempt to report any security vulnerability in this code privately to anybody.
License
Dependencies
~1MB
~16K SLoC