7 releases

0.3.0 Jan 28, 2024
0.2.4 Jan 28, 2024
0.1.0 Jan 12, 2024

#1929 in Cryptography

Unlicense

34KB
633 lines

LDWM

LDWM implementation in pure Rust. This library currently provides verification support; eventually, signing support will also be added.

Verification is #no_std compatible.

Example

use ldwm::{LdwmParams, Winternitz, verify::verify, Signature, SHA256_LEN};
let params = LdwmParams {
    w: Winternitz::W4,
    m: 20,
    h: 2,
    k: 4,
};
let msg = "Hello world!\n".as_bytes();
// `auth_path`, `ots`, and `node_num` as from the RFC
let sig = Signature { auth_path, ots, node_num };
assert!(verify(&params, &sig, key, msg));

lib.rs:

LDWM signature verification and generation

Dependencies

~2MB
~37K SLoC