11个版本

0.2.1 2024年4月25日
0.2.0 2023年7月24日
0.2.0-pre.22023年6月26日
0.2.0-pre.12023年2月3日
0.0.1 2022年2月13日

#4 in #everscale

Download history • Rust 包仓库 168/week @ 2024-04-26 • Rust 包仓库 71/week @ 2024-05-03 • Rust 包仓库 37/week @ 2024-05-10 • Rust 包仓库 99/week @ 2024-05-17 • Rust 包仓库 65/week @ 2024-05-24 • Rust 包仓库 84/week @ 2024-05-31 • Rust 包仓库 119/week @ 2024-06-07 • Rust 包仓库 64/week @ 2024-06-14 • Rust 包仓库 85/week @ 2024-06-21 • Rust 包仓库 56/week @ 2024-06-28 • Rust 包仓库 61/week @ 2024-07-05 • Rust 包仓库 64/week @ 2024-07-12 • Rust 包仓库 127/week @ 2024-07-19 • Rust 包仓库 115/week @ 2024-07-26 • Rust 包仓库 88/week @ 2024-08-02 • Rust 包仓库 110/week @ 2024-08-09 • Rust 包仓库

449 个月下载量
用于 4 个crate(3个直接使用)

自定义许可证

21KB
446 代码行

everscale-crypto   最新版本 everscale-crypto: rustc 1.56+ Workflow徽章 License MIT徽章

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