#signature-scheme #signature #lamports #crypto

nightly lamport_signature

Lamport一次性签名方案的Rust实现

5个版本

使用旧的Rust 2015

0.1.4 2018年5月31日
0.1.3 2018年5月30日
0.1.2 2018年5月28日
0.1.1 2018年5月28日
0.1.0 2018年5月28日

#10 in #lamports

MIT许可证

36KB
402

lamport_signature

Crates.io docs.rs Build Status GitHub license

lamport_signatureLamport一次性签名方案的Rust实现。

lamport_sigs仓库的区别

  • lamport_signature可以使用在RustCrypto/hashes中实现的任意固定输出大小摘要算法。
  • lamport_signature可以使用在rust-lang-nursery/rand中实现的任意RNG(随机数生成器)。

文档

文档可在此处找到。

用法

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!"));

错误报告

请通过拉取请求或通过问题跟踪器中的问题报告错误。lamport_signature有一个全面的漏洞披露政策。请勿尝试将任何安全漏洞私下报告给任何人。

许可证

MIT许可证.

依赖

~1MB
~16K SLoC