11个版本
0.2.1 | 2024年4月25日 |
---|---|
0.2.0 | 2023年7月24日 |
0.2.0-pre.2 | 2023年6月26日 |
0.2.0-pre.1 | 2023年2月3日 |
0.0.1 | 2022年2月13日 |
#4 in #everscale
449 个月下载量
用于 4 个crate(3个直接使用)
21KB
446 代码行
everscale-crypto

Everscale的密码学原语
示例
use everscale_crypto::ed25519;
fn main() {
let data: &[u8] = b"hello world";
let keys = ed25519::KeyPair::generate(&mut rand::thread_rng());
// Simple bytes signature
let signature = keys.sign_raw(data);
assert!(keys.public_key.verify_raw(&data, &signature));
// Sign TL data without intermediate serialization
let signature = keys.sign(keys.public_key.as_tl());
assert!(keys.public_key.verify(keys.public_key.as_tl(), &signature));
// Shared secret
let other_keys = ed25519::KeyPair::generate(&mut rand::thread_rng());
let secret1 = keys.compute_shared_secret(&other_keys.public_key);
let secret2 = other_keys.compute_shared_secret(&keys.public_key);
assert_eq!(secret1, secret2);
}
依赖
~2.3–3.5MB
~77K SLoC