#time #signatures #lamports #scheme #winternitz #sha-256 #cry4

bin+lib one-time-signatures-cry4

An implementation of Lamport and Winternitz one time signatures schemes

2 releases

0.1.1 Jun 7, 2022
0.1.0 Jun 7, 2022

#2071 in Cryptography

22 downloads per month
Used in merkle-trees-cry4

MIT license

31KB
739 lines

One-Time-Signatures

Rust implementation of simple Lamport and Winternitz one time signatures

Usage

use one_time_signatures_cry4::{LamportSecretKey, LamportPublicKey};
use sha2::Sha256;

let message = b"Hi There!";

let mut sk = LamportSecretKey::<Sha256>::new();
let pk = LamportPublicKey::<Sha256>::new(&sk);

let sig = sk.sign_arbitrary(message).unwrap();
pk.verify_arbitrary(message, &sig).unwrap();

Benchmark

To build the benchmark file run:

cargo build --features build-binary --bin benchmark

Dependencies

~2MB
~47K SLoC