mundane::public

Trait Signature

Source
pub trait Signature: Sealed + Sized {
    type PrivateKey: PrivateKey;

    // Required methods
    fn sign(key: &Self::PrivateKey, message: &[u8]) -> Result<Self, Error>;
    fn is_valid(
        &self,
        key: &<Self::PrivateKey as PrivateKey>::Public,
        message: &[u8],
    ) -> bool;
}
Expand description

A cryptographic signature generated by a private key.

Required Associated Types§

Source

type PrivateKey: PrivateKey

The private key type used to generate this signature.

Required Methods§

Source

fn sign(key: &Self::PrivateKey, message: &[u8]) -> Result<Self, Error>

Sign a message.

The input to this function is always a message, never a digest. If a signature scheme calls for hashing a message and signing the hash digest, sign is responsible for both hashing and signing.

Source

fn is_valid( &self, key: &<Self::PrivateKey as PrivateKey>::Public, message: &[u8], ) -> bool

Verify a signature.

The input to this function is always a message, never a digest. If a signature scheme calls for hashing a message and signing the hash digest, is_valid is responsible for both hashing and verifying the digest.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§