Verifier

Trait Verifier 

Source
pub trait Verifier {
    // Required method
    fn verify(&self, signature: &Signature, message: &dyn AsRef<[u8]>) -> bool;
}
Expand description

A trait for types capable of verifying digital signatures.

The Verifier trait provides a method to verify that a signature was created by a corresponding signer for a specific message. This trait is implemented by SigningPublicKey for all supported signature schemes.

§Examples

use bc_components::{SignatureScheme, Signer, Verifier};

// Create a key pair using the ECDSA signature scheme
let (private_key, public_key) = SignatureScheme::Ecdsa.keypair();

// Sign a message
let message = b"Hello, world!";
let signature = private_key.sign(&message).unwrap();

// Verify the signature
assert!(public_key.verify(&signature, &message));

// Verification should fail for a different message
assert!(!public_key.verify(&signature, &b"Different message"));

Required Methods§

Source

fn verify(&self, signature: &Signature, message: &dyn AsRef<[u8]>) -> bool

Verifies a signature against a message.

§Arguments
  • signature - The signature to verify
  • message - The message that was allegedly signed
§Returns

true if the signature is valid for the message, false otherwise.

§Examples
use bc_components::{SignatureScheme, Signer, Verifier};

// Create a key pair
let (private_key, public_key) = SignatureScheme::Ed25519.keypair();

// Sign a message
let message = b"Hello, world!";
let signature = private_key.sign(&message).unwrap();

// Verify the signature with the correct message (should succeed)
assert!(public_key.verify(&signature, &message));

// Verify the signature with an incorrect message (should fail)
assert!(!public_key.verify(&signature, &b"Tampered message"));

Implementors§

Source§

impl Verifier for SigningPrivateKey

Implementation of the Verifier trait for SigningPrivateKey

Source§

impl Verifier for SigningPublicKey

Implementation of the Verifier trait for SigningPublicKey

Source§

impl Verifier for ECPublicKey

Implements the Verifier trait for verifying signatures.

Source§

impl Verifier for PrivateKeyBase

Source§

impl Verifier for PublicKeys