pub struct MlDsa<P: MlDsaSchemeParams + 'static> { /* private fields */ }Expand description
ML-DSA signature scheme parameterized by a final FIPS 204 parameter set.
Implementations§
Source§impl<P> MlDsa<P>
impl<P> MlDsa<P>
Sourcepub fn sign_with_rng<R: CryptoRng + RngCore>(
message: &[u8],
secret_key: &MlDsaSecretKey,
rng: &mut R,
) -> ApiResult<MlDsaSignature>
pub fn sign_with_rng<R: CryptoRng + RngCore>( message: &[u8], secret_key: &MlDsaSecretKey, rng: &mut R, ) -> ApiResult<MlDsaSignature>
Generate a hedged FIPS 204 pure signature with an explicit caller RNG.
Sourcepub fn sign_with_context_rng<R: CryptoRng + RngCore>(
message: &[u8],
context: &[u8],
secret_key: &MlDsaSecretKey,
rng: &mut R,
) -> ApiResult<MlDsaSignature>
pub fn sign_with_context_rng<R: CryptoRng + RngCore>( message: &[u8], context: &[u8], secret_key: &MlDsaSecretKey, rng: &mut R, ) -> ApiResult<MlDsaSignature>
Generate a hedged FIPS 204 pure signature with a context and caller RNG.
Sourcepub fn sign_deterministic(
message: &[u8],
secret_key: &MlDsaSecretKey,
) -> ApiResult<MlDsaSignature>
pub fn sign_deterministic( message: &[u8], secret_key: &MlDsaSecretKey, ) -> ApiResult<MlDsaSignature>
Generate the optional deterministic FIPS 204 pure signature.
Sourcepub fn sign_deterministic_with_context(
message: &[u8],
context: &[u8],
secret_key: &MlDsaSecretKey,
) -> ApiResult<MlDsaSignature>
pub fn sign_deterministic_with_context( message: &[u8], context: &[u8], secret_key: &MlDsaSecretKey, ) -> ApiResult<MlDsaSignature>
Generate the optional deterministic FIPS 204 pure signature with context.
Sourcepub fn verify_with_context(
message: &[u8],
context: &[u8],
signature: &MlDsaSignature,
public_key: &MlDsaPublicKey,
) -> ApiResult<()>
pub fn verify_with_context( message: &[u8], context: &[u8], signature: &MlDsaSignature, public_key: &MlDsaPublicKey, ) -> ApiResult<()>
Verify a pure FIPS 204 signature with an explicit context.
Trait Implementations§
Source§impl<P> Signature for MlDsa<P>
impl<P> Signature for MlDsa<P>
Source§type PublicKey = MlDsaPublicKey
type PublicKey = MlDsaPublicKey
Public key type for this algorithm
Source§type SecretKey = MlDsaSecretKey
type SecretKey = MlDsaSecretKey
Secret key type - must be zeroizable but not byte-accessible Read more
Source§type SignatureData = MlDsaSignature
type SignatureData = MlDsaSignature
Signature data type
Source§type KeyPair = (<MlDsa<P> as Signature>::PublicKey, <MlDsa<P> as Signature>::SecretKey)
type KeyPair = (<MlDsa<P> as Signature>::PublicKey, <MlDsa<P> as Signature>::SecretKey)
Key pair type (typically a tuple of public and secret keys)
Source§fn keypair<R: CryptoRng + RngCore>(rng: &mut R) -> ApiResult<Self::KeyPair>
fn keypair<R: CryptoRng + RngCore>(rng: &mut R) -> ApiResult<Self::KeyPair>
Generate a new key pair using the provided RNG Read more
Source§fn public_key(keypair: &Self::KeyPair) -> Self::PublicKey
fn public_key(keypair: &Self::KeyPair) -> Self::PublicKey
Extract the public key from a key pair
Source§fn secret_key(keypair: &Self::KeyPair) -> Self::SecretKey
fn secret_key(keypair: &Self::KeyPair) -> Self::SecretKey
Extract the secret key from a key pair
Auto Trait Implementations§
impl<P> Freeze for MlDsa<P>
impl<P> RefUnwindSafe for MlDsa<P>where
P: RefUnwindSafe,
impl<P> Send for MlDsa<P>
impl<P> Sync for MlDsa<P>
impl<P> Unpin for MlDsa<P>where
P: Unpin,
impl<P> UnsafeUnpin for MlDsa<P>
impl<P> UnwindSafe for MlDsa<P>where
P: UnwindSafe,
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