pub struct DsaKeyGenerator { /* private fields */ }Expand description
A key generator for DSA keys
§Example
use quantcrypt::dsas::DsaKeyGenerator;
use quantcrypt::dsas::DsaAlgorithm;
let mut key_generator = DsaKeyGenerator::new(DsaAlgorithm::MlDsa44);
let (pk, sk) = key_generator.generate().unwrap();
let msg = b"Hello, world!";
let sig = sk.sign(msg).unwrap();
assert!(pk.verify(msg, &sig).unwrap());Implementations§
source§impl DsaKeyGenerator
impl DsaKeyGenerator
sourcepub fn new(algorithm: DsaAlgorithm) -> DsaKeyGenerator
pub fn new(algorithm: DsaAlgorithm) -> DsaKeyGenerator
sourcepub fn generate(&mut self) -> Result<(PublicKey, PrivateKey), QuantCryptError>
pub fn generate(&mut self) -> Result<(PublicKey, PrivateKey), QuantCryptError>
Generate a keypair using the default RNG
§Returns
A tuple containing the public and secret keys (pk, sk)
Auto Trait Implementations§
impl Freeze for DsaKeyGenerator
impl RefUnwindSafe for DsaKeyGenerator
impl Send for DsaKeyGenerator
impl Sync for DsaKeyGenerator
impl Unpin for DsaKeyGenerator
impl UnwindSafe for DsaKeyGenerator
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more