Struct oqs::sig::Sig [−][src]
pub struct Sig { /* fields omitted */ }
Expand description
Signature scheme
Example
use oqs;
oqs::init();
let scheme = oqs::sig::Sig::new(oqs::sig::Algorithm::Dilithium2).unwrap();
let message = [0u8; 100];
let (pk, sk) = scheme.keypair().unwrap();
let signature = scheme.sign(&message, &sk).unwrap();
assert!(scheme.verify(&message, &signature, &pk).is_ok());
Implementations
Construct a new algorithm
May fail if the algorithm is not available
Obtain the claimed nist level
Is this algorithm EUF-CMA?
Length of the public key
Length of the secret key
Maximum length of a signature
Construct a secret key object from bytes
Construct a public key object from bytes
Construct a signature object from bytes
Sign a message
pub fn verify<'a, 'b>(
&self,
message: &Message,
signature: impl Into<SignatureRef<'a>>,
pk: impl Into<PublicKeyRef<'b>>
) -> Result<()>
pub fn verify<'a, 'b>(
&self,
message: &Message,
signature: impl Into<SignatureRef<'a>>,
pk: impl Into<PublicKeyRef<'b>>
) -> Result<()>
Verify a message