[][src]Trait lib3h_crypto_api::CryptoSignature

pub trait CryptoSignature {
    const SIGN_SEED_BYTES: usize;
    const SIGN_PUBLIC_KEY_BYTES: usize;
    const SIGN_SECRET_KEY_BYTES: usize;
    const SIGN_BYTES: usize;

    fn sign_seed_keypair<SeedBuffer: Buffer, PublicKeyBuffer: Buffer, SecretKeyBuffer: Buffer>(
        seed: &SeedBuffer,
        public_key: &mut PublicKeyBuffer,
        secret_key: &mut SecretKeyBuffer
    ) -> CryptoResult<()>;
fn sign_keypair<PublicKeyBuffer: Buffer, SecretKeyBuffer: Buffer>(
        public_key: &mut PublicKeyBuffer,
        secret_key: &mut SecretKeyBuffer
    ) -> CryptoResult<()>;
fn sign<SignatureBuffer: Buffer, MessageBuffer: Buffer, SecretKeyBuffer: Buffer>(
        signature: &mut SignatureBuffer,
        message: &MessageBuffer,
        secret_key: &SecretKeyBuffer
    ) -> CryptoResult<()>;
fn sign_verify<SignatureBuffer: Buffer, MessageBuffer: Buffer, PublicKeyBuffer: Buffer>(
        signature: &SignatureBuffer,
        message: &MessageBuffer,
        public_key: &PublicKeyBuffer
    ) -> CryptoResult<bool>; }

Provides functions dealing with cryptographic / digital signatures

Associated Constants

const SIGN_SEED_BYTES: usize

byte length of seed for generating signature keypairs

const SIGN_PUBLIC_KEY_BYTES: usize

byte length of signature public keys

const SIGN_SECRET_KEY_BYTES: usize

byte length of signature secret keys

const SIGN_BYTES: usize

byte length of signatures

Loading content...

Required methods

fn sign_seed_keypair<SeedBuffer: Buffer, PublicKeyBuffer: Buffer, SecretKeyBuffer: Buffer>(
    seed: &SeedBuffer,
    public_key: &mut PublicKeyBuffer,
    secret_key: &mut SecretKeyBuffer
) -> CryptoResult<()>

Given a seed buffer of SIGN_SEED_BYTES length, produce a public key of SIGN_PUBLIC_KEY_BYTES length, and an associated secret key of SIGN_SECRET_KEY_BYTES length.

fn sign_keypair<PublicKeyBuffer: Buffer, SecretKeyBuffer: Buffer>(
    public_key: &mut PublicKeyBuffer,
    secret_key: &mut SecretKeyBuffer
) -> CryptoResult<()>

Produce a public key of SIGN_PUBLIC_KEY_BYTES length, and an associated secret key of SIGN_SECRET_KEY_BYTES length.

fn sign<SignatureBuffer: Buffer, MessageBuffer: Buffer, SecretKeyBuffer: Buffer>(
    signature: &mut SignatureBuffer,
    message: &MessageBuffer,
    secret_key: &SecretKeyBuffer
) -> CryptoResult<()>

Generate a cryptographic / digital signature for a message with the given secret key. The signature bytes are placed in the signature parameter.

fn sign_verify<SignatureBuffer: Buffer, MessageBuffer: Buffer, PublicKeyBuffer: Buffer>(
    signature: &SignatureBuffer,
    message: &MessageBuffer,
    public_key: &PublicKeyBuffer
) -> CryptoResult<bool>

Given a public key, verify that signature was generated for the supplied message data with the associated secret key.

Loading content...

Implementors

impl CryptoSignature for FakeCryptoSystem[src]

Loading content...