#ed25519 #sign #rsa #ring #signature

sharpie

基于ring的简单数字签名和验证库

4个版本

0.2.0 2023年2月8日
0.1.2 2023年2月3日
0.1.1 2023年2月3日
0.1.0 2023年2月3日

#2335 in 加密学

Apache-2.0

24KB
396

sharpie

github crates.io docs.rs build status

这是一个基于RSAED25519进行数字签名和验证的Rust库。

依赖项

[dependencies]
sharpie = "0.1.2"

查看最新版本请访问 crates.io

使用方法

运行示例

$ cargo run -p sharpie --example sign

对于Ed25519,使用sharpie::ed模块。

use sharpie::ed::{sign, verify, PrivateKey, PublicKey};

可选地,使用OpenSSL生成您的密钥

$ openssl genpkey -algorithm ED25519 -out ed.private.pem
$ openssl pkey -in private-key-ed.pem -pubout -out ed.public.pem

然后进行签名

let privkey = PrivateKey::PEM(fs::read_to_string("fixtures/ed.private.pem")?);
let sig = sign(b"hello world", &privkey)?;

或,进行验证

let pubkey =
    PublicKey::PEM(fs::read_to_string("fixtures/ed.public.pem")?);

// sig is Vec<u8>
verify(b"hello world", &sig, pubkey)?;

版权

版权所有(c)2022 @jondot。有关详细信息,请参阅LICENSE

依赖项

~9MB
~260K SLoC