#merkle-tree #time #signatures #leave #cry4 #lamports #leafs

bin+lib merkle-trees-cry4

使用一次签名作为叶子节点的 Merkle 树实现

2 个版本

0.1.1 2022 年 6 月 7 日
0.1.0 2022 年 6 月 7 日

#1923密码学

MIT 许可证

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