keypair_opt_using

Function keypair_opt_using 

Source
pub fn keypair_opt_using(
    signature_scheme: SignatureScheme,
    encapsulation_scheme: EncapsulationScheme,
    rng: &mut impl RandomNumberGenerator,
) -> Result<(PrivateKeys, PublicKeys)>
Expand description

Generates a key pair with specified schemes using a custom random number generator.

This function provides the most control over key pair generation by allowing custom specification of both cryptographic schemes and the random number generator.

§Parameters

  • signature_scheme - The signature scheme to use
  • encapsulation_scheme - The key encapsulation scheme to use
  • rng - A mutable reference to a random number generator

§Returns

A Result containing a tuple with PrivateKeys and PublicKeys if successful, or an error if key generation fails.

§Errors

Returns an error if either the signature or encapsulation key generation fails.

§Example

use bc_components::{
    EncapsulationScheme, SignatureScheme, keypair_opt_using,
};
use bc_rand::SecureRandomNumberGenerator;

// Create a random number generator
let mut rng = SecureRandomNumberGenerator;

// Generate a specific key pair deterministically
let result = keypair_opt_using(
    SignatureScheme::Ecdsa,
    EncapsulationScheme::X25519,
    &mut rng,
);
assert!(result.is_ok());