Module ed25519

Source
Expand description

Ed25519 implementation of the Scheme trait.

This implementation uses the ed25519-consensus crate to adhere to a strict set of validation rules for Ed25519 signatures (which is necessary for stability in a consensus context). You can read more about this here.

§Example

use commonware_cryptography::{ed25519, PrivateKey, PublicKey, Signature, PrivateKeyExt as _, Verifier as _, Signer as _};
use rand::rngs::OsRng;

// Generate a new private key
let mut signer = ed25519::PrivateKey::from_rng(&mut OsRng);

// Create a message to sign
let namespace = Some(&b"demo"[..]);
let msg = b"hello, world!";

// Sign the message
let signature = signer.sign(namespace, msg);

// Verify the signature
assert!(signer.public_key().verify(namespace, msg, &signature));

Structs§

Batch
Ed25519 Batch Verifier.
PrivateKey
Ed25519 Private Key.
PublicKey
Ed25519 Public Key.
Signature
Ed25519 Signature.