2 个版本
0.1.1 | 2022 年 6 月 7 日 |
---|---|
0.1.0 | 2022 年 6 月 7 日 |
#1923 在 密码学
19KB
348 行
Merkle-Trees
使用 Lamport 或 Winternitz 等一次签名作为叶子节点的 Merkle 树实现
用法
use sha2::Sha256;
use merkle_trees_cry4::{OneTimeScheme, MerkleSecretKey, MerklePublicKey};
let message = b"Hi There!";
let mut sk = MerkleSecretKey::<Sha256>::new(128, OneTimeScheme::Lamport).unwrap();
let pk = MerklePublicKey::<Sha256>::new(&sk);
let leaf_index = 66;
let sig = sk.sign_arbitrary(message, leaf_index).unwrap();
pk.verify_arbitrary(message, &sig).unwrap();
基准测试
要构建基准测试文件,运行
cargo build --features build-binary --bin benchmark
依赖项
~2MB
~47K SLoC