#ed25519 #signature #curve25519

无需 std xpx-chain-crypto

纯 Rust 实现的快速高效的 ed25519 EdDSA 密钥生成、签名和验证

2 个稳定版本

1.0.8 2024 年 6 月 27 日

#1790 in 密码学

27 每月下载量
用于 xpx-chain-sdk

Apache-2.0

73KB
888 代码行

Rust logo

ProximaX Sirius 区块链 Crypto Rust

ProximaX Sirius 区块链官方实现的 ed25519 加密模块,用于 Rust。

ProximaX Sirius 区块链 Crypto Rust 作为与 Sirius 区块链交互的轻量级 Rust 库。

使用方法

首先,将以下内容添加到您的 Cargo.toml

[dependencies]
xpx-chain-crypto = { git = "https://github.com/proximax-storage/rust-xpx-crypto" }

示例

use xpx_chain_crypto::{Keypair, PublicKey, SecretKey, Signature};

fn main() {
    let sk_hex =
        hex::decode("68f50e10e5b8be2b7e9ddb687a667d6e94dd55fe02b4aed8195f51f9a242558b").unwrap();

    let message: &[u8] = b"ProximaX Limited";

    let secret_key: SecretKey = SecretKey::from_bytes(&sk_hex).unwrap();
    println!("PrivateKey: {:?}", hex::encode(secret_key.to_bytes()));

    let public_key: PublicKey = PublicKey::from(&secret_key);
    println!("PublicKey: \t{:?}", hex::encode(public_key.to_bytes()));

    let key_pair = Keypair {
        secret: secret_key,
        public: public_key,
    };

    println!("PublicKey: \t{:?}", key_pair.public);

    let sig: Signature = key_pair.sign(&message);
    println!("Sig: \t\t{:?}", hex::encode(sig.to_bytes().to_vec()));
    println!("Verify: \t{}", key_pair.verify(&message, &sig).is_ok());
}

依赖项

~3.5MB
~59K SLoC