#后量子加密 #后量子 #签名 #安全 #加密

leslie_lamport

用于Lamport签名的后量子加密库

4个版本 (2个重大更新)

0.3.1 2021年1月11日
0.3.0 2020年5月20日
0.2.1 2020年4月30日
0.2.0 2020年4月30日
0.1.0 2019年10月19日

#2376 in 加密学

MIT/Apache

25KB
288

Leslie_Lamport

Crates.io Crates.io

这是一个由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