pub trait SignatureScheme: Algorithm {
const PRIVATE_KEY_LEN: usize;
const PUBLIC_KEY_LEN: usize;
const SIGNATURE_LEN: usize;
// Required methods
fn public_key(private_key: &[u8], out: &mut [u8]) -> Result<()>;
fn sign(
private_key: &[u8],
message: &[u8],
signature: &mut [u8],
) -> Result<()>;
fn verify(public_key: &[u8], message: &[u8], signature: &[u8]) -> Result<()>;
}Expand description
A digital signature scheme.
Required Associated Constants§
Sourceconst PRIVATE_KEY_LEN: usize
const PRIVATE_KEY_LEN: usize
Seed / private key length in bytes.
Sourceconst PUBLIC_KEY_LEN: usize
const PUBLIC_KEY_LEN: usize
Public key length in bytes.
Sourceconst SIGNATURE_LEN: usize
const SIGNATURE_LEN: usize
Signature length in bytes.
Required Methods§
Sourcefn public_key(private_key: &[u8], out: &mut [u8]) -> Result<()>
fn public_key(private_key: &[u8], out: &mut [u8]) -> Result<()>
Derive the public key from a private key.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".