4个版本 (2个重大更新)
0.3.1 | 2021年1月11日 |
---|---|
0.3.0 | 2020年5月20日 |
0.2.1 | 2020年4月30日 |
0.2.0 |
|
0.1.0 | 2019年10月19日 |
#2376 in 加密学
25KB
288 行
Leslie_Lamport
这是一个由Leslie Lamport于1979年创建的“后量子数字签名方案”Lamport签名的库。
了解Lamport签名
如何生成密钥
use leslie_lamport::{LamportKeyPair,LamportSignature,Algorithms};
fn main(){
// Generate Keypair using Operating System SHA256
let keypair = LamportKeyPair::generate(Algorithms::OS_SHA256);
// Generate Keypair using Operating System SHA512
let keypair_sha512 = LamportKeyPair::generate(Algorithms::OS_SHA512);
// Generate Keypair using Rust Library For Blake2b
let keypair_blake2b = LamportKeyPair::generate(Algorithms::BLAKE2B);
}
如何签名
use leslie_lamport::{LamportKeyPair,LamportSignature,Algorithms};
fn main(){
// Generate Keypair
let keypair = LamportKeyPair::generate(Algorithms::OS_SHA256);
// Generate Signature For 512 bit input
let sig = keypair.sign("b7dba1bc67c531bffb14fbd7f6948540dba10981765a0538575bed2b6bf553d43f35c287635ef7c4cb2c379f71218edaf70d5d73844910684103b99916e428c2");
// Check If It Is Verified
let is_verified: bool = sig.verify();
// Print Verification
println!("Is Verified: {}",is_verified)
}
许可证
许可协议
- Apache许可证,版本2.0
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在作品中的任何贡献,应如上所述双重许可,而不附加任何额外的条款或条件。
依赖关系
~2.1–3.5MB
~67K SLoC