View Source pqclean_nif (pqclean v0.0.1)

Post-Quantum Cryptography NIF based on PQClean for Erlang and Elixir.

See README for more examples and a full list of supported algorithms.

key-encapsulation-mechanism-kem-algorithm-example

Key Encapsulation Mechanism (KEM) Algorithm Example:

   {PK, SK} = pqclean_nif:kyber768_keypair(),
   {CT, SS} = pqclean_nif:kyber768_encapsulate(PK),
        SS  = pqclean_nif:kyber768_decapsulate(CT, SK).

signature-algorithm-example

Signature Algorithm Example:

   {PK, SK} = pqclean_nif:falcon512_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:falcon512_sign(Msg, SK),
   true = pqclean_nif:falcon512_verify(Sig, Msg, PK).

Link to this section Summary

Types

Map representation for a Key Encapsulation Mechanism (KEM) Algorithm.

Map representation for a Signature Algorithm.

Binary representation of a Message for the Dilithium2 Signature Algorithm.
Binary representation of a PublicKey for the Dilithium2 Signature Algorithm (1,312-bytes).
Binary representation of a SecretKey for the Dilithium2 Signature Algorithm (2,528-bytes).
Binary representation of a Signature for the Dilithium2 Signature Algorithm (maximum of 2,420-bytes).
Boolean representation of a Verification for the Dilithium2 Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the Dilithium2-AES Signature Algorithm.
Binary representation of a PublicKey for the Dilithium2-AES Signature Algorithm (1,312-bytes).
Binary representation of a SecretKey for the Dilithium2-AES Signature Algorithm (2,528-bytes).
Binary representation of a Signature for the Dilithium2-AES Signature Algorithm (maximum of 2,420-bytes).
Boolean representation of a Verification for the Dilithium2-AES Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the Dilithium3 Signature Algorithm.
Binary representation of a PublicKey for the Dilithium3 Signature Algorithm (1,952-bytes).
Binary representation of a SecretKey for the Dilithium3 Signature Algorithm (4,000-bytes).
Binary representation of a Signature for the Dilithium3 Signature Algorithm (maximum of 3,293-bytes).
Boolean representation of a Verification for the Dilithium3 Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the Dilithium3-AES Signature Algorithm.
Binary representation of a PublicKey for the Dilithium3-AES Signature Algorithm (1,952-bytes).
Binary representation of a SecretKey for the Dilithium3-AES Signature Algorithm (4,000-bytes).
Binary representation of a Signature for the Dilithium3-AES Signature Algorithm (maximum of 3,293-bytes).
Boolean representation of a Verification for the Dilithium3-AES Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the Dilithium5 Signature Algorithm.
Binary representation of a PublicKey for the Dilithium5 Signature Algorithm (2,592-bytes).
Binary representation of a SecretKey for the Dilithium5 Signature Algorithm (4,864-bytes).
Binary representation of a Signature for the Dilithium5 Signature Algorithm (maximum of 4,595-bytes).
Boolean representation of a Verification for the Dilithium5 Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the Dilithium5-AES Signature Algorithm.
Binary representation of a PublicKey for the Dilithium5-AES Signature Algorithm (2,592-bytes).
Binary representation of a SecretKey for the Dilithium5-AES Signature Algorithm (4,864-bytes).
Binary representation of a Signature for the Dilithium5-AES Signature Algorithm (maximum of 4,595-bytes).
Boolean representation of a Verification for the Dilithium5-AES Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the Falcon-512 Signature Algorithm.
Binary representation of a PublicKey for the Falcon-512 Signature Algorithm (897-bytes).
Binary representation of a SecretKey for the Falcon-512 Signature Algorithm (1,281-bytes).
Binary representation of a Signature for the Falcon-512 Signature Algorithm (maximum of 666-bytes).
Boolean representation of a Verification for the Falcon-512 Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the Falcon-1024 Signature Algorithm.
Binary representation of a PublicKey for the Falcon-1024 Signature Algorithm (1,793-bytes).
Binary representation of a SecretKey for the Falcon-1024 Signature Algorithm (2,305-bytes).
Binary representation of a Signature for the Falcon-1024 Signature Algorithm (maximum of 1,280-bytes).
Boolean representation of a Verification for the Falcon-1024 Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a CipherText for the HQC-RMRS-128 KEM Algorithm (4,481-bytes).
Binary representation of a PublicKey for the HQC-RMRS-128 KEM Algorithm (2,249-bytes).
Binary representation of a SecretKey for the HQC-RMRS-128 KEM Algorithm (2,289-bytes).
Binary representation of a SharedSecret for the HQC-RMRS-128 KEM Algorithm (64-bytes).
Binary representation of a CipherText for the HQC-RMRS-192 KEM Algorithm (9,026-bytes).
Binary representation of a PublicKey for the HQC-RMRS-192 KEM Algorithm (4,522-bytes).
Binary representation of a SecretKey for the HQC-RMRS-192 KEM Algorithm (4,562-bytes).
Binary representation of a SharedSecret for the HQC-RMRS-192 KEM Algorithm (64-bytes).
Binary representation of a CipherText for the HQC-RMRS-256 KEM Algorithm (14,469-bytes).
Binary representation of a PublicKey for the HQC-RMRS-256 KEM Algorithm (7,245-bytes).
Binary representation of a SecretKey for the HQC-RMRS-256 KEM Algorithm (7,285-bytes).
Binary representation of a SharedSecret for the HQC-RMRS-256 KEM Algorithm (64-bytes).
Binary representation of a CipherText for the Kyber512-90s KEM Algorithm (768-bytes).
Binary representation of a PublicKey for the Kyber512-90s KEM Algorithm (800-bytes).
Binary representation of a SecretKey for the Kyber512-90s KEM Algorithm (1,632-bytes).
Binary representation of a SharedSecret for the Kyber512-90s KEM Algorithm (32-bytes).
Binary representation of a CipherText for the Kyber512 KEM Algorithm (768-bytes).
Binary representation of a PublicKey for the Kyber512 KEM Algorithm (800-bytes).
Binary representation of a SecretKey for the Kyber512 KEM Algorithm (1,632-bytes).
Binary representation of a SharedSecret for the Kyber512 KEM Algorithm (32-bytes).
Binary representation of a CipherText for the Kyber768-90s KEM Algorithm (1,088-bytes).
Binary representation of a PublicKey for the Kyber768-90s KEM Algorithm (1,184-bytes).
Binary representation of a SecretKey for the Kyber768-90s KEM Algorithm (2,400-bytes).
Binary representation of a SharedSecret for the Kyber768-90s KEM Algorithm (32-bytes).
Binary representation of a CipherText for the Kyber768 KEM Algorithm (1,088-bytes).
Binary representation of a PublicKey for the Kyber768 KEM Algorithm (1,184-bytes).
Binary representation of a SecretKey for the Kyber768 KEM Algorithm (2,400-bytes).
Binary representation of a SharedSecret for the Kyber768 KEM Algorithm (32-bytes).
Binary representation of a CipherText for the Kyber1024-90s KEM Algorithm (1,568-bytes).
Binary representation of a PublicKey for the Kyber1024-90s KEM Algorithm (1,568-bytes).
Binary representation of a SecretKey for the Kyber1024-90s KEM Algorithm (3,168-bytes).
Binary representation of a SharedSecret for the Kyber1024-90s KEM Algorithm (32-bytes).
Binary representation of a CipherText for the Kyber1024 KEM Algorithm (1,568-bytes).
Binary representation of a PublicKey for the Kyber1024 KEM Algorithm (1,568-bytes).
Binary representation of a SecretKey for the Kyber1024 KEM Algorithm (3,168-bytes).
Binary representation of a SharedSecret for the Kyber1024 KEM Algorithm (32-bytes).
Binary representation of a Message for the SPHINCS+-haraka-128f-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-128f-robust Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-128f-robust Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-128f-robust Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-128f-robust Signature Algorithm (maximum of 17,088-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-128f-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-128f-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-128f-simple Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-128f-simple Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-128f-simple Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-128f-simple Signature Algorithm (maximum of 17,088-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-128f-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-128s-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-128s-robust Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-128s-robust Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-128s-robust Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-128s-robust Signature Algorithm (maximum of 7,856-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-128s-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-128s-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-128s-simple Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-128s-simple Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-128s-simple Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-128s-simple Signature Algorithm (maximum of 7,856-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-128s-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-192f-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-192f-robust Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-192f-robust Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-192f-robust Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-192f-robust Signature Algorithm (maximum of 35,664-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-192f-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-192f-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-192f-simple Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-192f-simple Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-192f-simple Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-192f-simple Signature Algorithm (maximum of 35,664-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-192f-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-192s-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-192s-robust Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-192s-robust Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-192s-robust Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-192s-robust Signature Algorithm (maximum of 16,224-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-192s-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-192s-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-192s-simple Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-192s-simple Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-192s-simple Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-192s-simple Signature Algorithm (maximum of 16,224-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-192s-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-256f-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-256f-robust Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-256f-robust Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-256f-robust Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-256f-robust Signature Algorithm (maximum of 49,856-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-256f-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-256f-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-256f-simple Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-256f-simple Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-256f-simple Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-256f-simple Signature Algorithm (maximum of 49,856-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-256f-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-256s-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-256s-robust Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-256s-robust Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-256s-robust Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-256s-robust Signature Algorithm (maximum of 29,792-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-256s-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-haraka-256s-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-haraka-256s-simple Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-haraka-256s-simple Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-haraka-256s-simple Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-haraka-256s-simple Signature Algorithm (maximum of 29,792-bytes).
Boolean representation of a Verification for the SPHINCS+-haraka-256s-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-128f-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-128f-robust Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-128f-robust Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-128f-robust Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-128f-robust Signature Algorithm (maximum of 17,088-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-128f-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-128f-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-128f-simple Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-128f-simple Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-128f-simple Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-128f-simple Signature Algorithm (maximum of 17,088-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-128f-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-128s-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-128s-robust Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-128s-robust Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-128s-robust Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-128s-robust Signature Algorithm (maximum of 7,856-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-128s-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-128s-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-128s-simple Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-128s-simple Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-128s-simple Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-128s-simple Signature Algorithm (maximum of 7,856-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-128s-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-192f-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-192f-robust Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-192f-robust Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-192f-robust Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-192f-robust Signature Algorithm (maximum of 35,664-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-192f-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-192f-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-192f-simple Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-192f-simple Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-192f-simple Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-192f-simple Signature Algorithm (maximum of 35,664-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-192f-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-192s-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-192s-robust Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-192s-robust Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-192s-robust Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-192s-robust Signature Algorithm (maximum of 16,224-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-192s-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-192s-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-192s-simple Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-192s-simple Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-192s-simple Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-192s-simple Signature Algorithm (maximum of 16,224-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-192s-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-256f-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-256f-robust Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-256f-robust Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-256f-robust Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-256f-robust Signature Algorithm (maximum of 49,856-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-256f-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-256f-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-256f-simple Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-256f-simple Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-256f-simple Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-256f-simple Signature Algorithm (maximum of 49,856-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-256f-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-256s-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-256s-robust Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-256s-robust Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-256s-robust Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-256s-robust Signature Algorithm (maximum of 29,792-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-256s-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-sha2-256s-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-sha2-256s-simple Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-sha2-256s-simple Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-sha2-256s-simple Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-sha2-256s-simple Signature Algorithm (maximum of 29,792-bytes).
Boolean representation of a Verification for the SPHINCS+-sha2-256s-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-128f-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-128f-robust Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-128f-robust Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-shake-128f-robust Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-shake-128f-robust Signature Algorithm (maximum of 17,088-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-128f-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-128f-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-128f-simple Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-128f-simple Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-shake-128f-simple Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-shake-128f-simple Signature Algorithm (maximum of 17,088-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-128f-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-128s-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-128s-robust Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-128s-robust Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-shake-128s-robust Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-shake-128s-robust Signature Algorithm (maximum of 7,856-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-128s-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-128s-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-128s-simple Signature Algorithm (32-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-128s-simple Signature Algorithm (64-bytes).
Binary representation of a Seed for the SPHINCS+-shake-128s-simple Signature Algorithm (48-bytes).
Binary representation of a Signature for the SPHINCS+-shake-128s-simple Signature Algorithm (maximum of 7,856-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-128s-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-192f-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-192f-robust Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-192f-robust Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-shake-192f-robust Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-shake-192f-robust Signature Algorithm (maximum of 35,664-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-192f-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-192f-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-192f-simple Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-192f-simple Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-shake-192f-simple Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-shake-192f-simple Signature Algorithm (maximum of 35,664-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-192f-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-192s-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-192s-robust Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-192s-robust Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-shake-192s-robust Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-shake-192s-robust Signature Algorithm (maximum of 16,224-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-192s-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-192s-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-192s-simple Signature Algorithm (48-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-192s-simple Signature Algorithm (96-bytes).
Binary representation of a Seed for the SPHINCS+-shake-192s-simple Signature Algorithm (72-bytes).
Binary representation of a Signature for the SPHINCS+-shake-192s-simple Signature Algorithm (maximum of 16,224-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-192s-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-256f-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-256f-robust Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-256f-robust Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-shake-256f-robust Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-shake-256f-robust Signature Algorithm (maximum of 49,856-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-256f-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-256f-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-256f-simple Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-256f-simple Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-shake-256f-simple Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-shake-256f-simple Signature Algorithm (maximum of 49,856-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-256f-simple Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-256s-robust Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-256s-robust Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-256s-robust Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-shake-256s-robust Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-shake-256s-robust Signature Algorithm (maximum of 29,792-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-256s-robust Signature Algorithm (true if verification was successful, false otherwise).
Binary representation of a Message for the SPHINCS+-shake-256s-simple Signature Algorithm.
Binary representation of a PublicKey for the SPHINCS+-shake-256s-simple Signature Algorithm (64-bytes).
Binary representation of a SecretKey for the SPHINCS+-shake-256s-simple Signature Algorithm (128-bytes).
Binary representation of a Seed for the SPHINCS+-shake-256s-simple Signature Algorithm (96-bytes).
Binary representation of a Signature for the SPHINCS+-shake-256s-simple Signature Algorithm (maximum of 29,792-bytes).
Boolean representation of a Verification for the SPHINCS+-shake-256s-simple Signature Algorithm (true if verification was successful, false otherwise).

Functions

Returns information about the Dilithium2 Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium2 Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the Dilithium2 Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium2 Signature Algorithm.

Returns information about the Dilithium2-AES Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium2-AES Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the Dilithium2-AES Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium2-AES Signature Algorithm.

Returns information about the Dilithium3 Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium3 Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the Dilithium3 Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium3 Signature Algorithm.

Returns information about the Dilithium3-AES Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium3-AES Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the Dilithium3-AES Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium3-AES Signature Algorithm.

Returns information about the Dilithium5 Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium5 Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the Dilithium5 Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium5 Signature Algorithm.

Returns information about the Dilithium5-AES Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium5-AES Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the Dilithium5-AES Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium5-AES Signature Algorithm.

Returns information about the Falcon-512 Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Falcon-512 Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the Falcon-512 Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the Falcon-512 Signature Algorithm.

Returns information about the Falcon-1024 Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Falcon-1024 Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the Falcon-1024 Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the Falcon-1024 Signature Algorithm.

Decapsulates a SharedSecret for from a CipherText and SecretKey using the HQC-RMRS-128 KEM Algorithm.

Encapsulates a new SharedSecret for PublicKey using the HQC-RMRS-128 KEM Algorithm.

Returns information about the HQC-RMRS-128 Key Encapsulation Mechanism (KEM) Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the HQC-RMRS-128 KEM Algorithm.

Decapsulates a SharedSecret for from a CipherText and SecretKey using the HQC-RMRS-192 KEM Algorithm.

Encapsulates a new SharedSecret for PublicKey using the HQC-RMRS-192 KEM Algorithm.

Returns information about the HQC-RMRS-192 Key Encapsulation Mechanism (KEM) Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the HQC-RMRS-192 KEM Algorithm.

Decapsulates a SharedSecret for from a CipherText and SecretKey using the HQC-RMRS-256 KEM Algorithm.

Encapsulates a new SharedSecret for PublicKey using the HQC-RMRS-256 KEM Algorithm.

Returns information about the HQC-RMRS-256 Key Encapsulation Mechanism (KEM) Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the HQC-RMRS-256 KEM Algorithm.

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber512-90s KEM Algorithm.

Encapsulates a new SharedSecret for PublicKey using the Kyber512-90s KEM Algorithm.

Returns information about the Kyber512-90s Key Encapsulation Mechanism (KEM) Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Kyber512-90s KEM Algorithm.

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber512 KEM Algorithm.

Encapsulates a new SharedSecret for PublicKey using the Kyber512 KEM Algorithm.

Returns information about the Kyber512 Key Encapsulation Mechanism (KEM) Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Kyber512 KEM Algorithm.

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber768-90s KEM Algorithm.

Encapsulates a new SharedSecret for PublicKey using the Kyber768-90s KEM Algorithm.

Returns information about the Kyber768-90s Key Encapsulation Mechanism (KEM) Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Kyber768-90s KEM Algorithm.

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber768 KEM Algorithm.

Encapsulates a new SharedSecret for PublicKey using the Kyber768 KEM Algorithm.

Returns information about the Kyber768 Key Encapsulation Mechanism (KEM) Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Kyber768 KEM Algorithm.

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber1024-90s KEM Algorithm.

Encapsulates a new SharedSecret for PublicKey using the Kyber1024-90s KEM Algorithm.

Returns information about the Kyber1024-90s Key Encapsulation Mechanism (KEM) Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Kyber1024-90s KEM Algorithm.

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber1024 KEM Algorithm.

Encapsulates a new SharedSecret for PublicKey using the Kyber1024 KEM Algorithm.

Returns information about the Kyber1024 Key Encapsulation Mechanism (KEM) Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the Kyber1024 KEM Algorithm.

Returns information about the SPHINCS+-haraka-128f-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-128f-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-128f-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-128f-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-128f-robust Signature Algorithm.

Returns information about the SPHINCS+-haraka-128f-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-128f-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-128f-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-128f-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-128f-simple Signature Algorithm.

Returns information about the SPHINCS+-haraka-128s-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-128s-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-128s-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-128s-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-128s-robust Signature Algorithm.

Returns information about the SPHINCS+-haraka-128s-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-128s-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-128s-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-128s-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-128s-simple Signature Algorithm.

Returns information about the SPHINCS+-haraka-192f-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-192f-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-192f-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-192f-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-192f-robust Signature Algorithm.

Returns information about the SPHINCS+-haraka-192f-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-192f-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-192f-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-192f-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-192f-simple Signature Algorithm.

Returns information about the SPHINCS+-haraka-192s-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-192s-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-192s-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-192s-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-192s-robust Signature Algorithm.

Returns information about the SPHINCS+-haraka-192s-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-192s-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-192s-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-192s-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-192s-simple Signature Algorithm.

Returns information about the SPHINCS+-haraka-256f-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-256f-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-256f-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-256f-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-256f-robust Signature Algorithm.

Returns information about the SPHINCS+-haraka-256f-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-256f-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-256f-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-256f-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-256f-simple Signature Algorithm.

Returns information about the SPHINCS+-haraka-256s-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-256s-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-256s-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-256s-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-256s-robust Signature Algorithm.

Returns information about the SPHINCS+-haraka-256s-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-256s-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-256s-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-256s-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-256s-simple Signature Algorithm.

Returns information about the SPHINCS+-sha2-128f-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-128f-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-128f-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-128f-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-128f-robust Signature Algorithm.

Returns information about the SPHINCS+-sha2-128f-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-128f-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-128f-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-128f-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-128f-simple Signature Algorithm.

Returns information about the SPHINCS+-sha2-128s-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-128s-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-128s-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-128s-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-128s-robust Signature Algorithm.

Returns information about the SPHINCS+-sha2-128s-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-128s-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-128s-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-128s-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-128s-simple Signature Algorithm.

Returns information about the SPHINCS+-sha2-192f-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-192f-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-192f-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-192f-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-192f-robust Signature Algorithm.

Returns information about the SPHINCS+-sha2-192f-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-192f-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-192f-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-192f-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-192f-simple Signature Algorithm.

Returns information about the SPHINCS+-sha2-192s-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-192s-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-192s-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-192s-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-192s-robust Signature Algorithm.

Returns information about the SPHINCS+-sha2-192s-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-192s-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-192s-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-192s-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-192s-simple Signature Algorithm.

Returns information about the SPHINCS+-sha2-256f-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-256f-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-256f-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-256f-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-256f-robust Signature Algorithm.

Returns information about the SPHINCS+-sha2-256f-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-256f-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-256f-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-256f-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-256f-simple Signature Algorithm.

Returns information about the SPHINCS+-sha2-256s-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-256s-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-256s-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-256s-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-256s-robust Signature Algorithm.

Returns information about the SPHINCS+-sha2-256s-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-256s-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-256s-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-256s-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-256s-simple Signature Algorithm.

Returns information about the SPHINCS+-shake-128f-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-128f-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-128f-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-128f-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-128f-robust Signature Algorithm.

Returns information about the SPHINCS+-shake-128f-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-128f-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-128f-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-128f-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-128f-simple Signature Algorithm.

Returns information about the SPHINCS+-shake-128s-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-128s-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-128s-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-128s-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-128s-robust Signature Algorithm.

Returns information about the SPHINCS+-shake-128s-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-128s-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-128s-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-128s-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-128s-simple Signature Algorithm.

Returns information about the SPHINCS+-shake-192f-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-192f-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-192f-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-192f-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-192f-robust Signature Algorithm.

Returns information about the SPHINCS+-shake-192f-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-192f-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-192f-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-192f-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-192f-simple Signature Algorithm.

Returns information about the SPHINCS+-shake-192s-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-192s-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-192s-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-192s-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-192s-robust Signature Algorithm.

Returns information about the SPHINCS+-shake-192s-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-192s-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-192s-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-192s-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-192s-simple Signature Algorithm.

Returns information about the SPHINCS+-shake-256f-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-256f-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-256f-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-256f-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-256f-robust Signature Algorithm.

Returns information about the SPHINCS+-shake-256f-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-256f-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-256f-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-256f-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-256f-simple Signature Algorithm.

Returns information about the SPHINCS+-shake-256s-robust Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-256s-robust Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-256s-robust Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-256s-robust Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-256s-robust Signature Algorithm.

Returns information about the SPHINCS+-shake-256s-simple Signature Algorithm.

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-256s-simple Signature Algorithm.

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-256s-simple Signature Algorithm.

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-256s-simple Signature Algorithm.

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-256s-simple Signature Algorithm.

Link to this section Types

-type crypto_kem_info() ::
    #{type := kem,
      name := string(),
      secretkeybytes := non_neg_integer(),
      publickeybytes := non_neg_integer(),
      ciphertextbytes := non_neg_integer(),
      sharedsecretbytes := non_neg_integer()}.

Map representation for a Key Encapsulation Mechanism (KEM) Algorithm.

The following functions return this type:

-type crypto_sign_info() ::
    #{type := sign,
      name := string(),
      secretkeybytes := non_neg_integer(),
      publickeybytes := non_neg_integer(),
      signaturebytes := non_neg_integer(),
      seedbytes => non_neg_integer()}.

Map representation for a Signature Algorithm.

The following functions return this type:

-type dilithium2_message() :: binary().
Binary representation of a Message for the Dilithium2 Signature Algorithm.
Link to this type

dilithium2_public_key/0

View Source
-type dilithium2_public_key() :: <<_:10496>>.
Binary representation of a PublicKey for the Dilithium2 Signature Algorithm (1,312-bytes).
Link to this type

dilithium2_secret_key/0

View Source
-type dilithium2_secret_key() :: <<_:20224>>.
Binary representation of a SecretKey for the Dilithium2 Signature Algorithm (2,528-bytes).
Link to this type

dilithium2_signature/0

View Source
-type dilithium2_signature() :: <<_:19360>> | binary().
Binary representation of a Signature for the Dilithium2 Signature Algorithm (maximum of 2,420-bytes).
Link to this type

dilithium2_verification/0

View Source
-type dilithium2_verification() :: boolean().
Boolean representation of a Verification for the Dilithium2 Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

dilithium2aes_message/0

View Source
-type dilithium2aes_message() :: binary().
Binary representation of a Message for the Dilithium2-AES Signature Algorithm.
Link to this type

dilithium2aes_public_key/0

View Source
-type dilithium2aes_public_key() :: <<_:10496>>.
Binary representation of a PublicKey for the Dilithium2-AES Signature Algorithm (1,312-bytes).
Link to this type

dilithium2aes_secret_key/0

View Source
-type dilithium2aes_secret_key() :: <<_:20224>>.
Binary representation of a SecretKey for the Dilithium2-AES Signature Algorithm (2,528-bytes).
Link to this type

dilithium2aes_signature/0

View Source
-type dilithium2aes_signature() :: <<_:19360>> | binary().
Binary representation of a Signature for the Dilithium2-AES Signature Algorithm (maximum of 2,420-bytes).
Link to this type

dilithium2aes_verification/0

View Source
-type dilithium2aes_verification() :: boolean().
Boolean representation of a Verification for the Dilithium2-AES Signature Algorithm (true if verification was successful, false otherwise).
-type dilithium3_message() :: binary().
Binary representation of a Message for the Dilithium3 Signature Algorithm.
Link to this type

dilithium3_public_key/0

View Source
-type dilithium3_public_key() :: <<_:15616>>.
Binary representation of a PublicKey for the Dilithium3 Signature Algorithm (1,952-bytes).
Link to this type

dilithium3_secret_key/0

View Source
-type dilithium3_secret_key() :: <<_:32000>>.
Binary representation of a SecretKey for the Dilithium3 Signature Algorithm (4,000-bytes).
Link to this type

dilithium3_signature/0

View Source
-type dilithium3_signature() :: <<_:26344>> | binary().
Binary representation of a Signature for the Dilithium3 Signature Algorithm (maximum of 3,293-bytes).
Link to this type

dilithium3_verification/0

View Source
-type dilithium3_verification() :: boolean().
Boolean representation of a Verification for the Dilithium3 Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

dilithium3aes_message/0

View Source
-type dilithium3aes_message() :: binary().
Binary representation of a Message for the Dilithium3-AES Signature Algorithm.
Link to this type

dilithium3aes_public_key/0

View Source
-type dilithium3aes_public_key() :: <<_:15616>>.
Binary representation of a PublicKey for the Dilithium3-AES Signature Algorithm (1,952-bytes).
Link to this type

dilithium3aes_secret_key/0

View Source
-type dilithium3aes_secret_key() :: <<_:32000>>.
Binary representation of a SecretKey for the Dilithium3-AES Signature Algorithm (4,000-bytes).
Link to this type

dilithium3aes_signature/0

View Source
-type dilithium3aes_signature() :: <<_:26344>> | binary().
Binary representation of a Signature for the Dilithium3-AES Signature Algorithm (maximum of 3,293-bytes).
Link to this type

dilithium3aes_verification/0

View Source
-type dilithium3aes_verification() :: boolean().
Boolean representation of a Verification for the Dilithium3-AES Signature Algorithm (true if verification was successful, false otherwise).
-type dilithium5_message() :: binary().
Binary representation of a Message for the Dilithium5 Signature Algorithm.
Link to this type

dilithium5_public_key/0

View Source
-type dilithium5_public_key() :: <<_:20736>>.
Binary representation of a PublicKey for the Dilithium5 Signature Algorithm (2,592-bytes).
Link to this type

dilithium5_secret_key/0

View Source
-type dilithium5_secret_key() :: <<_:38912>>.
Binary representation of a SecretKey for the Dilithium5 Signature Algorithm (4,864-bytes).
Link to this type

dilithium5_signature/0

View Source
-type dilithium5_signature() :: <<_:36760>> | binary().
Binary representation of a Signature for the Dilithium5 Signature Algorithm (maximum of 4,595-bytes).
Link to this type

dilithium5_verification/0

View Source
-type dilithium5_verification() :: boolean().
Boolean representation of a Verification for the Dilithium5 Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

dilithium5aes_message/0

View Source
-type dilithium5aes_message() :: binary().
Binary representation of a Message for the Dilithium5-AES Signature Algorithm.
Link to this type

dilithium5aes_public_key/0

View Source
-type dilithium5aes_public_key() :: <<_:20736>>.
Binary representation of a PublicKey for the Dilithium5-AES Signature Algorithm (2,592-bytes).
Link to this type

dilithium5aes_secret_key/0

View Source
-type dilithium5aes_secret_key() :: <<_:38912>>.
Binary representation of a SecretKey for the Dilithium5-AES Signature Algorithm (4,864-bytes).
Link to this type

dilithium5aes_signature/0

View Source
-type dilithium5aes_signature() :: <<_:36760>> | binary().
Binary representation of a Signature for the Dilithium5-AES Signature Algorithm (maximum of 4,595-bytes).
Link to this type

dilithium5aes_verification/0

View Source
-type dilithium5aes_verification() :: boolean().
Boolean representation of a Verification for the Dilithium5-AES Signature Algorithm (true if verification was successful, false otherwise).
-type falcon512_message() :: binary().
Binary representation of a Message for the Falcon-512 Signature Algorithm.
Link to this type

falcon512_public_key/0

View Source
-type falcon512_public_key() :: <<_:7176>>.
Binary representation of a PublicKey for the Falcon-512 Signature Algorithm (897-bytes).
Link to this type

falcon512_secret_key/0

View Source
-type falcon512_secret_key() :: <<_:10248>>.
Binary representation of a SecretKey for the Falcon-512 Signature Algorithm (1,281-bytes).
-type falcon512_signature() :: <<_:5328>> | binary().
Binary representation of a Signature for the Falcon-512 Signature Algorithm (maximum of 666-bytes).
Link to this type

falcon512_verification/0

View Source
-type falcon512_verification() :: boolean().
Boolean representation of a Verification for the Falcon-512 Signature Algorithm (true if verification was successful, false otherwise).
-type falcon1024_message() :: binary().
Binary representation of a Message for the Falcon-1024 Signature Algorithm.
Link to this type

falcon1024_public_key/0

View Source
-type falcon1024_public_key() :: <<_:14344>>.
Binary representation of a PublicKey for the Falcon-1024 Signature Algorithm (1,793-bytes).
Link to this type

falcon1024_secret_key/0

View Source
-type falcon1024_secret_key() :: <<_:18440>>.
Binary representation of a SecretKey for the Falcon-1024 Signature Algorithm (2,305-bytes).
Link to this type

falcon1024_signature/0

View Source
-type falcon1024_signature() :: <<_:10240>> | binary().
Binary representation of a Signature for the Falcon-1024 Signature Algorithm (maximum of 1,280-bytes).
Link to this type

falcon1024_verification/0

View Source
-type falcon1024_verification() :: boolean().
Boolean representation of a Verification for the Falcon-1024 Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

hqc_rmrs_128_cipher_text/0

View Source
-type hqc_rmrs_128_cipher_text() :: <<_:35848>>.
Binary representation of a CipherText for the HQC-RMRS-128 KEM Algorithm (4,481-bytes).
Link to this type

hqc_rmrs_128_public_key/0

View Source
-type hqc_rmrs_128_public_key() :: <<_:17992>>.
Binary representation of a PublicKey for the HQC-RMRS-128 KEM Algorithm (2,249-bytes).
Link to this type

hqc_rmrs_128_secret_key/0

View Source
-type hqc_rmrs_128_secret_key() :: <<_:18312>>.
Binary representation of a SecretKey for the HQC-RMRS-128 KEM Algorithm (2,289-bytes).
Link to this type

hqc_rmrs_128_shared_secret/0

View Source
-type hqc_rmrs_128_shared_secret() :: <<_:512>>.
Binary representation of a SharedSecret for the HQC-RMRS-128 KEM Algorithm (64-bytes).
Link to this type

hqc_rmrs_192_cipher_text/0

View Source
-type hqc_rmrs_192_cipher_text() :: <<_:72208>>.
Binary representation of a CipherText for the HQC-RMRS-192 KEM Algorithm (9,026-bytes).
Link to this type

hqc_rmrs_192_public_key/0

View Source
-type hqc_rmrs_192_public_key() :: <<_:36176>>.
Binary representation of a PublicKey for the HQC-RMRS-192 KEM Algorithm (4,522-bytes).
Link to this type

hqc_rmrs_192_secret_key/0

View Source
-type hqc_rmrs_192_secret_key() :: <<_:36496>>.
Binary representation of a SecretKey for the HQC-RMRS-192 KEM Algorithm (4,562-bytes).
Link to this type

hqc_rmrs_192_shared_secret/0

View Source
-type hqc_rmrs_192_shared_secret() :: <<_:512>>.
Binary representation of a SharedSecret for the HQC-RMRS-192 KEM Algorithm (64-bytes).
Link to this type

hqc_rmrs_256_cipher_text/0

View Source
-type hqc_rmrs_256_cipher_text() :: <<_:115752>>.
Binary representation of a CipherText for the HQC-RMRS-256 KEM Algorithm (14,469-bytes).
Link to this type

hqc_rmrs_256_public_key/0

View Source
-type hqc_rmrs_256_public_key() :: <<_:57960>>.
Binary representation of a PublicKey for the HQC-RMRS-256 KEM Algorithm (7,245-bytes).
Link to this type

hqc_rmrs_256_secret_key/0

View Source
-type hqc_rmrs_256_secret_key() :: <<_:58280>>.
Binary representation of a SecretKey for the HQC-RMRS-256 KEM Algorithm (7,285-bytes).
Link to this type

hqc_rmrs_256_shared_secret/0

View Source
-type hqc_rmrs_256_shared_secret() :: <<_:512>>.
Binary representation of a SharedSecret for the HQC-RMRS-256 KEM Algorithm (64-bytes).
Link to this type

kyber512_90s_cipher_text/0

View Source
-type kyber512_90s_cipher_text() :: <<_:6144>>.
Binary representation of a CipherText for the Kyber512-90s KEM Algorithm (768-bytes).
Link to this type

kyber512_90s_public_key/0

View Source
-type kyber512_90s_public_key() :: <<_:6400>>.
Binary representation of a PublicKey for the Kyber512-90s KEM Algorithm (800-bytes).
Link to this type

kyber512_90s_secret_key/0

View Source
-type kyber512_90s_secret_key() :: <<_:13056>>.
Binary representation of a SecretKey for the Kyber512-90s KEM Algorithm (1,632-bytes).
Link to this type

kyber512_90s_shared_secret/0

View Source
-type kyber512_90s_shared_secret() :: <<_:256>>.
Binary representation of a SharedSecret for the Kyber512-90s KEM Algorithm (32-bytes).
Link to this type

kyber512_cipher_text/0

View Source
-type kyber512_cipher_text() :: <<_:6144>>.
Binary representation of a CipherText for the Kyber512 KEM Algorithm (768-bytes).
-type kyber512_public_key() :: <<_:6400>>.
Binary representation of a PublicKey for the Kyber512 KEM Algorithm (800-bytes).
-type kyber512_secret_key() :: <<_:13056>>.
Binary representation of a SecretKey for the Kyber512 KEM Algorithm (1,632-bytes).
Link to this type

kyber512_shared_secret/0

View Source
-type kyber512_shared_secret() :: <<_:256>>.
Binary representation of a SharedSecret for the Kyber512 KEM Algorithm (32-bytes).
Link to this type

kyber768_90s_cipher_text/0

View Source
-type kyber768_90s_cipher_text() :: <<_:8704>>.
Binary representation of a CipherText for the Kyber768-90s KEM Algorithm (1,088-bytes).
Link to this type

kyber768_90s_public_key/0

View Source
-type kyber768_90s_public_key() :: <<_:9472>>.
Binary representation of a PublicKey for the Kyber768-90s KEM Algorithm (1,184-bytes).
Link to this type

kyber768_90s_secret_key/0

View Source
-type kyber768_90s_secret_key() :: <<_:19200>>.
Binary representation of a SecretKey for the Kyber768-90s KEM Algorithm (2,400-bytes).
Link to this type

kyber768_90s_shared_secret/0

View Source
-type kyber768_90s_shared_secret() :: <<_:256>>.
Binary representation of a SharedSecret for the Kyber768-90s KEM Algorithm (32-bytes).
Link to this type

kyber768_cipher_text/0

View Source
-type kyber768_cipher_text() :: <<_:8704>>.
Binary representation of a CipherText for the Kyber768 KEM Algorithm (1,088-bytes).
-type kyber768_public_key() :: <<_:9472>>.
Binary representation of a PublicKey for the Kyber768 KEM Algorithm (1,184-bytes).
-type kyber768_secret_key() :: <<_:19200>>.
Binary representation of a SecretKey for the Kyber768 KEM Algorithm (2,400-bytes).
Link to this type

kyber768_shared_secret/0

View Source
-type kyber768_shared_secret() :: <<_:256>>.
Binary representation of a SharedSecret for the Kyber768 KEM Algorithm (32-bytes).
Link to this type

kyber1024_90s_cipher_text/0

View Source
-type kyber1024_90s_cipher_text() :: <<_:12544>>.
Binary representation of a CipherText for the Kyber1024-90s KEM Algorithm (1,568-bytes).
Link to this type

kyber1024_90s_public_key/0

View Source
-type kyber1024_90s_public_key() :: <<_:12544>>.
Binary representation of a PublicKey for the Kyber1024-90s KEM Algorithm (1,568-bytes).
Link to this type

kyber1024_90s_secret_key/0

View Source
-type kyber1024_90s_secret_key() :: <<_:25344>>.
Binary representation of a SecretKey for the Kyber1024-90s KEM Algorithm (3,168-bytes).
Link to this type

kyber1024_90s_shared_secret/0

View Source
-type kyber1024_90s_shared_secret() :: <<_:256>>.
Binary representation of a SharedSecret for the Kyber1024-90s KEM Algorithm (32-bytes).
Link to this type

kyber1024_cipher_text/0

View Source
-type kyber1024_cipher_text() :: <<_:12544>>.
Binary representation of a CipherText for the Kyber1024 KEM Algorithm (1,568-bytes).
Link to this type

kyber1024_public_key/0

View Source
-type kyber1024_public_key() :: <<_:12544>>.
Binary representation of a PublicKey for the Kyber1024 KEM Algorithm (1,568-bytes).
Link to this type

kyber1024_secret_key/0

View Source
-type kyber1024_secret_key() :: <<_:25344>>.
Binary representation of a SecretKey for the Kyber1024 KEM Algorithm (3,168-bytes).
Link to this type

kyber1024_shared_secret/0

View Source
-type kyber1024_shared_secret() :: <<_:256>>.
Binary representation of a SharedSecret for the Kyber1024 KEM Algorithm (32-bytes).
Link to this type

sphincs_plus_haraka_128f_robust_message/0

View Source
-type sphincs_plus_haraka_128f_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-128f-robust Signature Algorithm.
Link to this type

sphincs_plus_haraka_128f_robust_public_key/0

View Source
-type sphincs_plus_haraka_128f_robust_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-128f-robust Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_haraka_128f_robust_secret_key/0

View Source
-type sphincs_plus_haraka_128f_robust_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-128f-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_haraka_128f_robust_seed/0

View Source
-type sphincs_plus_haraka_128f_robust_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-haraka-128f-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_haraka_128f_robust_signature/0

View Source
-type sphincs_plus_haraka_128f_robust_signature() :: <<_:136704>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-128f-robust Signature Algorithm (maximum of 17,088-bytes).
Link to this type

sphincs_plus_haraka_128f_robust_verification/0

View Source
-type sphincs_plus_haraka_128f_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-128f-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_128f_simple_message/0

View Source
-type sphincs_plus_haraka_128f_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-128f-simple Signature Algorithm.
Link to this type

sphincs_plus_haraka_128f_simple_public_key/0

View Source
-type sphincs_plus_haraka_128f_simple_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-128f-simple Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_haraka_128f_simple_secret_key/0

View Source
-type sphincs_plus_haraka_128f_simple_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-128f-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_haraka_128f_simple_seed/0

View Source
-type sphincs_plus_haraka_128f_simple_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-haraka-128f-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_haraka_128f_simple_signature/0

View Source
-type sphincs_plus_haraka_128f_simple_signature() :: <<_:136704>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-128f-simple Signature Algorithm (maximum of 17,088-bytes).
Link to this type

sphincs_plus_haraka_128f_simple_verification/0

View Source
-type sphincs_plus_haraka_128f_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-128f-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_128s_robust_message/0

View Source
-type sphincs_plus_haraka_128s_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-128s-robust Signature Algorithm.
Link to this type

sphincs_plus_haraka_128s_robust_public_key/0

View Source
-type sphincs_plus_haraka_128s_robust_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-128s-robust Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_haraka_128s_robust_secret_key/0

View Source
-type sphincs_plus_haraka_128s_robust_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-128s-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_haraka_128s_robust_seed/0

View Source
-type sphincs_plus_haraka_128s_robust_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-haraka-128s-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_haraka_128s_robust_signature/0

View Source
-type sphincs_plus_haraka_128s_robust_signature() :: <<_:62848>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-128s-robust Signature Algorithm (maximum of 7,856-bytes).
Link to this type

sphincs_plus_haraka_128s_robust_verification/0

View Source
-type sphincs_plus_haraka_128s_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-128s-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_128s_simple_message/0

View Source
-type sphincs_plus_haraka_128s_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-128s-simple Signature Algorithm.
Link to this type

sphincs_plus_haraka_128s_simple_public_key/0

View Source
-type sphincs_plus_haraka_128s_simple_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-128s-simple Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_haraka_128s_simple_secret_key/0

View Source
-type sphincs_plus_haraka_128s_simple_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-128s-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_haraka_128s_simple_seed/0

View Source
-type sphincs_plus_haraka_128s_simple_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-haraka-128s-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_haraka_128s_simple_signature/0

View Source
-type sphincs_plus_haraka_128s_simple_signature() :: <<_:62848>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-128s-simple Signature Algorithm (maximum of 7,856-bytes).
Link to this type

sphincs_plus_haraka_128s_simple_verification/0

View Source
-type sphincs_plus_haraka_128s_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-128s-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_192f_robust_message/0

View Source
-type sphincs_plus_haraka_192f_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-192f-robust Signature Algorithm.
Link to this type

sphincs_plus_haraka_192f_robust_public_key/0

View Source
-type sphincs_plus_haraka_192f_robust_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-192f-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_haraka_192f_robust_secret_key/0

View Source
-type sphincs_plus_haraka_192f_robust_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-192f-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_haraka_192f_robust_seed/0

View Source
-type sphincs_plus_haraka_192f_robust_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-haraka-192f-robust Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_haraka_192f_robust_signature/0

View Source
-type sphincs_plus_haraka_192f_robust_signature() :: <<_:285312>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-192f-robust Signature Algorithm (maximum of 35,664-bytes).
Link to this type

sphincs_plus_haraka_192f_robust_verification/0

View Source
-type sphincs_plus_haraka_192f_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-192f-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_192f_simple_message/0

View Source
-type sphincs_plus_haraka_192f_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-192f-simple Signature Algorithm.
Link to this type

sphincs_plus_haraka_192f_simple_public_key/0

View Source
-type sphincs_plus_haraka_192f_simple_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-192f-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_haraka_192f_simple_secret_key/0

View Source
-type sphincs_plus_haraka_192f_simple_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-192f-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_haraka_192f_simple_seed/0

View Source
-type sphincs_plus_haraka_192f_simple_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-haraka-192f-simple Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_haraka_192f_simple_signature/0

View Source
-type sphincs_plus_haraka_192f_simple_signature() :: <<_:285312>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-192f-simple Signature Algorithm (maximum of 35,664-bytes).
Link to this type

sphincs_plus_haraka_192f_simple_verification/0

View Source
-type sphincs_plus_haraka_192f_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-192f-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_192s_robust_message/0

View Source
-type sphincs_plus_haraka_192s_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-192s-robust Signature Algorithm.
Link to this type

sphincs_plus_haraka_192s_robust_public_key/0

View Source
-type sphincs_plus_haraka_192s_robust_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-192s-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_haraka_192s_robust_secret_key/0

View Source
-type sphincs_plus_haraka_192s_robust_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-192s-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_haraka_192s_robust_seed/0

View Source
-type sphincs_plus_haraka_192s_robust_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-haraka-192s-robust Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_haraka_192s_robust_signature/0

View Source
-type sphincs_plus_haraka_192s_robust_signature() :: <<_:129792>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-192s-robust Signature Algorithm (maximum of 16,224-bytes).
Link to this type

sphincs_plus_haraka_192s_robust_verification/0

View Source
-type sphincs_plus_haraka_192s_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-192s-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_192s_simple_message/0

View Source
-type sphincs_plus_haraka_192s_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-192s-simple Signature Algorithm.
Link to this type

sphincs_plus_haraka_192s_simple_public_key/0

View Source
-type sphincs_plus_haraka_192s_simple_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-192s-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_haraka_192s_simple_secret_key/0

View Source
-type sphincs_plus_haraka_192s_simple_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-192s-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_haraka_192s_simple_seed/0

View Source
-type sphincs_plus_haraka_192s_simple_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-haraka-192s-simple Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_haraka_192s_simple_signature/0

View Source
-type sphincs_plus_haraka_192s_simple_signature() :: <<_:129792>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-192s-simple Signature Algorithm (maximum of 16,224-bytes).
Link to this type

sphincs_plus_haraka_192s_simple_verification/0

View Source
-type sphincs_plus_haraka_192s_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-192s-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_256f_robust_message/0

View Source
-type sphincs_plus_haraka_256f_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-256f-robust Signature Algorithm.
Link to this type

sphincs_plus_haraka_256f_robust_public_key/0

View Source
-type sphincs_plus_haraka_256f_robust_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-256f-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_haraka_256f_robust_secret_key/0

View Source
-type sphincs_plus_haraka_256f_robust_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-256f-robust Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_haraka_256f_robust_seed/0

View Source
-type sphincs_plus_haraka_256f_robust_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-haraka-256f-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_haraka_256f_robust_signature/0

View Source
-type sphincs_plus_haraka_256f_robust_signature() :: <<_:398848>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-256f-robust Signature Algorithm (maximum of 49,856-bytes).
Link to this type

sphincs_plus_haraka_256f_robust_verification/0

View Source
-type sphincs_plus_haraka_256f_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-256f-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_256f_simple_message/0

View Source
-type sphincs_plus_haraka_256f_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-256f-simple Signature Algorithm.
Link to this type

sphincs_plus_haraka_256f_simple_public_key/0

View Source
-type sphincs_plus_haraka_256f_simple_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-256f-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_haraka_256f_simple_secret_key/0

View Source
-type sphincs_plus_haraka_256f_simple_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-256f-simple Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_haraka_256f_simple_seed/0

View Source
-type sphincs_plus_haraka_256f_simple_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-haraka-256f-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_haraka_256f_simple_signature/0

View Source
-type sphincs_plus_haraka_256f_simple_signature() :: <<_:398848>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-256f-simple Signature Algorithm (maximum of 49,856-bytes).
Link to this type

sphincs_plus_haraka_256f_simple_verification/0

View Source
-type sphincs_plus_haraka_256f_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-256f-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_256s_robust_message/0

View Source
-type sphincs_plus_haraka_256s_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-256s-robust Signature Algorithm.
Link to this type

sphincs_plus_haraka_256s_robust_public_key/0

View Source
-type sphincs_plus_haraka_256s_robust_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-256s-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_haraka_256s_robust_secret_key/0

View Source
-type sphincs_plus_haraka_256s_robust_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-256s-robust Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_haraka_256s_robust_seed/0

View Source
-type sphincs_plus_haraka_256s_robust_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-haraka-256s-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_haraka_256s_robust_signature/0

View Source
-type sphincs_plus_haraka_256s_robust_signature() :: <<_:238336>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-256s-robust Signature Algorithm (maximum of 29,792-bytes).
Link to this type

sphincs_plus_haraka_256s_robust_verification/0

View Source
-type sphincs_plus_haraka_256s_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-256s-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_haraka_256s_simple_message/0

View Source
-type sphincs_plus_haraka_256s_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-haraka-256s-simple Signature Algorithm.
Link to this type

sphincs_plus_haraka_256s_simple_public_key/0

View Source
-type sphincs_plus_haraka_256s_simple_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-haraka-256s-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_haraka_256s_simple_secret_key/0

View Source
-type sphincs_plus_haraka_256s_simple_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-haraka-256s-simple Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_haraka_256s_simple_seed/0

View Source
-type sphincs_plus_haraka_256s_simple_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-haraka-256s-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_haraka_256s_simple_signature/0

View Source
-type sphincs_plus_haraka_256s_simple_signature() :: <<_:238336>> | binary().
Binary representation of a Signature for the SPHINCS+-haraka-256s-simple Signature Algorithm (maximum of 29,792-bytes).
Link to this type

sphincs_plus_haraka_256s_simple_verification/0

View Source
-type sphincs_plus_haraka_256s_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-haraka-256s-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_128f_robust_message/0

View Source
-type sphincs_plus_sha2_128f_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-128f-robust Signature Algorithm.
Link to this type

sphincs_plus_sha2_128f_robust_public_key/0

View Source
-type sphincs_plus_sha2_128f_robust_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-128f-robust Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_sha2_128f_robust_secret_key/0

View Source
-type sphincs_plus_sha2_128f_robust_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-128f-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_sha2_128f_robust_seed/0

View Source
-type sphincs_plus_sha2_128f_robust_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-sha2-128f-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_sha2_128f_robust_signature/0

View Source
-type sphincs_plus_sha2_128f_robust_signature() :: <<_:136704>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-128f-robust Signature Algorithm (maximum of 17,088-bytes).
Link to this type

sphincs_plus_sha2_128f_robust_verification/0

View Source
-type sphincs_plus_sha2_128f_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-128f-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_128f_simple_message/0

View Source
-type sphincs_plus_sha2_128f_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-128f-simple Signature Algorithm.
Link to this type

sphincs_plus_sha2_128f_simple_public_key/0

View Source
-type sphincs_plus_sha2_128f_simple_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-128f-simple Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_sha2_128f_simple_secret_key/0

View Source
-type sphincs_plus_sha2_128f_simple_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-128f-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_sha2_128f_simple_seed/0

View Source
-type sphincs_plus_sha2_128f_simple_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-sha2-128f-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_sha2_128f_simple_signature/0

View Source
-type sphincs_plus_sha2_128f_simple_signature() :: <<_:136704>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-128f-simple Signature Algorithm (maximum of 17,088-bytes).
Link to this type

sphincs_plus_sha2_128f_simple_verification/0

View Source
-type sphincs_plus_sha2_128f_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-128f-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_128s_robust_message/0

View Source
-type sphincs_plus_sha2_128s_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-128s-robust Signature Algorithm.
Link to this type

sphincs_plus_sha2_128s_robust_public_key/0

View Source
-type sphincs_plus_sha2_128s_robust_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-128s-robust Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_sha2_128s_robust_secret_key/0

View Source
-type sphincs_plus_sha2_128s_robust_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-128s-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_sha2_128s_robust_seed/0

View Source
-type sphincs_plus_sha2_128s_robust_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-sha2-128s-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_sha2_128s_robust_signature/0

View Source
-type sphincs_plus_sha2_128s_robust_signature() :: <<_:62848>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-128s-robust Signature Algorithm (maximum of 7,856-bytes).
Link to this type

sphincs_plus_sha2_128s_robust_verification/0

View Source
-type sphincs_plus_sha2_128s_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-128s-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_128s_simple_message/0

View Source
-type sphincs_plus_sha2_128s_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-128s-simple Signature Algorithm.
Link to this type

sphincs_plus_sha2_128s_simple_public_key/0

View Source
-type sphincs_plus_sha2_128s_simple_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-128s-simple Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_sha2_128s_simple_secret_key/0

View Source
-type sphincs_plus_sha2_128s_simple_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-128s-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_sha2_128s_simple_seed/0

View Source
-type sphincs_plus_sha2_128s_simple_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-sha2-128s-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_sha2_128s_simple_signature/0

View Source
-type sphincs_plus_sha2_128s_simple_signature() :: <<_:62848>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-128s-simple Signature Algorithm (maximum of 7,856-bytes).
Link to this type

sphincs_plus_sha2_128s_simple_verification/0

View Source
-type sphincs_plus_sha2_128s_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-128s-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_192f_robust_message/0

View Source
-type sphincs_plus_sha2_192f_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-192f-robust Signature Algorithm.
Link to this type

sphincs_plus_sha2_192f_robust_public_key/0

View Source
-type sphincs_plus_sha2_192f_robust_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-192f-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_sha2_192f_robust_secret_key/0

View Source
-type sphincs_plus_sha2_192f_robust_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-192f-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_sha2_192f_robust_seed/0

View Source
-type sphincs_plus_sha2_192f_robust_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-sha2-192f-robust Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_sha2_192f_robust_signature/0

View Source
-type sphincs_plus_sha2_192f_robust_signature() :: <<_:285312>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-192f-robust Signature Algorithm (maximum of 35,664-bytes).
Link to this type

sphincs_plus_sha2_192f_robust_verification/0

View Source
-type sphincs_plus_sha2_192f_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-192f-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_192f_simple_message/0

View Source
-type sphincs_plus_sha2_192f_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-192f-simple Signature Algorithm.
Link to this type

sphincs_plus_sha2_192f_simple_public_key/0

View Source
-type sphincs_plus_sha2_192f_simple_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-192f-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_sha2_192f_simple_secret_key/0

View Source
-type sphincs_plus_sha2_192f_simple_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-192f-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_sha2_192f_simple_seed/0

View Source
-type sphincs_plus_sha2_192f_simple_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-sha2-192f-simple Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_sha2_192f_simple_signature/0

View Source
-type sphincs_plus_sha2_192f_simple_signature() :: <<_:285312>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-192f-simple Signature Algorithm (maximum of 35,664-bytes).
Link to this type

sphincs_plus_sha2_192f_simple_verification/0

View Source
-type sphincs_plus_sha2_192f_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-192f-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_192s_robust_message/0

View Source
-type sphincs_plus_sha2_192s_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-192s-robust Signature Algorithm.
Link to this type

sphincs_plus_sha2_192s_robust_public_key/0

View Source
-type sphincs_plus_sha2_192s_robust_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-192s-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_sha2_192s_robust_secret_key/0

View Source
-type sphincs_plus_sha2_192s_robust_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-192s-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_sha2_192s_robust_seed/0

View Source
-type sphincs_plus_sha2_192s_robust_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-sha2-192s-robust Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_sha2_192s_robust_signature/0

View Source
-type sphincs_plus_sha2_192s_robust_signature() :: <<_:129792>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-192s-robust Signature Algorithm (maximum of 16,224-bytes).
Link to this type

sphincs_plus_sha2_192s_robust_verification/0

View Source
-type sphincs_plus_sha2_192s_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-192s-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_192s_simple_message/0

View Source
-type sphincs_plus_sha2_192s_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-192s-simple Signature Algorithm.
Link to this type

sphincs_plus_sha2_192s_simple_public_key/0

View Source
-type sphincs_plus_sha2_192s_simple_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-192s-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_sha2_192s_simple_secret_key/0

View Source
-type sphincs_plus_sha2_192s_simple_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-192s-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_sha2_192s_simple_seed/0

View Source
-type sphincs_plus_sha2_192s_simple_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-sha2-192s-simple Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_sha2_192s_simple_signature/0

View Source
-type sphincs_plus_sha2_192s_simple_signature() :: <<_:129792>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-192s-simple Signature Algorithm (maximum of 16,224-bytes).
Link to this type

sphincs_plus_sha2_192s_simple_verification/0

View Source
-type sphincs_plus_sha2_192s_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-192s-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_256f_robust_message/0

View Source
-type sphincs_plus_sha2_256f_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-256f-robust Signature Algorithm.
Link to this type

sphincs_plus_sha2_256f_robust_public_key/0

View Source
-type sphincs_plus_sha2_256f_robust_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-256f-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_sha2_256f_robust_secret_key/0

View Source
-type sphincs_plus_sha2_256f_robust_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-256f-robust Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_sha2_256f_robust_seed/0

View Source
-type sphincs_plus_sha2_256f_robust_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-sha2-256f-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_sha2_256f_robust_signature/0

View Source
-type sphincs_plus_sha2_256f_robust_signature() :: <<_:398848>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-256f-robust Signature Algorithm (maximum of 49,856-bytes).
Link to this type

sphincs_plus_sha2_256f_robust_verification/0

View Source
-type sphincs_plus_sha2_256f_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-256f-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_256f_simple_message/0

View Source
-type sphincs_plus_sha2_256f_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-256f-simple Signature Algorithm.
Link to this type

sphincs_plus_sha2_256f_simple_public_key/0

View Source
-type sphincs_plus_sha2_256f_simple_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-256f-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_sha2_256f_simple_secret_key/0

View Source
-type sphincs_plus_sha2_256f_simple_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-256f-simple Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_sha2_256f_simple_seed/0

View Source
-type sphincs_plus_sha2_256f_simple_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-sha2-256f-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_sha2_256f_simple_signature/0

View Source
-type sphincs_plus_sha2_256f_simple_signature() :: <<_:398848>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-256f-simple Signature Algorithm (maximum of 49,856-bytes).
Link to this type

sphincs_plus_sha2_256f_simple_verification/0

View Source
-type sphincs_plus_sha2_256f_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-256f-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_256s_robust_message/0

View Source
-type sphincs_plus_sha2_256s_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-256s-robust Signature Algorithm.
Link to this type

sphincs_plus_sha2_256s_robust_public_key/0

View Source
-type sphincs_plus_sha2_256s_robust_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-256s-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_sha2_256s_robust_secret_key/0

View Source
-type sphincs_plus_sha2_256s_robust_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-256s-robust Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_sha2_256s_robust_seed/0

View Source
-type sphincs_plus_sha2_256s_robust_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-sha2-256s-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_sha2_256s_robust_signature/0

View Source
-type sphincs_plus_sha2_256s_robust_signature() :: <<_:238336>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-256s-robust Signature Algorithm (maximum of 29,792-bytes).
Link to this type

sphincs_plus_sha2_256s_robust_verification/0

View Source
-type sphincs_plus_sha2_256s_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-256s-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_sha2_256s_simple_message/0

View Source
-type sphincs_plus_sha2_256s_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-sha2-256s-simple Signature Algorithm.
Link to this type

sphincs_plus_sha2_256s_simple_public_key/0

View Source
-type sphincs_plus_sha2_256s_simple_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-sha2-256s-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_sha2_256s_simple_secret_key/0

View Source
-type sphincs_plus_sha2_256s_simple_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-sha2-256s-simple Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_sha2_256s_simple_seed/0

View Source
-type sphincs_plus_sha2_256s_simple_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-sha2-256s-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_sha2_256s_simple_signature/0

View Source
-type sphincs_plus_sha2_256s_simple_signature() :: <<_:238336>> | binary().
Binary representation of a Signature for the SPHINCS+-sha2-256s-simple Signature Algorithm (maximum of 29,792-bytes).
Link to this type

sphincs_plus_sha2_256s_simple_verification/0

View Source
-type sphincs_plus_sha2_256s_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-sha2-256s-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_128f_robust_message/0

View Source
-type sphincs_plus_shake_128f_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-128f-robust Signature Algorithm.
Link to this type

sphincs_plus_shake_128f_robust_public_key/0

View Source
-type sphincs_plus_shake_128f_robust_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-shake-128f-robust Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_shake_128f_robust_secret_key/0

View Source
-type sphincs_plus_shake_128f_robust_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-shake-128f-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_shake_128f_robust_seed/0

View Source
-type sphincs_plus_shake_128f_robust_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-shake-128f-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_shake_128f_robust_signature/0

View Source
-type sphincs_plus_shake_128f_robust_signature() :: <<_:136704>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-128f-robust Signature Algorithm (maximum of 17,088-bytes).
Link to this type

sphincs_plus_shake_128f_robust_verification/0

View Source
-type sphincs_plus_shake_128f_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-128f-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_128f_simple_message/0

View Source
-type sphincs_plus_shake_128f_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-128f-simple Signature Algorithm.
Link to this type

sphincs_plus_shake_128f_simple_public_key/0

View Source
-type sphincs_plus_shake_128f_simple_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-shake-128f-simple Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_shake_128f_simple_secret_key/0

View Source
-type sphincs_plus_shake_128f_simple_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-shake-128f-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_shake_128f_simple_seed/0

View Source
-type sphincs_plus_shake_128f_simple_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-shake-128f-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_shake_128f_simple_signature/0

View Source
-type sphincs_plus_shake_128f_simple_signature() :: <<_:136704>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-128f-simple Signature Algorithm (maximum of 17,088-bytes).
Link to this type

sphincs_plus_shake_128f_simple_verification/0

View Source
-type sphincs_plus_shake_128f_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-128f-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_128s_robust_message/0

View Source
-type sphincs_plus_shake_128s_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-128s-robust Signature Algorithm.
Link to this type

sphincs_plus_shake_128s_robust_public_key/0

View Source
-type sphincs_plus_shake_128s_robust_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-shake-128s-robust Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_shake_128s_robust_secret_key/0

View Source
-type sphincs_plus_shake_128s_robust_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-shake-128s-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_shake_128s_robust_seed/0

View Source
-type sphincs_plus_shake_128s_robust_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-shake-128s-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_shake_128s_robust_signature/0

View Source
-type sphincs_plus_shake_128s_robust_signature() :: <<_:62848>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-128s-robust Signature Algorithm (maximum of 7,856-bytes).
Link to this type

sphincs_plus_shake_128s_robust_verification/0

View Source
-type sphincs_plus_shake_128s_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-128s-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_128s_simple_message/0

View Source
-type sphincs_plus_shake_128s_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-128s-simple Signature Algorithm.
Link to this type

sphincs_plus_shake_128s_simple_public_key/0

View Source
-type sphincs_plus_shake_128s_simple_public_key() :: <<_:256>>.
Binary representation of a PublicKey for the SPHINCS+-shake-128s-simple Signature Algorithm (32-bytes).
Link to this type

sphincs_plus_shake_128s_simple_secret_key/0

View Source
-type sphincs_plus_shake_128s_simple_secret_key() :: <<_:512>>.
Binary representation of a SecretKey for the SPHINCS+-shake-128s-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_shake_128s_simple_seed/0

View Source
-type sphincs_plus_shake_128s_simple_seed() :: <<_:384>>.
Binary representation of a Seed for the SPHINCS+-shake-128s-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_shake_128s_simple_signature/0

View Source
-type sphincs_plus_shake_128s_simple_signature() :: <<_:62848>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-128s-simple Signature Algorithm (maximum of 7,856-bytes).
Link to this type

sphincs_plus_shake_128s_simple_verification/0

View Source
-type sphincs_plus_shake_128s_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-128s-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_192f_robust_message/0

View Source
-type sphincs_plus_shake_192f_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-192f-robust Signature Algorithm.
Link to this type

sphincs_plus_shake_192f_robust_public_key/0

View Source
-type sphincs_plus_shake_192f_robust_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-shake-192f-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_shake_192f_robust_secret_key/0

View Source
-type sphincs_plus_shake_192f_robust_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-shake-192f-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_shake_192f_robust_seed/0

View Source
-type sphincs_plus_shake_192f_robust_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-shake-192f-robust Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_shake_192f_robust_signature/0

View Source
-type sphincs_plus_shake_192f_robust_signature() :: <<_:285312>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-192f-robust Signature Algorithm (maximum of 35,664-bytes).
Link to this type

sphincs_plus_shake_192f_robust_verification/0

View Source
-type sphincs_plus_shake_192f_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-192f-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_192f_simple_message/0

View Source
-type sphincs_plus_shake_192f_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-192f-simple Signature Algorithm.
Link to this type

sphincs_plus_shake_192f_simple_public_key/0

View Source
-type sphincs_plus_shake_192f_simple_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-shake-192f-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_shake_192f_simple_secret_key/0

View Source
-type sphincs_plus_shake_192f_simple_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-shake-192f-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_shake_192f_simple_seed/0

View Source
-type sphincs_plus_shake_192f_simple_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-shake-192f-simple Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_shake_192f_simple_signature/0

View Source
-type sphincs_plus_shake_192f_simple_signature() :: <<_:285312>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-192f-simple Signature Algorithm (maximum of 35,664-bytes).
Link to this type

sphincs_plus_shake_192f_simple_verification/0

View Source
-type sphincs_plus_shake_192f_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-192f-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_192s_robust_message/0

View Source
-type sphincs_plus_shake_192s_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-192s-robust Signature Algorithm.
Link to this type

sphincs_plus_shake_192s_robust_public_key/0

View Source
-type sphincs_plus_shake_192s_robust_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-shake-192s-robust Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_shake_192s_robust_secret_key/0

View Source
-type sphincs_plus_shake_192s_robust_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-shake-192s-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_shake_192s_robust_seed/0

View Source
-type sphincs_plus_shake_192s_robust_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-shake-192s-robust Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_shake_192s_robust_signature/0

View Source
-type sphincs_plus_shake_192s_robust_signature() :: <<_:129792>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-192s-robust Signature Algorithm (maximum of 16,224-bytes).
Link to this type

sphincs_plus_shake_192s_robust_verification/0

View Source
-type sphincs_plus_shake_192s_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-192s-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_192s_simple_message/0

View Source
-type sphincs_plus_shake_192s_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-192s-simple Signature Algorithm.
Link to this type

sphincs_plus_shake_192s_simple_public_key/0

View Source
-type sphincs_plus_shake_192s_simple_public_key() :: <<_:384>>.
Binary representation of a PublicKey for the SPHINCS+-shake-192s-simple Signature Algorithm (48-bytes).
Link to this type

sphincs_plus_shake_192s_simple_secret_key/0

View Source
-type sphincs_plus_shake_192s_simple_secret_key() :: <<_:768>>.
Binary representation of a SecretKey for the SPHINCS+-shake-192s-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_shake_192s_simple_seed/0

View Source
-type sphincs_plus_shake_192s_simple_seed() :: <<_:576>>.
Binary representation of a Seed for the SPHINCS+-shake-192s-simple Signature Algorithm (72-bytes).
Link to this type

sphincs_plus_shake_192s_simple_signature/0

View Source
-type sphincs_plus_shake_192s_simple_signature() :: <<_:129792>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-192s-simple Signature Algorithm (maximum of 16,224-bytes).
Link to this type

sphincs_plus_shake_192s_simple_verification/0

View Source
-type sphincs_plus_shake_192s_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-192s-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_256f_robust_message/0

View Source
-type sphincs_plus_shake_256f_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-256f-robust Signature Algorithm.
Link to this type

sphincs_plus_shake_256f_robust_public_key/0

View Source
-type sphincs_plus_shake_256f_robust_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-shake-256f-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_shake_256f_robust_secret_key/0

View Source
-type sphincs_plus_shake_256f_robust_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-shake-256f-robust Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_shake_256f_robust_seed/0

View Source
-type sphincs_plus_shake_256f_robust_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-shake-256f-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_shake_256f_robust_signature/0

View Source
-type sphincs_plus_shake_256f_robust_signature() :: <<_:398848>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-256f-robust Signature Algorithm (maximum of 49,856-bytes).
Link to this type

sphincs_plus_shake_256f_robust_verification/0

View Source
-type sphincs_plus_shake_256f_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-256f-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_256f_simple_message/0

View Source
-type sphincs_plus_shake_256f_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-256f-simple Signature Algorithm.
Link to this type

sphincs_plus_shake_256f_simple_public_key/0

View Source
-type sphincs_plus_shake_256f_simple_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-shake-256f-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_shake_256f_simple_secret_key/0

View Source
-type sphincs_plus_shake_256f_simple_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-shake-256f-simple Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_shake_256f_simple_seed/0

View Source
-type sphincs_plus_shake_256f_simple_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-shake-256f-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_shake_256f_simple_signature/0

View Source
-type sphincs_plus_shake_256f_simple_signature() :: <<_:398848>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-256f-simple Signature Algorithm (maximum of 49,856-bytes).
Link to this type

sphincs_plus_shake_256f_simple_verification/0

View Source
-type sphincs_plus_shake_256f_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-256f-simple Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_256s_robust_message/0

View Source
-type sphincs_plus_shake_256s_robust_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-256s-robust Signature Algorithm.
Link to this type

sphincs_plus_shake_256s_robust_public_key/0

View Source
-type sphincs_plus_shake_256s_robust_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-shake-256s-robust Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_shake_256s_robust_secret_key/0

View Source
-type sphincs_plus_shake_256s_robust_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-shake-256s-robust Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_shake_256s_robust_seed/0

View Source
-type sphincs_plus_shake_256s_robust_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-shake-256s-robust Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_shake_256s_robust_signature/0

View Source
-type sphincs_plus_shake_256s_robust_signature() :: <<_:238336>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-256s-robust Signature Algorithm (maximum of 29,792-bytes).
Link to this type

sphincs_plus_shake_256s_robust_verification/0

View Source
-type sphincs_plus_shake_256s_robust_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-256s-robust Signature Algorithm (true if verification was successful, false otherwise).
Link to this type

sphincs_plus_shake_256s_simple_message/0

View Source
-type sphincs_plus_shake_256s_simple_message() :: binary().
Binary representation of a Message for the SPHINCS+-shake-256s-simple Signature Algorithm.
Link to this type

sphincs_plus_shake_256s_simple_public_key/0

View Source
-type sphincs_plus_shake_256s_simple_public_key() :: <<_:512>>.
Binary representation of a PublicKey for the SPHINCS+-shake-256s-simple Signature Algorithm (64-bytes).
Link to this type

sphincs_plus_shake_256s_simple_secret_key/0

View Source
-type sphincs_plus_shake_256s_simple_secret_key() :: <<_:1024>>.
Binary representation of a SecretKey for the SPHINCS+-shake-256s-simple Signature Algorithm (128-bytes).
Link to this type

sphincs_plus_shake_256s_simple_seed/0

View Source
-type sphincs_plus_shake_256s_simple_seed() :: <<_:768>>.
Binary representation of a Seed for the SPHINCS+-shake-256s-simple Signature Algorithm (96-bytes).
Link to this type

sphincs_plus_shake_256s_simple_signature/0

View Source
-type sphincs_plus_shake_256s_simple_signature() :: <<_:238336>> | binary().
Binary representation of a Signature for the SPHINCS+-shake-256s-simple Signature Algorithm (maximum of 29,792-bytes).
Link to this type

sphincs_plus_shake_256s_simple_verification/0

View Source
-type sphincs_plus_shake_256s_simple_verification() :: boolean().
Boolean representation of a Verification for the SPHINCS+-shake-256s-simple Signature Algorithm (true if verification was successful, false otherwise).

Link to this section Functions

-spec dilithium2_info() -> crypto_sign_info().

Returns information about the Dilithium2 Signature Algorithm.

   #{
       type := sign,
       name := "Dilithium2",
       secretkeybytes := 2528,
       publickeybytes := 1312,
       signaturebytes := 2420
   } = pqclean_nif:dilithium2_info()

See also: dilithium2_keypair/0, dilithium2_sign/2, dilithium2_verify/3.

-spec dilithium2_keypair() -> {PublicKey, SecretKey}
                      when
                          PublicKey :: dilithium2_public_key(),
                          SecretKey :: dilithium2_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium2 Signature Algorithm.

PublicKey is a binary of size 1,312-bytes.

SecretKey is a binary of size 2,528-bytes.
   {PK, SK} = pqclean_nif:dilithium2_keypair().

See also: dilithium2_sign/2, dilithium2_verify/3.

Link to this function

dilithium2_sign(Message, SecretKey)

View Source
-spec dilithium2_sign(Message, SecretKey) -> Signature
                   when
                       Message :: dilithium2_message(),
                       SecretKey :: dilithium2_secret_key(),
                       Signature :: dilithium2_signature().

Signs a Message with SecretKey and returns a Signature using the Dilithium2 Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 2,528-bytes generated from dilithium2_keypair/0.

Signature is a binary of maximum size 2,420-bytes.
   {PK, SK} = pqclean_nif:dilithium2_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium2_sign(Msg, SK).

See also: dilithium2_verify/3.

Link to this function

dilithium2_verify(Signature, Message, PublicKey)

View Source
-spec dilithium2_verify(Signature, Message, PublicKey) -> Verification
                     when
                         Signature :: dilithium2_signature(),
                         Message :: dilithium2_message(),
                         PublicKey :: dilithium2_public_key(),
                         Verification :: dilithium2_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium2 Signature Algorithm.

Signature is a binary of maximum size 2,420-bytes.

Message is a binary.

PublicKey is a binary of size 1,312-bytes generated from dilithium2_keypair/0.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:dilithium2_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium2_sign(Msg, SK),
   true = pqclean_nif:dilithium2_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:dilithium2_verify(Sig, BadMsg, PK).

See also: dilithium2_sign/2.

-spec dilithium2aes_info() -> crypto_sign_info().

Returns information about the Dilithium2-AES Signature Algorithm.

   #{
       type := sign,
       name := "Dilithium2-AES",
       secretkeybytes := 2528,
       publickeybytes := 1312,
       signaturebytes := 2420
   } = pqclean_nif:dilithium2aes_info()

See also: dilithium2aes_keypair/0, dilithium2aes_sign/2, dilithium2aes_verify/3.

-spec dilithium2aes_keypair() -> {PublicKey, SecretKey}
                         when
                             PublicKey :: dilithium2aes_public_key(),
                             SecretKey :: dilithium2aes_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium2-AES Signature Algorithm.

PublicKey is a binary of size 1,312-bytes.

SecretKey is a binary of size 2,528-bytes.
   {PK, SK} = pqclean_nif:dilithium2aes_keypair().

See also: dilithium2aes_sign/2, dilithium2aes_verify/3.

Link to this function

dilithium2aes_sign(Message, SecretKey)

View Source
-spec dilithium2aes_sign(Message, SecretKey) -> Signature
                      when
                          Message :: dilithium2aes_message(),
                          SecretKey :: dilithium2aes_secret_key(),
                          Signature :: dilithium2aes_signature().

Signs a Message with SecretKey and returns a Signature using the Dilithium2-AES Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 2,528-bytes generated from dilithium2aes_keypair/0.

Signature is a binary of maximum size 2,420-bytes.
   {PK, SK} = pqclean_nif:dilithium2aes_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium2aes_sign(Msg, SK).

See also: dilithium2aes_verify/3.

Link to this function

dilithium2aes_verify(Signature, Message, PublicKey)

View Source
-spec dilithium2aes_verify(Signature, Message, PublicKey) -> Verification
                        when
                            Signature :: dilithium2aes_signature(),
                            Message :: dilithium2aes_message(),
                            PublicKey :: dilithium2aes_public_key(),
                            Verification :: dilithium2aes_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium2-AES Signature Algorithm.

Signature is a binary of maximum size 2,420-bytes.

Message is a binary.

PublicKey is a binary of size 1,312-bytes generated from dilithium2aes_keypair/0.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:dilithium2aes_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium2aes_sign(Msg, SK),
   true = pqclean_nif:dilithium2aes_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:dilithium2aes_verify(Sig, BadMsg, PK).

See also: dilithium2aes_sign/2.

-spec dilithium3_info() -> crypto_sign_info().

Returns information about the Dilithium3 Signature Algorithm.

   #{
       type := sign,
       name := "Dilithium3",
       secretkeybytes := 4000,
       publickeybytes := 1952,
       signaturebytes := 3293
   } = pqclean_nif:dilithium3_info()

See also: dilithium3_keypair/0, dilithium3_sign/2, dilithium3_verify/3.

-spec dilithium3_keypair() -> {PublicKey, SecretKey}
                      when
                          PublicKey :: dilithium3_public_key(),
                          SecretKey :: dilithium3_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium3 Signature Algorithm.

PublicKey is a binary of size 1,952-bytes.

SecretKey is a binary of size 4,000-bytes.
   {PK, SK} = pqclean_nif:dilithium3_keypair().

See also: dilithium3_sign/2, dilithium3_verify/3.

Link to this function

dilithium3_sign(Message, SecretKey)

View Source
-spec dilithium3_sign(Message, SecretKey) -> Signature
                   when
                       Message :: dilithium3_message(),
                       SecretKey :: dilithium3_secret_key(),
                       Signature :: dilithium3_signature().

Signs a Message with SecretKey and returns a Signature using the Dilithium3 Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 4,000-bytes generated from dilithium3_keypair/0.

Signature is a binary of maximum size 3,293-bytes.
   {PK, SK} = pqclean_nif:dilithium3_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium3_sign(Msg, SK).

See also: dilithium3_verify/3.

Link to this function

dilithium3_verify(Signature, Message, PublicKey)

View Source
-spec dilithium3_verify(Signature, Message, PublicKey) -> Verification
                     when
                         Signature :: dilithium3_signature(),
                         Message :: dilithium3_message(),
                         PublicKey :: dilithium3_public_key(),
                         Verification :: dilithium3_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium3 Signature Algorithm.

Signature is a binary of maximum size 3,293-bytes.

Message is a binary.

PublicKey is a binary of size 1,952-bytes generated from dilithium3_keypair/0.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:dilithium3_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium3_sign(Msg, SK),
   true = pqclean_nif:dilithium3_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:dilithium3_verify(Sig, BadMsg, PK).

See also: dilithium3_sign/2.

-spec dilithium3aes_info() -> crypto_sign_info().

Returns information about the Dilithium3-AES Signature Algorithm.

   #{
       type := sign,
       name := "Dilithium3-AES",
       secretkeybytes := 4000,
       publickeybytes := 1952,
       signaturebytes := 3293
   } = pqclean_nif:dilithium3aes_info()

See also: dilithium3aes_keypair/0, dilithium3aes_sign/2, dilithium3aes_verify/3.

-spec dilithium3aes_keypair() -> {PublicKey, SecretKey}
                         when
                             PublicKey :: dilithium3aes_public_key(),
                             SecretKey :: dilithium3aes_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium3-AES Signature Algorithm.

PublicKey is a binary of size 1,952-bytes.

SecretKey is a binary of size 4,000-bytes.
   {PK, SK} = pqclean_nif:dilithium3aes_keypair().

See also: dilithium3aes_sign/2, dilithium3aes_verify/3.

Link to this function

dilithium3aes_sign(Message, SecretKey)

View Source
-spec dilithium3aes_sign(Message, SecretKey) -> Signature
                      when
                          Message :: dilithium3aes_message(),
                          SecretKey :: dilithium3aes_secret_key(),
                          Signature :: dilithium3aes_signature().

Signs a Message with SecretKey and returns a Signature using the Dilithium3-AES Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 4,000-bytes generated from dilithium3aes_keypair/0.

Signature is a binary of maximum size 3,293-bytes.
   {PK, SK} = pqclean_nif:dilithium3aes_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium3aes_sign(Msg, SK).

See also: dilithium3aes_verify/3.

Link to this function

dilithium3aes_verify(Signature, Message, PublicKey)

View Source
-spec dilithium3aes_verify(Signature, Message, PublicKey) -> Verification
                        when
                            Signature :: dilithium3aes_signature(),
                            Message :: dilithium3aes_message(),
                            PublicKey :: dilithium3aes_public_key(),
                            Verification :: dilithium3aes_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium3-AES Signature Algorithm.

Signature is a binary of maximum size 3,293-bytes.

Message is a binary.

PublicKey is a binary of size 1,952-bytes generated from dilithium3aes_keypair/0.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:dilithium3aes_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium3aes_sign(Msg, SK),
   true = pqclean_nif:dilithium3aes_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:dilithium3aes_verify(Sig, BadMsg, PK).

See also: dilithium3aes_sign/2.

-spec dilithium5_info() -> crypto_sign_info().

Returns information about the Dilithium5 Signature Algorithm.

   #{
       type := sign,
       name := "Dilithium5",
       secretkeybytes := 4864,
       publickeybytes := 2592,
       signaturebytes := 4595
   } = pqclean_nif:dilithium5_info()

See also: dilithium5_keypair/0, dilithium5_sign/2, dilithium5_verify/3.

-spec dilithium5_keypair() -> {PublicKey, SecretKey}
                      when
                          PublicKey :: dilithium5_public_key(),
                          SecretKey :: dilithium5_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium5 Signature Algorithm.

PublicKey is a binary of size 2,592-bytes.

SecretKey is a binary of size 4,864-bytes.
   {PK, SK} = pqclean_nif:dilithium5_keypair().

See also: dilithium5_sign/2, dilithium5_verify/3.

Link to this function

dilithium5_sign(Message, SecretKey)

View Source
-spec dilithium5_sign(Message, SecretKey) -> Signature
                   when
                       Message :: dilithium5_message(),
                       SecretKey :: dilithium5_secret_key(),
                       Signature :: dilithium5_signature().

Signs a Message with SecretKey and returns a Signature using the Dilithium5 Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 4,864-bytes generated from dilithium5_keypair/0.

Signature is a binary of maximum size 4,595-bytes.
   {PK, SK} = pqclean_nif:dilithium5_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium5_sign(Msg, SK).

See also: dilithium5_verify/3.

Link to this function

dilithium5_verify(Signature, Message, PublicKey)

View Source
-spec dilithium5_verify(Signature, Message, PublicKey) -> Verification
                     when
                         Signature :: dilithium5_signature(),
                         Message :: dilithium5_message(),
                         PublicKey :: dilithium5_public_key(),
                         Verification :: dilithium5_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium5 Signature Algorithm.

Signature is a binary of maximum size 4,595-bytes.

Message is a binary.

PublicKey is a binary of size 2,592-bytes generated from dilithium5_keypair/0.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:dilithium5_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium5_sign(Msg, SK),
   true = pqclean_nif:dilithium5_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:dilithium5_verify(Sig, BadMsg, PK).

See also: dilithium5_sign/2.

-spec dilithium5aes_info() -> crypto_sign_info().

Returns information about the Dilithium5-AES Signature Algorithm.

   #{
       type := sign,
       name := "Dilithium5-AES",
       secretkeybytes := 4864,
       publickeybytes := 2592,
       signaturebytes := 4595
   } = pqclean_nif:dilithium5aes_info()

See also: dilithium5aes_keypair/0, dilithium5aes_sign/2, dilithium5aes_verify/3.

-spec dilithium5aes_keypair() -> {PublicKey, SecretKey}
                         when
                             PublicKey :: dilithium5aes_public_key(),
                             SecretKey :: dilithium5aes_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Dilithium5-AES Signature Algorithm.

PublicKey is a binary of size 2,592-bytes.

SecretKey is a binary of size 4,864-bytes.
   {PK, SK} = pqclean_nif:dilithium5aes_keypair().

See also: dilithium5aes_sign/2, dilithium5aes_verify/3.

Link to this function

dilithium5aes_sign(Message, SecretKey)

View Source
-spec dilithium5aes_sign(Message, SecretKey) -> Signature
                      when
                          Message :: dilithium5aes_message(),
                          SecretKey :: dilithium5aes_secret_key(),
                          Signature :: dilithium5aes_signature().

Signs a Message with SecretKey and returns a Signature using the Dilithium5-AES Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 4,864-bytes generated from dilithium5aes_keypair/0.

Signature is a binary of maximum size 4,595-bytes.
   {PK, SK} = pqclean_nif:dilithium5aes_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium5aes_sign(Msg, SK).

See also: dilithium5aes_verify/3.

Link to this function

dilithium5aes_verify(Signature, Message, PublicKey)

View Source
-spec dilithium5aes_verify(Signature, Message, PublicKey) -> Verification
                        when
                            Signature :: dilithium5aes_signature(),
                            Message :: dilithium5aes_message(),
                            PublicKey :: dilithium5aes_public_key(),
                            Verification :: dilithium5aes_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the Dilithium5-AES Signature Algorithm.

Signature is a binary of maximum size 4,595-bytes.

Message is a binary.

PublicKey is a binary of size 2,592-bytes generated from dilithium5aes_keypair/0.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:dilithium5aes_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:dilithium5aes_sign(Msg, SK),
   true = pqclean_nif:dilithium5aes_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:dilithium5aes_verify(Sig, BadMsg, PK).

See also: dilithium5aes_sign/2.

-spec falcon512_info() -> crypto_sign_info().

Returns information about the Falcon-512 Signature Algorithm.

   #{
       type := sign,
       name := "Falcon-512",
       secretkeybytes := 1281,
       publickeybytes := 897,
       signaturebytes := 666
   } = pqclean_nif:falcon512_info()

See also: falcon512_keypair/0, falcon512_sign/2, falcon512_verify/3.

-spec falcon512_keypair() -> {PublicKey, SecretKey}
                     when PublicKey :: falcon512_public_key(), SecretKey :: falcon512_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Falcon-512 Signature Algorithm.

PublicKey is a binary of size 897-bytes.

SecretKey is a binary of size 1,281-bytes.
   {PK, SK} = pqclean_nif:falcon512_keypair().

See also: falcon512_sign/2, falcon512_verify/3.

Link to this function

falcon512_sign(Message, SecretKey)

View Source
-spec falcon512_sign(Message, SecretKey) -> Signature
                  when
                      Message :: falcon512_message(),
                      SecretKey :: falcon512_secret_key(),
                      Signature :: falcon512_signature().

Signs a Message with SecretKey and returns a Signature using the Falcon-512 Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 1,281-bytes generated from falcon512_keypair/0.

Signature is a binary of maximum size 666-bytes.
   {PK, SK} = pqclean_nif:falcon512_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:falcon512_sign(Msg, SK).

See also: falcon512_verify/3.

Link to this function

falcon512_verify(Signature, Message, PublicKey)

View Source
-spec falcon512_verify(Signature, Message, PublicKey) -> Verification
                    when
                        Signature :: falcon512_signature(),
                        Message :: falcon512_message(),
                        PublicKey :: falcon512_public_key(),
                        Verification :: falcon512_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the Falcon-512 Signature Algorithm.

Signature is a binary of maximum size 666-bytes.

Message is a binary.

PublicKey is a binary of size 897-bytes generated from falcon512_keypair/0.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:falcon512_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:falcon512_sign(Msg, SK),
   true = pqclean_nif:falcon512_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:falcon512_verify(Sig, BadMsg, PK).

See also: falcon512_sign/2.

-spec falcon1024_info() -> crypto_sign_info().

Returns information about the Falcon-1024 Signature Algorithm.

   #{
       type := sign,
       name := "Falcon-1024",
       secretkeybytes := 2305,
       publickeybytes := 1793,
       signaturebytes := 1280
   } = pqclean_nif:falcon1024_info()

See also: falcon1024_keypair/0, falcon1024_sign/2, falcon1024_verify/3.

-spec falcon1024_keypair() -> {PublicKey, SecretKey}
                      when
                          PublicKey :: falcon1024_public_key(),
                          SecretKey :: falcon1024_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Falcon-1024 Signature Algorithm.

PublicKey is a binary of size 1,793-bytes.

SecretKey is a binary of size 2,305-bytes.
   {PK, SK} = pqclean_nif:falcon1024_keypair().

See also: falcon1024_sign/2, falcon1024_verify/3.

Link to this function

falcon1024_sign(Message, SecretKey)

View Source
-spec falcon1024_sign(Message, SecretKey) -> Signature
                   when
                       Message :: falcon1024_message(),
                       SecretKey :: falcon1024_secret_key(),
                       Signature :: falcon1024_signature().

Signs a Message with SecretKey and returns a Signature using the Falcon-1024 Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 2,305-bytes generated from falcon1024_keypair/0.

Signature is a binary of maximum size 1,280-bytes.
   {PK, SK} = pqclean_nif:falcon1024_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:falcon1024_sign(Msg, SK).

See also: falcon1024_verify/3.

Link to this function

falcon1024_verify(Signature, Message, PublicKey)

View Source
-spec falcon1024_verify(Signature, Message, PublicKey) -> Verification
                     when
                         Signature :: falcon1024_signature(),
                         Message :: falcon1024_message(),
                         PublicKey :: falcon1024_public_key(),
                         Verification :: falcon1024_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the Falcon-1024 Signature Algorithm.

Signature is a binary of maximum size 1,280-bytes.

Message is a binary.

PublicKey is a binary of size 1,793-bytes generated from falcon1024_keypair/0.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:falcon1024_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:falcon1024_sign(Msg, SK),
   true = pqclean_nif:falcon1024_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:falcon1024_verify(Sig, BadMsg, PK).

See also: falcon1024_sign/2.

Link to this function

hqc_rmrs_128_decapsulate(CipherText, SecretKey)

View Source
-spec hqc_rmrs_128_decapsulate(CipherText, SecretKey) -> SharedSecret
                            when
                                CipherText :: hqc_rmrs_128_cipher_text(),
                                SecretKey :: hqc_rmrs_128_secret_key(),
                                SharedSecret :: hqc_rmrs_128_shared_secret().

Decapsulates a SharedSecret for from a CipherText and SecretKey using the HQC-RMRS-128 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

SharedSecret is a binary of size 64-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:hqc_rmrs_128_keypair(),
   {CT, SS} = pqclean_nif:hqc_rmrs_128_encapsulate(PK),
        SS  = pqclean_nif:hqc_rmrs_128_decapsulate(CT, SK).

See also: hqc_rmrs_128_encapsulate/1.

Link to this function

hqc_rmrs_128_encapsulate(PublicKey)

View Source
-spec hqc_rmrs_128_encapsulate(PublicKey) -> {CipherText, SharedSecret}
                            when
                                PublicKey :: hqc_rmrs_128_public_key(),
                                CipherText :: hqc_rmrs_128_cipher_text(),
                                SharedSecret :: hqc_rmrs_128_shared_secret().

Encapsulates a new SharedSecret for PublicKey using the HQC-RMRS-128 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

CipherText is a binary of size 4,481-bytes.

SharedSecret is a binary of size 64-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:hqc_rmrs_128_keypair(),
   {CT, SS} = pqclean_nif:hqc_rmrs_128_encapsulate(PK).

See also: hqc_rmrs_128_decapsulate/2.

-spec hqc_rmrs_128_info() -> crypto_kem_info().

Returns information about the HQC-RMRS-128 Key Encapsulation Mechanism (KEM) Algorithm.

   #{
       type := kem,
       name := "HQC-RMRS-128",
       secretkeybytes := 2289,
       publickeybytes := 2249,
       ciphertextbytes := 4481,
       sharedsecretbytes := 64
   } = pqclean_nif:hqc_rmrs_128_info()

See also: hqc_rmrs_128_decapsulate/2, hqc_rmrs_128_encapsulate/1, hqc_rmrs_128_keypair/0.

-spec hqc_rmrs_128_keypair() -> {PublicKey, SecretKey}
                        when
                            PublicKey :: hqc_rmrs_128_public_key(),
                            SecretKey :: hqc_rmrs_128_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the HQC-RMRS-128 KEM Algorithm.

PublicKey is a binary of size 2,249-bytes.

SecretKey is a binary of size 2,289-bytes.
   {PK, SK} = pqclean_nif:hqc_rmrs_128_keypair().

See also: hqc_rmrs_128_decapsulate/2, hqc_rmrs_128_encapsulate/1.

Link to this function

hqc_rmrs_192_decapsulate(CipherText, SecretKey)

View Source
-spec hqc_rmrs_192_decapsulate(CipherText, SecretKey) -> SharedSecret
                            when
                                CipherText :: hqc_rmrs_192_cipher_text(),
                                SecretKey :: hqc_rmrs_192_secret_key(),
                                SharedSecret :: hqc_rmrs_192_shared_secret().

Decapsulates a SharedSecret for from a CipherText and SecretKey using the HQC-RMRS-192 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

SharedSecret is a binary of size 64-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:hqc_rmrs_192_keypair(),
   {CT, SS} = pqclean_nif:hqc_rmrs_192_encapsulate(PK),
        SS  = pqclean_nif:hqc_rmrs_192_decapsulate(CT, SK).

See also: hqc_rmrs_192_encapsulate/1.

Link to this function

hqc_rmrs_192_encapsulate(PublicKey)

View Source
-spec hqc_rmrs_192_encapsulate(PublicKey) -> {CipherText, SharedSecret}
                            when
                                PublicKey :: hqc_rmrs_192_public_key(),
                                CipherText :: hqc_rmrs_192_cipher_text(),
                                SharedSecret :: hqc_rmrs_192_shared_secret().

Encapsulates a new SharedSecret for PublicKey using the HQC-RMRS-192 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

CipherText is a binary of size 9,026-bytes.

SharedSecret is a binary of size 64-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:hqc_rmrs_192_keypair(),
   {CT, SS} = pqclean_nif:hqc_rmrs_192_encapsulate(PK).

See also: hqc_rmrs_192_decapsulate/2.

-spec hqc_rmrs_192_info() -> crypto_kem_info().

Returns information about the HQC-RMRS-192 Key Encapsulation Mechanism (KEM) Algorithm.

   #{
       type := kem,
       name := "HQC-RMRS-192",
       secretkeybytes := 4562,
       publickeybytes := 4522,
       ciphertextbytes := 9026,
       sharedsecretbytes := 64
   } = pqclean_nif:hqc_rmrs_192_info()

See also: hqc_rmrs_192_decapsulate/2, hqc_rmrs_192_encapsulate/1, hqc_rmrs_192_keypair/0.

-spec hqc_rmrs_192_keypair() -> {PublicKey, SecretKey}
                        when
                            PublicKey :: hqc_rmrs_192_public_key(),
                            SecretKey :: hqc_rmrs_192_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the HQC-RMRS-192 KEM Algorithm.

PublicKey is a binary of size 4,522-bytes.

SecretKey is a binary of size 4,562-bytes.
   {PK, SK} = pqclean_nif:hqc_rmrs_192_keypair().

See also: hqc_rmrs_192_decapsulate/2, hqc_rmrs_192_encapsulate/1.

Link to this function

hqc_rmrs_256_decapsulate(CipherText, SecretKey)

View Source
-spec hqc_rmrs_256_decapsulate(CipherText, SecretKey) -> SharedSecret
                            when
                                CipherText :: hqc_rmrs_256_cipher_text(),
                                SecretKey :: hqc_rmrs_256_secret_key(),
                                SharedSecret :: hqc_rmrs_256_shared_secret().

Decapsulates a SharedSecret for from a CipherText and SecretKey using the HQC-RMRS-256 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

SharedSecret is a binary of size 64-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:hqc_rmrs_256_keypair(),
   {CT, SS} = pqclean_nif:hqc_rmrs_256_encapsulate(PK),
        SS  = pqclean_nif:hqc_rmrs_256_decapsulate(CT, SK).

See also: hqc_rmrs_256_encapsulate/1.

Link to this function

hqc_rmrs_256_encapsulate(PublicKey)

View Source
-spec hqc_rmrs_256_encapsulate(PublicKey) -> {CipherText, SharedSecret}
                            when
                                PublicKey :: hqc_rmrs_256_public_key(),
                                CipherText :: hqc_rmrs_256_cipher_text(),
                                SharedSecret :: hqc_rmrs_256_shared_secret().

Encapsulates a new SharedSecret for PublicKey using the HQC-RMRS-256 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

CipherText is a binary of size 14,469-bytes.

SharedSecret is a binary of size 64-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:hqc_rmrs_256_keypair(),
   {CT, SS} = pqclean_nif:hqc_rmrs_256_encapsulate(PK).

See also: hqc_rmrs_256_decapsulate/2.

-spec hqc_rmrs_256_info() -> crypto_kem_info().

Returns information about the HQC-RMRS-256 Key Encapsulation Mechanism (KEM) Algorithm.

   #{
       type := kem,
       name := "HQC-RMRS-256",
       secretkeybytes := 7285,
       publickeybytes := 7245,
       ciphertextbytes := 14469,
       sharedsecretbytes := 64
   } = pqclean_nif:hqc_rmrs_256_info()

See also: hqc_rmrs_256_decapsulate/2, hqc_rmrs_256_encapsulate/1, hqc_rmrs_256_keypair/0.

-spec hqc_rmrs_256_keypair() -> {PublicKey, SecretKey}
                        when
                            PublicKey :: hqc_rmrs_256_public_key(),
                            SecretKey :: hqc_rmrs_256_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the HQC-RMRS-256 KEM Algorithm.

PublicKey is a binary of size 7,245-bytes.

SecretKey is a binary of size 7,285-bytes.
   {PK, SK} = pqclean_nif:hqc_rmrs_256_keypair().

See also: hqc_rmrs_256_decapsulate/2, hqc_rmrs_256_encapsulate/1.

Link to this function

kyber512_90s_decapsulate(CipherText, SecretKey)

View Source
-spec kyber512_90s_decapsulate(CipherText, SecretKey) -> SharedSecret
                            when
                                CipherText :: kyber512_90s_cipher_text(),
                                SecretKey :: kyber512_90s_secret_key(),
                                SharedSecret :: kyber512_90s_shared_secret().

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber512-90s KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber512_90s_keypair(),
   {CT, SS} = pqclean_nif:kyber512_90s_encapsulate(PK),
        SS  = pqclean_nif:kyber512_90s_decapsulate(CT, SK).

See also: kyber512_90s_encapsulate/1.

Link to this function

kyber512_90s_encapsulate(PublicKey)

View Source
-spec kyber512_90s_encapsulate(PublicKey) -> {CipherText, SharedSecret}
                            when
                                PublicKey :: kyber512_90s_public_key(),
                                CipherText :: kyber512_90s_cipher_text(),
                                SharedSecret :: kyber512_90s_shared_secret().

Encapsulates a new SharedSecret for PublicKey using the Kyber512-90s KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

CipherText is a binary of size 768-bytes.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber512_90s_keypair(),
   {CT, SS} = pqclean_nif:kyber512_90s_encapsulate(PK).

See also: kyber512_90s_decapsulate/2.

-spec kyber512_90s_info() -> crypto_kem_info().

Returns information about the Kyber512-90s Key Encapsulation Mechanism (KEM) Algorithm.

   #{
       type := kem,
       name := "Kyber512-90s",
       secretkeybytes := 1632,
       publickeybytes := 800,
       ciphertextbytes := 768,
       sharedsecretbytes := 32
   } = pqclean_nif:kyber512_90s_info()

See also: kyber512_90s_decapsulate/2, kyber512_90s_encapsulate/1, kyber512_90s_keypair/0.

-spec kyber512_90s_keypair() -> {PublicKey, SecretKey}
                        when
                            PublicKey :: kyber512_90s_public_key(),
                            SecretKey :: kyber512_90s_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Kyber512-90s KEM Algorithm.

PublicKey is a binary of size 800-bytes.

SecretKey is a binary of size 1,632-bytes.
   {PK, SK} = pqclean_nif:kyber512_90s_keypair().

See also: kyber512_90s_decapsulate/2, kyber512_90s_encapsulate/1.

Link to this function

kyber512_decapsulate(CipherText, SecretKey)

View Source
-spec kyber512_decapsulate(CipherText, SecretKey) -> SharedSecret
                        when
                            CipherText :: kyber512_cipher_text(),
                            SecretKey :: kyber512_secret_key(),
                            SharedSecret :: kyber512_shared_secret().

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber512 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber512_keypair(),
   {CT, SS} = pqclean_nif:kyber512_encapsulate(PK),
        SS  = pqclean_nif:kyber512_decapsulate(CT, SK).

See also: kyber512_encapsulate/1.

Link to this function

kyber512_encapsulate(PublicKey)

View Source
-spec kyber512_encapsulate(PublicKey) -> {CipherText, SharedSecret}
                        when
                            PublicKey :: kyber512_public_key(),
                            CipherText :: kyber512_cipher_text(),
                            SharedSecret :: kyber512_shared_secret().

Encapsulates a new SharedSecret for PublicKey using the Kyber512 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

CipherText is a binary of size 768-bytes.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber512_keypair(),
   {CT, SS} = pqclean_nif:kyber512_encapsulate(PK).

See also: kyber512_decapsulate/2.

-spec kyber512_info() -> crypto_kem_info().

Returns information about the Kyber512 Key Encapsulation Mechanism (KEM) Algorithm.

   #{
       type := kem,
       name := "Kyber512",
       secretkeybytes := 1632,
       publickeybytes := 800,
       ciphertextbytes := 768,
       sharedsecretbytes := 32
   } = pqclean_nif:kyber512_info()

See also: kyber512_decapsulate/2, kyber512_encapsulate/1, kyber512_keypair/0.

-spec kyber512_keypair() -> {PublicKey, SecretKey}
                    when PublicKey :: kyber512_public_key(), SecretKey :: kyber512_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Kyber512 KEM Algorithm.

PublicKey is a binary of size 800-bytes.

SecretKey is a binary of size 1,632-bytes.
   {PK, SK} = pqclean_nif:kyber512_keypair().

See also: kyber512_decapsulate/2, kyber512_encapsulate/1.

Link to this function

kyber768_90s_decapsulate(CipherText, SecretKey)

View Source
-spec kyber768_90s_decapsulate(CipherText, SecretKey) -> SharedSecret
                            when
                                CipherText :: kyber768_90s_cipher_text(),
                                SecretKey :: kyber768_90s_secret_key(),
                                SharedSecret :: kyber768_90s_shared_secret().

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber768-90s KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber768_90s_keypair(),
   {CT, SS} = pqclean_nif:kyber768_90s_encapsulate(PK),
        SS  = pqclean_nif:kyber768_90s_decapsulate(CT, SK).

See also: kyber768_90s_encapsulate/1.

Link to this function

kyber768_90s_encapsulate(PublicKey)

View Source
-spec kyber768_90s_encapsulate(PublicKey) -> {CipherText, SharedSecret}
                            when
                                PublicKey :: kyber768_90s_public_key(),
                                CipherText :: kyber768_90s_cipher_text(),
                                SharedSecret :: kyber768_90s_shared_secret().

Encapsulates a new SharedSecret for PublicKey using the Kyber768-90s KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

CipherText is a binary of size 1,088-bytes.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber768_90s_keypair(),
   {CT, SS} = pqclean_nif:kyber768_90s_encapsulate(PK).

See also: kyber768_90s_decapsulate/2.

-spec kyber768_90s_info() -> crypto_kem_info().

Returns information about the Kyber768-90s Key Encapsulation Mechanism (KEM) Algorithm.

   #{
       type := kem,
       name := "Kyber768-90s",
       secretkeybytes := 2400,
       publickeybytes := 1184,
       ciphertextbytes := 1088,
       sharedsecretbytes := 32
   } = pqclean_nif:kyber768_90s_info()

See also: kyber768_90s_decapsulate/2, kyber768_90s_encapsulate/1, kyber768_90s_keypair/0.

-spec kyber768_90s_keypair() -> {PublicKey, SecretKey}
                        when
                            PublicKey :: kyber768_90s_public_key(),
                            SecretKey :: kyber768_90s_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Kyber768-90s KEM Algorithm.

PublicKey is a binary of size 1,184-bytes.

SecretKey is a binary of size 2,400-bytes.
   {PK, SK} = pqclean_nif:kyber768_90s_keypair().

See also: kyber768_90s_decapsulate/2, kyber768_90s_encapsulate/1.

Link to this function

kyber768_decapsulate(CipherText, SecretKey)

View Source
-spec kyber768_decapsulate(CipherText, SecretKey) -> SharedSecret
                        when
                            CipherText :: kyber768_cipher_text(),
                            SecretKey :: kyber768_secret_key(),
                            SharedSecret :: kyber768_shared_secret().

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber768 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber768_keypair(),
   {CT, SS} = pqclean_nif:kyber768_encapsulate(PK),
        SS  = pqclean_nif:kyber768_decapsulate(CT, SK).

See also: kyber768_encapsulate/1.

Link to this function

kyber768_encapsulate(PublicKey)

View Source
-spec kyber768_encapsulate(PublicKey) -> {CipherText, SharedSecret}
                        when
                            PublicKey :: kyber768_public_key(),
                            CipherText :: kyber768_cipher_text(),
                            SharedSecret :: kyber768_shared_secret().

Encapsulates a new SharedSecret for PublicKey using the Kyber768 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

CipherText is a binary of size 1,088-bytes.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber768_keypair(),
   {CT, SS} = pqclean_nif:kyber768_encapsulate(PK).

See also: kyber768_decapsulate/2.

-spec kyber768_info() -> crypto_kem_info().

Returns information about the Kyber768 Key Encapsulation Mechanism (KEM) Algorithm.

   #{
       type := kem,
       name := "Kyber768",
       secretkeybytes := 2400,
       publickeybytes := 1184,
       ciphertextbytes := 1088,
       sharedsecretbytes := 32
   } = pqclean_nif:kyber768_info()

See also: kyber768_decapsulate/2, kyber768_encapsulate/1, kyber768_keypair/0.

-spec kyber768_keypair() -> {PublicKey, SecretKey}
                    when PublicKey :: kyber768_public_key(), SecretKey :: kyber768_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Kyber768 KEM Algorithm.

PublicKey is a binary of size 1,184-bytes.

SecretKey is a binary of size 2,400-bytes.
   {PK, SK} = pqclean_nif:kyber768_keypair().

See also: kyber768_decapsulate/2, kyber768_encapsulate/1.

Link to this function

kyber1024_90s_decapsulate(CipherText, SecretKey)

View Source
-spec kyber1024_90s_decapsulate(CipherText, SecretKey) -> SharedSecret
                             when
                                 CipherText :: kyber1024_90s_cipher_text(),
                                 SecretKey :: kyber1024_90s_secret_key(),
                                 SharedSecret :: kyber1024_90s_shared_secret().

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber1024-90s KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber1024_90s_keypair(),
   {CT, SS} = pqclean_nif:kyber1024_90s_encapsulate(PK),
        SS  = pqclean_nif:kyber1024_90s_decapsulate(CT, SK).

See also: kyber1024_90s_encapsulate/1.

Link to this function

kyber1024_90s_encapsulate(PublicKey)

View Source
-spec kyber1024_90s_encapsulate(PublicKey) -> {CipherText, SharedSecret}
                             when
                                 PublicKey :: kyber1024_90s_public_key(),
                                 CipherText :: kyber1024_90s_cipher_text(),
                                 SharedSecret :: kyber1024_90s_shared_secret().

Encapsulates a new SharedSecret for PublicKey using the Kyber1024-90s KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

CipherText is a binary of size 1,568-bytes.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber1024_90s_keypair(),
   {CT, SS} = pqclean_nif:kyber1024_90s_encapsulate(PK).

See also: kyber1024_90s_decapsulate/2.

-spec kyber1024_90s_info() -> crypto_kem_info().

Returns information about the Kyber1024-90s Key Encapsulation Mechanism (KEM) Algorithm.

   #{
       type := kem,
       name := "Kyber1024-90s",
       secretkeybytes := 3168,
       publickeybytes := 1568,
       ciphertextbytes := 1568,
       sharedsecretbytes := 32
   } = pqclean_nif:kyber1024_90s_info()

See also: kyber1024_90s_decapsulate/2, kyber1024_90s_encapsulate/1, kyber1024_90s_keypair/0.

-spec kyber1024_90s_keypair() -> {PublicKey, SecretKey}
                         when
                             PublicKey :: kyber1024_90s_public_key(),
                             SecretKey :: kyber1024_90s_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Kyber1024-90s KEM Algorithm.

PublicKey is a binary of size 1,568-bytes.

SecretKey is a binary of size 3,168-bytes.
   {PK, SK} = pqclean_nif:kyber1024_90s_keypair().

See also: kyber1024_90s_decapsulate/2, kyber1024_90s_encapsulate/1.

Link to this function

kyber1024_decapsulate(CipherText, SecretKey)

View Source
-spec kyber1024_decapsulate(CipherText, SecretKey) -> SharedSecret
                         when
                             CipherText :: kyber1024_cipher_text(),
                             SecretKey :: kyber1024_secret_key(),
                             SharedSecret :: kyber1024_shared_secret().

Decapsulates a SharedSecret for from a CipherText and SecretKey using the Kyber1024 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber1024_keypair(),
   {CT, SS} = pqclean_nif:kyber1024_encapsulate(PK),
        SS  = pqclean_nif:kyber1024_decapsulate(CT, SK).

See also: kyber1024_encapsulate/1.

Link to this function

kyber1024_encapsulate(PublicKey)

View Source
-spec kyber1024_encapsulate(PublicKey) -> {CipherText, SharedSecret}
                         when
                             PublicKey :: kyber1024_public_key(),
                             CipherText :: kyber1024_cipher_text(),
                             SharedSecret :: kyber1024_shared_secret().

Encapsulates a new SharedSecret for PublicKey using the Kyber1024 KEM Algorithm.

Anyone can encapsulate a new SharedSecret using the PublicKey.

Only the owner of the corresponding SecretKey will be able to decapsulate the SharedSecret.

CipherText is a binary of size 1,568-bytes.

SharedSecret is a binary of size 32-bytes.

NOTE: Only PublicKey and CipherText are safe to share publicly, whereas SecretKey and SharedSecret are to be kept private.
   {PK, SK} = pqclean_nif:kyber1024_keypair(),
   {CT, SS} = pqclean_nif:kyber1024_encapsulate(PK).

See also: kyber1024_decapsulate/2.

-spec kyber1024_info() -> crypto_kem_info().

Returns information about the Kyber1024 Key Encapsulation Mechanism (KEM) Algorithm.

   #{
       type := kem,
       name := "Kyber1024",
       secretkeybytes := 3168,
       publickeybytes := 1568,
       ciphertextbytes := 1568,
       sharedsecretbytes := 32
   } = pqclean_nif:kyber1024_info()

See also: kyber1024_decapsulate/2, kyber1024_encapsulate/1, kyber1024_keypair/0.

-spec kyber1024_keypair() -> {PublicKey, SecretKey}
                     when PublicKey :: kyber1024_public_key(), SecretKey :: kyber1024_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the Kyber1024 KEM Algorithm.

PublicKey is a binary of size 1,568-bytes.

SecretKey is a binary of size 3,168-bytes.
   {PK, SK} = pqclean_nif:kyber1024_keypair().

See also: kyber1024_decapsulate/2, kyber1024_encapsulate/1.

Link to this function

sphincs_plus_haraka_128f_robust_info()

View Source
-spec sphincs_plus_haraka_128f_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-128f-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-128f-robust",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 17088,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_haraka_128f_robust_info()

See also: sphincs_plus_haraka_128f_robust_keypair/0, sphincs_plus_haraka_128f_robust_keypair/1, sphincs_plus_haraka_128f_robust_sign/2, sphincs_plus_haraka_128f_robust_verify/3.

Link to this function

sphincs_plus_haraka_128f_robust_keypair()

View Source
-spec sphincs_plus_haraka_128f_robust_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_128f_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_128f_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-128f-robust Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128f_robust_keypair().

See also: sphincs_plus_haraka_128f_robust_keypair/1, sphincs_plus_haraka_128f_robust_sign/2, sphincs_plus_haraka_128f_robust_verify/3.

Link to this function

sphincs_plus_haraka_128f_robust_keypair(Seed)

View Source
-spec sphincs_plus_haraka_128f_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_128f_robust_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_128f_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_128f_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-128f-robust Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_128f_robust_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_128f_robust_keypair(Seed).

See also: sphincs_plus_haraka_128f_robust_keypair/0, sphincs_plus_haraka_128f_robust_sign/2, sphincs_plus_haraka_128f_robust_verify/3.

Link to this function

sphincs_plus_haraka_128f_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_128f_robust_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_128f_robust_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_128f_robust_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_128f_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-128f-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_haraka_128f_robust_keypair/0 or sphincs_plus_haraka_128f_robust_keypair/1.

Signature is a binary of maximum size 17,088-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_128f_robust_sign(Msg, SK).

See also: sphincs_plus_haraka_128f_robust_verify/3.

Link to this function

sphincs_plus_haraka_128f_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_128f_robust_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_128f_robust_signature(),
                                              Message :: sphincs_plus_haraka_128f_robust_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_128f_robust_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_128f_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-128f-robust Signature Algorithm.

Signature is a binary of maximum size 17,088-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_haraka_128f_robust_keypair/0 or sphincs_plus_haraka_128f_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_128f_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_128f_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_128f_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_128f_robust_sign/2.

Link to this function

sphincs_plus_haraka_128f_simple_info()

View Source
-spec sphincs_plus_haraka_128f_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-128f-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-128f-simple",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 17088,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_haraka_128f_simple_info()

See also: sphincs_plus_haraka_128f_simple_keypair/0, sphincs_plus_haraka_128f_simple_keypair/1, sphincs_plus_haraka_128f_simple_sign/2, sphincs_plus_haraka_128f_simple_verify/3.

Link to this function

sphincs_plus_haraka_128f_simple_keypair()

View Source
-spec sphincs_plus_haraka_128f_simple_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_128f_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_128f_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-128f-simple Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128f_simple_keypair().

See also: sphincs_plus_haraka_128f_simple_keypair/1, sphincs_plus_haraka_128f_simple_sign/2, sphincs_plus_haraka_128f_simple_verify/3.

Link to this function

sphincs_plus_haraka_128f_simple_keypair(Seed)

View Source
-spec sphincs_plus_haraka_128f_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_128f_simple_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_128f_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_128f_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-128f-simple Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_128f_simple_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_128f_simple_keypair(Seed).

See also: sphincs_plus_haraka_128f_simple_keypair/0, sphincs_plus_haraka_128f_simple_sign/2, sphincs_plus_haraka_128f_simple_verify/3.

Link to this function

sphincs_plus_haraka_128f_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_128f_simple_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_128f_simple_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_128f_simple_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_128f_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-128f-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_haraka_128f_simple_keypair/0 or sphincs_plus_haraka_128f_simple_keypair/1.

Signature is a binary of maximum size 17,088-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_128f_simple_sign(Msg, SK).

See also: sphincs_plus_haraka_128f_simple_verify/3.

Link to this function

sphincs_plus_haraka_128f_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_128f_simple_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_128f_simple_signature(),
                                              Message :: sphincs_plus_haraka_128f_simple_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_128f_simple_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_128f_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-128f-simple Signature Algorithm.

Signature is a binary of maximum size 17,088-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_haraka_128f_simple_keypair/0 or sphincs_plus_haraka_128f_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_128f_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_128f_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_128f_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_128f_simple_sign/2.

Link to this function

sphincs_plus_haraka_128s_robust_info()

View Source
-spec sphincs_plus_haraka_128s_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-128s-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-128s-robust",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 7856,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_haraka_128s_robust_info()

See also: sphincs_plus_haraka_128s_robust_keypair/0, sphincs_plus_haraka_128s_robust_keypair/1, sphincs_plus_haraka_128s_robust_sign/2, sphincs_plus_haraka_128s_robust_verify/3.

Link to this function

sphincs_plus_haraka_128s_robust_keypair()

View Source
-spec sphincs_plus_haraka_128s_robust_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_128s_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_128s_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-128s-robust Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128s_robust_keypair().

See also: sphincs_plus_haraka_128s_robust_keypair/1, sphincs_plus_haraka_128s_robust_sign/2, sphincs_plus_haraka_128s_robust_verify/3.

Link to this function

sphincs_plus_haraka_128s_robust_keypair(Seed)

View Source
-spec sphincs_plus_haraka_128s_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_128s_robust_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_128s_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_128s_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-128s-robust Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_128s_robust_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_128s_robust_keypair(Seed).

See also: sphincs_plus_haraka_128s_robust_keypair/0, sphincs_plus_haraka_128s_robust_sign/2, sphincs_plus_haraka_128s_robust_verify/3.

Link to this function

sphincs_plus_haraka_128s_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_128s_robust_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_128s_robust_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_128s_robust_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_128s_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-128s-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_haraka_128s_robust_keypair/0 or sphincs_plus_haraka_128s_robust_keypair/1.

Signature is a binary of maximum size 7,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_128s_robust_sign(Msg, SK).

See also: sphincs_plus_haraka_128s_robust_verify/3.

Link to this function

sphincs_plus_haraka_128s_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_128s_robust_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_128s_robust_signature(),
                                              Message :: sphincs_plus_haraka_128s_robust_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_128s_robust_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_128s_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-128s-robust Signature Algorithm.

Signature is a binary of maximum size 7,856-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_haraka_128s_robust_keypair/0 or sphincs_plus_haraka_128s_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_128s_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_128s_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_128s_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_128s_robust_sign/2.

Link to this function

sphincs_plus_haraka_128s_simple_info()

View Source
-spec sphincs_plus_haraka_128s_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-128s-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-128s-simple",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 7856,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_haraka_128s_simple_info()

See also: sphincs_plus_haraka_128s_simple_keypair/0, sphincs_plus_haraka_128s_simple_keypair/1, sphincs_plus_haraka_128s_simple_sign/2, sphincs_plus_haraka_128s_simple_verify/3.

Link to this function

sphincs_plus_haraka_128s_simple_keypair()

View Source
-spec sphincs_plus_haraka_128s_simple_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_128s_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_128s_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-128s-simple Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128s_simple_keypair().

See also: sphincs_plus_haraka_128s_simple_keypair/1, sphincs_plus_haraka_128s_simple_sign/2, sphincs_plus_haraka_128s_simple_verify/3.

Link to this function

sphincs_plus_haraka_128s_simple_keypair(Seed)

View Source
-spec sphincs_plus_haraka_128s_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_128s_simple_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_128s_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_128s_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-128s-simple Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_128s_simple_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_128s_simple_keypair(Seed).

See also: sphincs_plus_haraka_128s_simple_keypair/0, sphincs_plus_haraka_128s_simple_sign/2, sphincs_plus_haraka_128s_simple_verify/3.

Link to this function

sphincs_plus_haraka_128s_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_128s_simple_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_128s_simple_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_128s_simple_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_128s_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-128s-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_haraka_128s_simple_keypair/0 or sphincs_plus_haraka_128s_simple_keypair/1.

Signature is a binary of maximum size 7,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_128s_simple_sign(Msg, SK).

See also: sphincs_plus_haraka_128s_simple_verify/3.

Link to this function

sphincs_plus_haraka_128s_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_128s_simple_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_128s_simple_signature(),
                                              Message :: sphincs_plus_haraka_128s_simple_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_128s_simple_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_128s_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-128s-simple Signature Algorithm.

Signature is a binary of maximum size 7,856-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_haraka_128s_simple_keypair/0 or sphincs_plus_haraka_128s_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_128s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_128s_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_128s_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_128s_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_128s_simple_sign/2.

Link to this function

sphincs_plus_haraka_192f_robust_info()

View Source
-spec sphincs_plus_haraka_192f_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-192f-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-192f-robust",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 35664,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_haraka_192f_robust_info()

See also: sphincs_plus_haraka_192f_robust_keypair/0, sphincs_plus_haraka_192f_robust_keypair/1, sphincs_plus_haraka_192f_robust_sign/2, sphincs_plus_haraka_192f_robust_verify/3.

Link to this function

sphincs_plus_haraka_192f_robust_keypair()

View Source
-spec sphincs_plus_haraka_192f_robust_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_192f_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_192f_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-192f-robust Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192f_robust_keypair().

See also: sphincs_plus_haraka_192f_robust_keypair/1, sphincs_plus_haraka_192f_robust_sign/2, sphincs_plus_haraka_192f_robust_verify/3.

Link to this function

sphincs_plus_haraka_192f_robust_keypair(Seed)

View Source
-spec sphincs_plus_haraka_192f_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_192f_robust_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_192f_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_192f_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-192f-robust Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_192f_robust_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_192f_robust_keypair(Seed).

See also: sphincs_plus_haraka_192f_robust_keypair/0, sphincs_plus_haraka_192f_robust_sign/2, sphincs_plus_haraka_192f_robust_verify/3.

Link to this function

sphincs_plus_haraka_192f_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_192f_robust_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_192f_robust_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_192f_robust_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_192f_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-192f-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_haraka_192f_robust_keypair/0 or sphincs_plus_haraka_192f_robust_keypair/1.

Signature is a binary of maximum size 35,664-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_192f_robust_sign(Msg, SK).

See also: sphincs_plus_haraka_192f_robust_verify/3.

Link to this function

sphincs_plus_haraka_192f_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_192f_robust_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_192f_robust_signature(),
                                              Message :: sphincs_plus_haraka_192f_robust_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_192f_robust_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_192f_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-192f-robust Signature Algorithm.

Signature is a binary of maximum size 35,664-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_haraka_192f_robust_keypair/0 or sphincs_plus_haraka_192f_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_192f_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_192f_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_192f_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_192f_robust_sign/2.

Link to this function

sphincs_plus_haraka_192f_simple_info()

View Source
-spec sphincs_plus_haraka_192f_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-192f-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-192f-simple",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 35664,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_haraka_192f_simple_info()

See also: sphincs_plus_haraka_192f_simple_keypair/0, sphincs_plus_haraka_192f_simple_keypair/1, sphincs_plus_haraka_192f_simple_sign/2, sphincs_plus_haraka_192f_simple_verify/3.

Link to this function

sphincs_plus_haraka_192f_simple_keypair()

View Source
-spec sphincs_plus_haraka_192f_simple_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_192f_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_192f_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-192f-simple Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192f_simple_keypair().

See also: sphincs_plus_haraka_192f_simple_keypair/1, sphincs_plus_haraka_192f_simple_sign/2, sphincs_plus_haraka_192f_simple_verify/3.

Link to this function

sphincs_plus_haraka_192f_simple_keypair(Seed)

View Source
-spec sphincs_plus_haraka_192f_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_192f_simple_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_192f_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_192f_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-192f-simple Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_192f_simple_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_192f_simple_keypair(Seed).

See also: sphincs_plus_haraka_192f_simple_keypair/0, sphincs_plus_haraka_192f_simple_sign/2, sphincs_plus_haraka_192f_simple_verify/3.

Link to this function

sphincs_plus_haraka_192f_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_192f_simple_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_192f_simple_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_192f_simple_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_192f_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-192f-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_haraka_192f_simple_keypair/0 or sphincs_plus_haraka_192f_simple_keypair/1.

Signature is a binary of maximum size 35,664-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_192f_simple_sign(Msg, SK).

See also: sphincs_plus_haraka_192f_simple_verify/3.

Link to this function

sphincs_plus_haraka_192f_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_192f_simple_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_192f_simple_signature(),
                                              Message :: sphincs_plus_haraka_192f_simple_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_192f_simple_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_192f_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-192f-simple Signature Algorithm.

Signature is a binary of maximum size 35,664-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_haraka_192f_simple_keypair/0 or sphincs_plus_haraka_192f_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_192f_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_192f_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_192f_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_192f_simple_sign/2.

Link to this function

sphincs_plus_haraka_192s_robust_info()

View Source
-spec sphincs_plus_haraka_192s_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-192s-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-192s-robust",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 16224,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_haraka_192s_robust_info()

See also: sphincs_plus_haraka_192s_robust_keypair/0, sphincs_plus_haraka_192s_robust_keypair/1, sphincs_plus_haraka_192s_robust_sign/2, sphincs_plus_haraka_192s_robust_verify/3.

Link to this function

sphincs_plus_haraka_192s_robust_keypair()

View Source
-spec sphincs_plus_haraka_192s_robust_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_192s_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_192s_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-192s-robust Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192s_robust_keypair().

See also: sphincs_plus_haraka_192s_robust_keypair/1, sphincs_plus_haraka_192s_robust_sign/2, sphincs_plus_haraka_192s_robust_verify/3.

Link to this function

sphincs_plus_haraka_192s_robust_keypair(Seed)

View Source
-spec sphincs_plus_haraka_192s_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_192s_robust_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_192s_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_192s_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-192s-robust Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_192s_robust_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_192s_robust_keypair(Seed).

See also: sphincs_plus_haraka_192s_robust_keypair/0, sphincs_plus_haraka_192s_robust_sign/2, sphincs_plus_haraka_192s_robust_verify/3.

Link to this function

sphincs_plus_haraka_192s_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_192s_robust_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_192s_robust_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_192s_robust_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_192s_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-192s-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_haraka_192s_robust_keypair/0 or sphincs_plus_haraka_192s_robust_keypair/1.

Signature is a binary of maximum size 16,224-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_192s_robust_sign(Msg, SK).

See also: sphincs_plus_haraka_192s_robust_verify/3.

Link to this function

sphincs_plus_haraka_192s_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_192s_robust_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_192s_robust_signature(),
                                              Message :: sphincs_plus_haraka_192s_robust_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_192s_robust_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_192s_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-192s-robust Signature Algorithm.

Signature is a binary of maximum size 16,224-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_haraka_192s_robust_keypair/0 or sphincs_plus_haraka_192s_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_192s_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_192s_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_192s_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_192s_robust_sign/2.

Link to this function

sphincs_plus_haraka_192s_simple_info()

View Source
-spec sphincs_plus_haraka_192s_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-192s-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-192s-simple",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 16224,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_haraka_192s_simple_info()

See also: sphincs_plus_haraka_192s_simple_keypair/0, sphincs_plus_haraka_192s_simple_keypair/1, sphincs_plus_haraka_192s_simple_sign/2, sphincs_plus_haraka_192s_simple_verify/3.

Link to this function

sphincs_plus_haraka_192s_simple_keypair()

View Source
-spec sphincs_plus_haraka_192s_simple_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_192s_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_192s_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-192s-simple Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192s_simple_keypair().

See also: sphincs_plus_haraka_192s_simple_keypair/1, sphincs_plus_haraka_192s_simple_sign/2, sphincs_plus_haraka_192s_simple_verify/3.

Link to this function

sphincs_plus_haraka_192s_simple_keypair(Seed)

View Source
-spec sphincs_plus_haraka_192s_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_192s_simple_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_192s_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_192s_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-192s-simple Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_192s_simple_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_192s_simple_keypair(Seed).

See also: sphincs_plus_haraka_192s_simple_keypair/0, sphincs_plus_haraka_192s_simple_sign/2, sphincs_plus_haraka_192s_simple_verify/3.

Link to this function

sphincs_plus_haraka_192s_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_192s_simple_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_192s_simple_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_192s_simple_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_192s_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-192s-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_haraka_192s_simple_keypair/0 or sphincs_plus_haraka_192s_simple_keypair/1.

Signature is a binary of maximum size 16,224-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_192s_simple_sign(Msg, SK).

See also: sphincs_plus_haraka_192s_simple_verify/3.

Link to this function

sphincs_plus_haraka_192s_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_192s_simple_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_192s_simple_signature(),
                                              Message :: sphincs_plus_haraka_192s_simple_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_192s_simple_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_192s_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-192s-simple Signature Algorithm.

Signature is a binary of maximum size 16,224-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_haraka_192s_simple_keypair/0 or sphincs_plus_haraka_192s_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_192s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_192s_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_192s_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_192s_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_192s_simple_sign/2.

Link to this function

sphincs_plus_haraka_256f_robust_info()

View Source
-spec sphincs_plus_haraka_256f_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-256f-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-256f-robust",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 49856,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_haraka_256f_robust_info()

See also: sphincs_plus_haraka_256f_robust_keypair/0, sphincs_plus_haraka_256f_robust_keypair/1, sphincs_plus_haraka_256f_robust_sign/2, sphincs_plus_haraka_256f_robust_verify/3.

Link to this function

sphincs_plus_haraka_256f_robust_keypair()

View Source
-spec sphincs_plus_haraka_256f_robust_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_256f_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_256f_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-256f-robust Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256f_robust_keypair().

See also: sphincs_plus_haraka_256f_robust_keypair/1, sphincs_plus_haraka_256f_robust_sign/2, sphincs_plus_haraka_256f_robust_verify/3.

Link to this function

sphincs_plus_haraka_256f_robust_keypair(Seed)

View Source
-spec sphincs_plus_haraka_256f_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_256f_robust_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_256f_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_256f_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-256f-robust Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_256f_robust_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_256f_robust_keypair(Seed).

See also: sphincs_plus_haraka_256f_robust_keypair/0, sphincs_plus_haraka_256f_robust_sign/2, sphincs_plus_haraka_256f_robust_verify/3.

Link to this function

sphincs_plus_haraka_256f_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_256f_robust_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_256f_robust_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_256f_robust_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_256f_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-256f-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_haraka_256f_robust_keypair/0 or sphincs_plus_haraka_256f_robust_keypair/1.

Signature is a binary of maximum size 49,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_256f_robust_sign(Msg, SK).

See also: sphincs_plus_haraka_256f_robust_verify/3.

Link to this function

sphincs_plus_haraka_256f_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_256f_robust_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_256f_robust_signature(),
                                              Message :: sphincs_plus_haraka_256f_robust_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_256f_robust_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_256f_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-256f-robust Signature Algorithm.

Signature is a binary of maximum size 49,856-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_haraka_256f_robust_keypair/0 or sphincs_plus_haraka_256f_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_256f_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_256f_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_256f_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_256f_robust_sign/2.

Link to this function

sphincs_plus_haraka_256f_simple_info()

View Source
-spec sphincs_plus_haraka_256f_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-256f-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-256f-simple",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 49856,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_haraka_256f_simple_info()

See also: sphincs_plus_haraka_256f_simple_keypair/0, sphincs_plus_haraka_256f_simple_keypair/1, sphincs_plus_haraka_256f_simple_sign/2, sphincs_plus_haraka_256f_simple_verify/3.

Link to this function

sphincs_plus_haraka_256f_simple_keypair()

View Source
-spec sphincs_plus_haraka_256f_simple_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_256f_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_256f_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-256f-simple Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256f_simple_keypair().

See also: sphincs_plus_haraka_256f_simple_keypair/1, sphincs_plus_haraka_256f_simple_sign/2, sphincs_plus_haraka_256f_simple_verify/3.

Link to this function

sphincs_plus_haraka_256f_simple_keypair(Seed)

View Source
-spec sphincs_plus_haraka_256f_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_256f_simple_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_256f_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_256f_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-256f-simple Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_256f_simple_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_256f_simple_keypair(Seed).

See also: sphincs_plus_haraka_256f_simple_keypair/0, sphincs_plus_haraka_256f_simple_sign/2, sphincs_plus_haraka_256f_simple_verify/3.

Link to this function

sphincs_plus_haraka_256f_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_256f_simple_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_256f_simple_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_256f_simple_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_256f_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-256f-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_haraka_256f_simple_keypair/0 or sphincs_plus_haraka_256f_simple_keypair/1.

Signature is a binary of maximum size 49,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_256f_simple_sign(Msg, SK).

See also: sphincs_plus_haraka_256f_simple_verify/3.

Link to this function

sphincs_plus_haraka_256f_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_256f_simple_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_256f_simple_signature(),
                                              Message :: sphincs_plus_haraka_256f_simple_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_256f_simple_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_256f_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-256f-simple Signature Algorithm.

Signature is a binary of maximum size 49,856-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_haraka_256f_simple_keypair/0 or sphincs_plus_haraka_256f_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_256f_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_256f_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_256f_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_256f_simple_sign/2.

Link to this function

sphincs_plus_haraka_256s_robust_info()

View Source
-spec sphincs_plus_haraka_256s_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-256s-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-256s-robust",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 29792,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_haraka_256s_robust_info()

See also: sphincs_plus_haraka_256s_robust_keypair/0, sphincs_plus_haraka_256s_robust_keypair/1, sphincs_plus_haraka_256s_robust_sign/2, sphincs_plus_haraka_256s_robust_verify/3.

Link to this function

sphincs_plus_haraka_256s_robust_keypair()

View Source
-spec sphincs_plus_haraka_256s_robust_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_256s_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_256s_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-256s-robust Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256s_robust_keypair().

See also: sphincs_plus_haraka_256s_robust_keypair/1, sphincs_plus_haraka_256s_robust_sign/2, sphincs_plus_haraka_256s_robust_verify/3.

Link to this function

sphincs_plus_haraka_256s_robust_keypair(Seed)

View Source
-spec sphincs_plus_haraka_256s_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_256s_robust_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_256s_robust_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_256s_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-256s-robust Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_256s_robust_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_256s_robust_keypair(Seed).

See also: sphincs_plus_haraka_256s_robust_keypair/0, sphincs_plus_haraka_256s_robust_sign/2, sphincs_plus_haraka_256s_robust_verify/3.

Link to this function

sphincs_plus_haraka_256s_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_256s_robust_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_256s_robust_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_256s_robust_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_256s_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-256s-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_haraka_256s_robust_keypair/0 or sphincs_plus_haraka_256s_robust_keypair/1.

Signature is a binary of maximum size 29,792-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_256s_robust_sign(Msg, SK).

See also: sphincs_plus_haraka_256s_robust_verify/3.

Link to this function

sphincs_plus_haraka_256s_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_256s_robust_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_256s_robust_signature(),
                                              Message :: sphincs_plus_haraka_256s_robust_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_256s_robust_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_256s_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-256s-robust Signature Algorithm.

Signature is a binary of maximum size 29,792-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_haraka_256s_robust_keypair/0 or sphincs_plus_haraka_256s_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_256s_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_256s_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_256s_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_256s_robust_sign/2.

Link to this function

sphincs_plus_haraka_256s_simple_info()

View Source
-spec sphincs_plus_haraka_256s_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-haraka-256s-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-haraka-256s-simple",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 29792,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_haraka_256s_simple_info()

See also: sphincs_plus_haraka_256s_simple_keypair/0, sphincs_plus_haraka_256s_simple_keypair/1, sphincs_plus_haraka_256s_simple_sign/2, sphincs_plus_haraka_256s_simple_verify/3.

Link to this function

sphincs_plus_haraka_256s_simple_keypair()

View Source
-spec sphincs_plus_haraka_256s_simple_keypair() -> {PublicKey, SecretKey}
                                           when
                                               PublicKey ::
                                                   sphincs_plus_haraka_256s_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_256s_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-haraka-256s-simple Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256s_simple_keypair().

See also: sphincs_plus_haraka_256s_simple_keypair/1, sphincs_plus_haraka_256s_simple_sign/2, sphincs_plus_haraka_256s_simple_verify/3.

Link to this function

sphincs_plus_haraka_256s_simple_keypair(Seed)

View Source
-spec sphincs_plus_haraka_256s_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                           when
                                               Seed :: sphincs_plus_haraka_256s_simple_seed(),
                                               PublicKey ::
                                                   sphincs_plus_haraka_256s_simple_public_key(),
                                               SecretKey ::
                                                   sphincs_plus_haraka_256s_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-haraka-256s-simple Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_haraka_256s_simple_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_haraka_256s_simple_keypair(Seed).

See also: sphincs_plus_haraka_256s_simple_keypair/0, sphincs_plus_haraka_256s_simple_sign/2, sphincs_plus_haraka_256s_simple_verify/3.

Link to this function

sphincs_plus_haraka_256s_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_haraka_256s_simple_sign(Message, SecretKey) -> Signature
                                        when
                                            Message :: sphincs_plus_haraka_256s_simple_message(),
                                            SecretKey ::
                                                sphincs_plus_haraka_256s_simple_secret_key(),
                                            Signature ::
                                                sphincs_plus_haraka_256s_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-haraka-256s-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_haraka_256s_simple_keypair/0 or sphincs_plus_haraka_256s_simple_keypair/1.

Signature is a binary of maximum size 29,792-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_256s_simple_sign(Msg, SK).

See also: sphincs_plus_haraka_256s_simple_verify/3.

Link to this function

sphincs_plus_haraka_256s_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_haraka_256s_simple_verify(Signature, Message, PublicKey) -> Verification
                                          when
                                              Signature ::
                                                  sphincs_plus_haraka_256s_simple_signature(),
                                              Message :: sphincs_plus_haraka_256s_simple_message(),
                                              PublicKey ::
                                                  sphincs_plus_haraka_256s_simple_public_key(),
                                              Verification ::
                                                  sphincs_plus_haraka_256s_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-haraka-256s-simple Signature Algorithm.

Signature is a binary of maximum size 29,792-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_haraka_256s_simple_keypair/0 or sphincs_plus_haraka_256s_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_haraka_256s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_haraka_256s_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_haraka_256s_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_haraka_256s_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_haraka_256s_simple_sign/2.

Link to this function

sphincs_plus_sha2_128f_robust_info()

View Source
-spec sphincs_plus_sha2_128f_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-128f-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-128f-robust",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 17088,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_sha2_128f_robust_info()

See also: sphincs_plus_sha2_128f_robust_keypair/0, sphincs_plus_sha2_128f_robust_keypair/1, sphincs_plus_sha2_128f_robust_sign/2, sphincs_plus_sha2_128f_robust_verify/3.

Link to this function

sphincs_plus_sha2_128f_robust_keypair()

View Source
-spec sphincs_plus_sha2_128f_robust_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_128f_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_128f_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-128f-robust Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128f_robust_keypair().

See also: sphincs_plus_sha2_128f_robust_keypair/1, sphincs_plus_sha2_128f_robust_sign/2, sphincs_plus_sha2_128f_robust_verify/3.

Link to this function

sphincs_plus_sha2_128f_robust_keypair(Seed)

View Source
-spec sphincs_plus_sha2_128f_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_128f_robust_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_128f_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_128f_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-128f-robust Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_128f_robust_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_128f_robust_keypair(Seed).

See also: sphincs_plus_sha2_128f_robust_keypair/0, sphincs_plus_sha2_128f_robust_sign/2, sphincs_plus_sha2_128f_robust_verify/3.

Link to this function

sphincs_plus_sha2_128f_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_128f_robust_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_128f_robust_message(),
                                          SecretKey :: sphincs_plus_sha2_128f_robust_secret_key(),
                                          Signature :: sphincs_plus_sha2_128f_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-128f-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_sha2_128f_robust_keypair/0 or sphincs_plus_sha2_128f_robust_keypair/1.

Signature is a binary of maximum size 17,088-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_128f_robust_sign(Msg, SK).

See also: sphincs_plus_sha2_128f_robust_verify/3.

Link to this function

sphincs_plus_sha2_128f_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_128f_robust_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_128f_robust_signature(),
                                            Message :: sphincs_plus_sha2_128f_robust_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_128f_robust_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_128f_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-128f-robust Signature Algorithm.

Signature is a binary of maximum size 17,088-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_sha2_128f_robust_keypair/0 or sphincs_plus_sha2_128f_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_128f_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_128f_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_128f_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_128f_robust_sign/2.

Link to this function

sphincs_plus_sha2_128f_simple_info()

View Source
-spec sphincs_plus_sha2_128f_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-128f-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-128f-simple",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 17088,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_sha2_128f_simple_info()

See also: sphincs_plus_sha2_128f_simple_keypair/0, sphincs_plus_sha2_128f_simple_keypair/1, sphincs_plus_sha2_128f_simple_sign/2, sphincs_plus_sha2_128f_simple_verify/3.

Link to this function

sphincs_plus_sha2_128f_simple_keypair()

View Source
-spec sphincs_plus_sha2_128f_simple_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_128f_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_128f_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-128f-simple Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128f_simple_keypair().

See also: sphincs_plus_sha2_128f_simple_keypair/1, sphincs_plus_sha2_128f_simple_sign/2, sphincs_plus_sha2_128f_simple_verify/3.

Link to this function

sphincs_plus_sha2_128f_simple_keypair(Seed)

View Source
-spec sphincs_plus_sha2_128f_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_128f_simple_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_128f_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_128f_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-128f-simple Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_128f_simple_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_128f_simple_keypair(Seed).

See also: sphincs_plus_sha2_128f_simple_keypair/0, sphincs_plus_sha2_128f_simple_sign/2, sphincs_plus_sha2_128f_simple_verify/3.

Link to this function

sphincs_plus_sha2_128f_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_128f_simple_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_128f_simple_message(),
                                          SecretKey :: sphincs_plus_sha2_128f_simple_secret_key(),
                                          Signature :: sphincs_plus_sha2_128f_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-128f-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_sha2_128f_simple_keypair/0 or sphincs_plus_sha2_128f_simple_keypair/1.

Signature is a binary of maximum size 17,088-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_128f_simple_sign(Msg, SK).

See also: sphincs_plus_sha2_128f_simple_verify/3.

Link to this function

sphincs_plus_sha2_128f_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_128f_simple_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_128f_simple_signature(),
                                            Message :: sphincs_plus_sha2_128f_simple_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_128f_simple_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_128f_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-128f-simple Signature Algorithm.

Signature is a binary of maximum size 17,088-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_sha2_128f_simple_keypair/0 or sphincs_plus_sha2_128f_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_128f_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_128f_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_128f_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_128f_simple_sign/2.

Link to this function

sphincs_plus_sha2_128s_robust_info()

View Source
-spec sphincs_plus_sha2_128s_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-128s-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-128s-robust",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 7856,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_sha2_128s_robust_info()

See also: sphincs_plus_sha2_128s_robust_keypair/0, sphincs_plus_sha2_128s_robust_keypair/1, sphincs_plus_sha2_128s_robust_sign/2, sphincs_plus_sha2_128s_robust_verify/3.

Link to this function

sphincs_plus_sha2_128s_robust_keypair()

View Source
-spec sphincs_plus_sha2_128s_robust_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_128s_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_128s_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-128s-robust Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128s_robust_keypair().

See also: sphincs_plus_sha2_128s_robust_keypair/1, sphincs_plus_sha2_128s_robust_sign/2, sphincs_plus_sha2_128s_robust_verify/3.

Link to this function

sphincs_plus_sha2_128s_robust_keypair(Seed)

View Source
-spec sphincs_plus_sha2_128s_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_128s_robust_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_128s_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_128s_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-128s-robust Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_128s_robust_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_128s_robust_keypair(Seed).

See also: sphincs_plus_sha2_128s_robust_keypair/0, sphincs_plus_sha2_128s_robust_sign/2, sphincs_plus_sha2_128s_robust_verify/3.

Link to this function

sphincs_plus_sha2_128s_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_128s_robust_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_128s_robust_message(),
                                          SecretKey :: sphincs_plus_sha2_128s_robust_secret_key(),
                                          Signature :: sphincs_plus_sha2_128s_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-128s-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_sha2_128s_robust_keypair/0 or sphincs_plus_sha2_128s_robust_keypair/1.

Signature is a binary of maximum size 7,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_128s_robust_sign(Msg, SK).

See also: sphincs_plus_sha2_128s_robust_verify/3.

Link to this function

sphincs_plus_sha2_128s_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_128s_robust_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_128s_robust_signature(),
                                            Message :: sphincs_plus_sha2_128s_robust_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_128s_robust_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_128s_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-128s-robust Signature Algorithm.

Signature is a binary of maximum size 7,856-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_sha2_128s_robust_keypair/0 or sphincs_plus_sha2_128s_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_128s_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_128s_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_128s_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_128s_robust_sign/2.

Link to this function

sphincs_plus_sha2_128s_simple_info()

View Source
-spec sphincs_plus_sha2_128s_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-128s-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-128s-simple",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 7856,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_sha2_128s_simple_info()

See also: sphincs_plus_sha2_128s_simple_keypair/0, sphincs_plus_sha2_128s_simple_keypair/1, sphincs_plus_sha2_128s_simple_sign/2, sphincs_plus_sha2_128s_simple_verify/3.

Link to this function

sphincs_plus_sha2_128s_simple_keypair()

View Source
-spec sphincs_plus_sha2_128s_simple_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_128s_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_128s_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-128s-simple Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128s_simple_keypair().

See also: sphincs_plus_sha2_128s_simple_keypair/1, sphincs_plus_sha2_128s_simple_sign/2, sphincs_plus_sha2_128s_simple_verify/3.

Link to this function

sphincs_plus_sha2_128s_simple_keypair(Seed)

View Source
-spec sphincs_plus_sha2_128s_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_128s_simple_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_128s_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_128s_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-128s-simple Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_128s_simple_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_128s_simple_keypair(Seed).

See also: sphincs_plus_sha2_128s_simple_keypair/0, sphincs_plus_sha2_128s_simple_sign/2, sphincs_plus_sha2_128s_simple_verify/3.

Link to this function

sphincs_plus_sha2_128s_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_128s_simple_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_128s_simple_message(),
                                          SecretKey :: sphincs_plus_sha2_128s_simple_secret_key(),
                                          Signature :: sphincs_plus_sha2_128s_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-128s-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_sha2_128s_simple_keypair/0 or sphincs_plus_sha2_128s_simple_keypair/1.

Signature is a binary of maximum size 7,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_128s_simple_sign(Msg, SK).

See also: sphincs_plus_sha2_128s_simple_verify/3.

Link to this function

sphincs_plus_sha2_128s_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_128s_simple_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_128s_simple_signature(),
                                            Message :: sphincs_plus_sha2_128s_simple_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_128s_simple_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_128s_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-128s-simple Signature Algorithm.

Signature is a binary of maximum size 7,856-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_sha2_128s_simple_keypair/0 or sphincs_plus_sha2_128s_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_128s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_128s_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_128s_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_128s_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_128s_simple_sign/2.

Link to this function

sphincs_plus_sha2_192f_robust_info()

View Source
-spec sphincs_plus_sha2_192f_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-192f-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-192f-robust",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 35664,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_sha2_192f_robust_info()

See also: sphincs_plus_sha2_192f_robust_keypair/0, sphincs_plus_sha2_192f_robust_keypair/1, sphincs_plus_sha2_192f_robust_sign/2, sphincs_plus_sha2_192f_robust_verify/3.

Link to this function

sphincs_plus_sha2_192f_robust_keypair()

View Source
-spec sphincs_plus_sha2_192f_robust_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_192f_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_192f_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-192f-robust Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192f_robust_keypair().

See also: sphincs_plus_sha2_192f_robust_keypair/1, sphincs_plus_sha2_192f_robust_sign/2, sphincs_plus_sha2_192f_robust_verify/3.

Link to this function

sphincs_plus_sha2_192f_robust_keypair(Seed)

View Source
-spec sphincs_plus_sha2_192f_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_192f_robust_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_192f_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_192f_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-192f-robust Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_192f_robust_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_192f_robust_keypair(Seed).

See also: sphincs_plus_sha2_192f_robust_keypair/0, sphincs_plus_sha2_192f_robust_sign/2, sphincs_plus_sha2_192f_robust_verify/3.

Link to this function

sphincs_plus_sha2_192f_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_192f_robust_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_192f_robust_message(),
                                          SecretKey :: sphincs_plus_sha2_192f_robust_secret_key(),
                                          Signature :: sphincs_plus_sha2_192f_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-192f-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_sha2_192f_robust_keypair/0 or sphincs_plus_sha2_192f_robust_keypair/1.

Signature is a binary of maximum size 35,664-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_192f_robust_sign(Msg, SK).

See also: sphincs_plus_sha2_192f_robust_verify/3.

Link to this function

sphincs_plus_sha2_192f_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_192f_robust_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_192f_robust_signature(),
                                            Message :: sphincs_plus_sha2_192f_robust_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_192f_robust_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_192f_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-192f-robust Signature Algorithm.

Signature is a binary of maximum size 35,664-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_sha2_192f_robust_keypair/0 or sphincs_plus_sha2_192f_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_192f_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_192f_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_192f_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_192f_robust_sign/2.

Link to this function

sphincs_plus_sha2_192f_simple_info()

View Source
-spec sphincs_plus_sha2_192f_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-192f-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-192f-simple",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 35664,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_sha2_192f_simple_info()

See also: sphincs_plus_sha2_192f_simple_keypair/0, sphincs_plus_sha2_192f_simple_keypair/1, sphincs_plus_sha2_192f_simple_sign/2, sphincs_plus_sha2_192f_simple_verify/3.

Link to this function

sphincs_plus_sha2_192f_simple_keypair()

View Source
-spec sphincs_plus_sha2_192f_simple_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_192f_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_192f_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-192f-simple Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192f_simple_keypair().

See also: sphincs_plus_sha2_192f_simple_keypair/1, sphincs_plus_sha2_192f_simple_sign/2, sphincs_plus_sha2_192f_simple_verify/3.

Link to this function

sphincs_plus_sha2_192f_simple_keypair(Seed)

View Source
-spec sphincs_plus_sha2_192f_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_192f_simple_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_192f_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_192f_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-192f-simple Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_192f_simple_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_192f_simple_keypair(Seed).

See also: sphincs_plus_sha2_192f_simple_keypair/0, sphincs_plus_sha2_192f_simple_sign/2, sphincs_plus_sha2_192f_simple_verify/3.

Link to this function

sphincs_plus_sha2_192f_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_192f_simple_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_192f_simple_message(),
                                          SecretKey :: sphincs_plus_sha2_192f_simple_secret_key(),
                                          Signature :: sphincs_plus_sha2_192f_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-192f-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_sha2_192f_simple_keypair/0 or sphincs_plus_sha2_192f_simple_keypair/1.

Signature is a binary of maximum size 35,664-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_192f_simple_sign(Msg, SK).

See also: sphincs_plus_sha2_192f_simple_verify/3.

Link to this function

sphincs_plus_sha2_192f_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_192f_simple_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_192f_simple_signature(),
                                            Message :: sphincs_plus_sha2_192f_simple_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_192f_simple_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_192f_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-192f-simple Signature Algorithm.

Signature is a binary of maximum size 35,664-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_sha2_192f_simple_keypair/0 or sphincs_plus_sha2_192f_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_192f_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_192f_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_192f_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_192f_simple_sign/2.

Link to this function

sphincs_plus_sha2_192s_robust_info()

View Source
-spec sphincs_plus_sha2_192s_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-192s-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-192s-robust",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 16224,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_sha2_192s_robust_info()

See also: sphincs_plus_sha2_192s_robust_keypair/0, sphincs_plus_sha2_192s_robust_keypair/1, sphincs_plus_sha2_192s_robust_sign/2, sphincs_plus_sha2_192s_robust_verify/3.

Link to this function

sphincs_plus_sha2_192s_robust_keypair()

View Source
-spec sphincs_plus_sha2_192s_robust_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_192s_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_192s_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-192s-robust Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192s_robust_keypair().

See also: sphincs_plus_sha2_192s_robust_keypair/1, sphincs_plus_sha2_192s_robust_sign/2, sphincs_plus_sha2_192s_robust_verify/3.

Link to this function

sphincs_plus_sha2_192s_robust_keypair(Seed)

View Source
-spec sphincs_plus_sha2_192s_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_192s_robust_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_192s_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_192s_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-192s-robust Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_192s_robust_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_192s_robust_keypair(Seed).

See also: sphincs_plus_sha2_192s_robust_keypair/0, sphincs_plus_sha2_192s_robust_sign/2, sphincs_plus_sha2_192s_robust_verify/3.

Link to this function

sphincs_plus_sha2_192s_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_192s_robust_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_192s_robust_message(),
                                          SecretKey :: sphincs_plus_sha2_192s_robust_secret_key(),
                                          Signature :: sphincs_plus_sha2_192s_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-192s-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_sha2_192s_robust_keypair/0 or sphincs_plus_sha2_192s_robust_keypair/1.

Signature is a binary of maximum size 16,224-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_192s_robust_sign(Msg, SK).

See also: sphincs_plus_sha2_192s_robust_verify/3.

Link to this function

sphincs_plus_sha2_192s_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_192s_robust_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_192s_robust_signature(),
                                            Message :: sphincs_plus_sha2_192s_robust_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_192s_robust_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_192s_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-192s-robust Signature Algorithm.

Signature is a binary of maximum size 16,224-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_sha2_192s_robust_keypair/0 or sphincs_plus_sha2_192s_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_192s_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_192s_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_192s_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_192s_robust_sign/2.

Link to this function

sphincs_plus_sha2_192s_simple_info()

View Source
-spec sphincs_plus_sha2_192s_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-192s-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-192s-simple",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 16224,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_sha2_192s_simple_info()

See also: sphincs_plus_sha2_192s_simple_keypair/0, sphincs_plus_sha2_192s_simple_keypair/1, sphincs_plus_sha2_192s_simple_sign/2, sphincs_plus_sha2_192s_simple_verify/3.

Link to this function

sphincs_plus_sha2_192s_simple_keypair()

View Source
-spec sphincs_plus_sha2_192s_simple_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_192s_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_192s_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-192s-simple Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192s_simple_keypair().

See also: sphincs_plus_sha2_192s_simple_keypair/1, sphincs_plus_sha2_192s_simple_sign/2, sphincs_plus_sha2_192s_simple_verify/3.

Link to this function

sphincs_plus_sha2_192s_simple_keypair(Seed)

View Source
-spec sphincs_plus_sha2_192s_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_192s_simple_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_192s_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_192s_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-192s-simple Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_192s_simple_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_192s_simple_keypair(Seed).

See also: sphincs_plus_sha2_192s_simple_keypair/0, sphincs_plus_sha2_192s_simple_sign/2, sphincs_plus_sha2_192s_simple_verify/3.

Link to this function

sphincs_plus_sha2_192s_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_192s_simple_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_192s_simple_message(),
                                          SecretKey :: sphincs_plus_sha2_192s_simple_secret_key(),
                                          Signature :: sphincs_plus_sha2_192s_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-192s-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_sha2_192s_simple_keypair/0 or sphincs_plus_sha2_192s_simple_keypair/1.

Signature is a binary of maximum size 16,224-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_192s_simple_sign(Msg, SK).

See also: sphincs_plus_sha2_192s_simple_verify/3.

Link to this function

sphincs_plus_sha2_192s_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_192s_simple_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_192s_simple_signature(),
                                            Message :: sphincs_plus_sha2_192s_simple_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_192s_simple_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_192s_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-192s-simple Signature Algorithm.

Signature is a binary of maximum size 16,224-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_sha2_192s_simple_keypair/0 or sphincs_plus_sha2_192s_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_192s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_192s_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_192s_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_192s_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_192s_simple_sign/2.

Link to this function

sphincs_plus_sha2_256f_robust_info()

View Source
-spec sphincs_plus_sha2_256f_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-256f-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-256f-robust",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 49856,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_sha2_256f_robust_info()

See also: sphincs_plus_sha2_256f_robust_keypair/0, sphincs_plus_sha2_256f_robust_keypair/1, sphincs_plus_sha2_256f_robust_sign/2, sphincs_plus_sha2_256f_robust_verify/3.

Link to this function

sphincs_plus_sha2_256f_robust_keypair()

View Source
-spec sphincs_plus_sha2_256f_robust_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_256f_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_256f_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-256f-robust Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256f_robust_keypair().

See also: sphincs_plus_sha2_256f_robust_keypair/1, sphincs_plus_sha2_256f_robust_sign/2, sphincs_plus_sha2_256f_robust_verify/3.

Link to this function

sphincs_plus_sha2_256f_robust_keypair(Seed)

View Source
-spec sphincs_plus_sha2_256f_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_256f_robust_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_256f_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_256f_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-256f-robust Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_256f_robust_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_256f_robust_keypair(Seed).

See also: sphincs_plus_sha2_256f_robust_keypair/0, sphincs_plus_sha2_256f_robust_sign/2, sphincs_plus_sha2_256f_robust_verify/3.

Link to this function

sphincs_plus_sha2_256f_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_256f_robust_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_256f_robust_message(),
                                          SecretKey :: sphincs_plus_sha2_256f_robust_secret_key(),
                                          Signature :: sphincs_plus_sha2_256f_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-256f-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_sha2_256f_robust_keypair/0 or sphincs_plus_sha2_256f_robust_keypair/1.

Signature is a binary of maximum size 49,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_256f_robust_sign(Msg, SK).

See also: sphincs_plus_sha2_256f_robust_verify/3.

Link to this function

sphincs_plus_sha2_256f_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_256f_robust_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_256f_robust_signature(),
                                            Message :: sphincs_plus_sha2_256f_robust_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_256f_robust_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_256f_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-256f-robust Signature Algorithm.

Signature is a binary of maximum size 49,856-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_sha2_256f_robust_keypair/0 or sphincs_plus_sha2_256f_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_256f_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_256f_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_256f_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_256f_robust_sign/2.

Link to this function

sphincs_plus_sha2_256f_simple_info()

View Source
-spec sphincs_plus_sha2_256f_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-256f-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-256f-simple",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 49856,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_sha2_256f_simple_info()

See also: sphincs_plus_sha2_256f_simple_keypair/0, sphincs_plus_sha2_256f_simple_keypair/1, sphincs_plus_sha2_256f_simple_sign/2, sphincs_plus_sha2_256f_simple_verify/3.

Link to this function

sphincs_plus_sha2_256f_simple_keypair()

View Source
-spec sphincs_plus_sha2_256f_simple_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_256f_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_256f_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-256f-simple Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256f_simple_keypair().

See also: sphincs_plus_sha2_256f_simple_keypair/1, sphincs_plus_sha2_256f_simple_sign/2, sphincs_plus_sha2_256f_simple_verify/3.

Link to this function

sphincs_plus_sha2_256f_simple_keypair(Seed)

View Source
-spec sphincs_plus_sha2_256f_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_256f_simple_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_256f_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_256f_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-256f-simple Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_256f_simple_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_256f_simple_keypair(Seed).

See also: sphincs_plus_sha2_256f_simple_keypair/0, sphincs_plus_sha2_256f_simple_sign/2, sphincs_plus_sha2_256f_simple_verify/3.

Link to this function

sphincs_plus_sha2_256f_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_256f_simple_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_256f_simple_message(),
                                          SecretKey :: sphincs_plus_sha2_256f_simple_secret_key(),
                                          Signature :: sphincs_plus_sha2_256f_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-256f-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_sha2_256f_simple_keypair/0 or sphincs_plus_sha2_256f_simple_keypair/1.

Signature is a binary of maximum size 49,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_256f_simple_sign(Msg, SK).

See also: sphincs_plus_sha2_256f_simple_verify/3.

Link to this function

sphincs_plus_sha2_256f_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_256f_simple_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_256f_simple_signature(),
                                            Message :: sphincs_plus_sha2_256f_simple_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_256f_simple_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_256f_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-256f-simple Signature Algorithm.

Signature is a binary of maximum size 49,856-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_sha2_256f_simple_keypair/0 or sphincs_plus_sha2_256f_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_256f_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_256f_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_256f_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_256f_simple_sign/2.

Link to this function

sphincs_plus_sha2_256s_robust_info()

View Source
-spec sphincs_plus_sha2_256s_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-256s-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-256s-robust",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 29792,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_sha2_256s_robust_info()

See also: sphincs_plus_sha2_256s_robust_keypair/0, sphincs_plus_sha2_256s_robust_keypair/1, sphincs_plus_sha2_256s_robust_sign/2, sphincs_plus_sha2_256s_robust_verify/3.

Link to this function

sphincs_plus_sha2_256s_robust_keypair()

View Source
-spec sphincs_plus_sha2_256s_robust_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_256s_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_256s_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-256s-robust Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256s_robust_keypair().

See also: sphincs_plus_sha2_256s_robust_keypair/1, sphincs_plus_sha2_256s_robust_sign/2, sphincs_plus_sha2_256s_robust_verify/3.

Link to this function

sphincs_plus_sha2_256s_robust_keypair(Seed)

View Source
-spec sphincs_plus_sha2_256s_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_256s_robust_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_256s_robust_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_256s_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-256s-robust Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_256s_robust_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_256s_robust_keypair(Seed).

See also: sphincs_plus_sha2_256s_robust_keypair/0, sphincs_plus_sha2_256s_robust_sign/2, sphincs_plus_sha2_256s_robust_verify/3.

Link to this function

sphincs_plus_sha2_256s_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_256s_robust_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_256s_robust_message(),
                                          SecretKey :: sphincs_plus_sha2_256s_robust_secret_key(),
                                          Signature :: sphincs_plus_sha2_256s_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-256s-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_sha2_256s_robust_keypair/0 or sphincs_plus_sha2_256s_robust_keypair/1.

Signature is a binary of maximum size 29,792-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_256s_robust_sign(Msg, SK).

See also: sphincs_plus_sha2_256s_robust_verify/3.

Link to this function

sphincs_plus_sha2_256s_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_256s_robust_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_256s_robust_signature(),
                                            Message :: sphincs_plus_sha2_256s_robust_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_256s_robust_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_256s_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-256s-robust Signature Algorithm.

Signature is a binary of maximum size 29,792-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_sha2_256s_robust_keypair/0 or sphincs_plus_sha2_256s_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_256s_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_256s_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_256s_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_256s_robust_sign/2.

Link to this function

sphincs_plus_sha2_256s_simple_info()

View Source
-spec sphincs_plus_sha2_256s_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-sha2-256s-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-sha2-256s-simple",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 29792,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_sha2_256s_simple_info()

See also: sphincs_plus_sha2_256s_simple_keypair/0, sphincs_plus_sha2_256s_simple_keypair/1, sphincs_plus_sha2_256s_simple_sign/2, sphincs_plus_sha2_256s_simple_verify/3.

Link to this function

sphincs_plus_sha2_256s_simple_keypair()

View Source
-spec sphincs_plus_sha2_256s_simple_keypair() -> {PublicKey, SecretKey}
                                         when
                                             PublicKey ::
                                                 sphincs_plus_sha2_256s_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_256s_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-sha2-256s-simple Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256s_simple_keypair().

See also: sphincs_plus_sha2_256s_simple_keypair/1, sphincs_plus_sha2_256s_simple_sign/2, sphincs_plus_sha2_256s_simple_verify/3.

Link to this function

sphincs_plus_sha2_256s_simple_keypair(Seed)

View Source
-spec sphincs_plus_sha2_256s_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                         when
                                             Seed :: sphincs_plus_sha2_256s_simple_seed(),
                                             PublicKey ::
                                                 sphincs_plus_sha2_256s_simple_public_key(),
                                             SecretKey ::
                                                 sphincs_plus_sha2_256s_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-sha2-256s-simple Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_sha2_256s_simple_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_sha2_256s_simple_keypair(Seed).

See also: sphincs_plus_sha2_256s_simple_keypair/0, sphincs_plus_sha2_256s_simple_sign/2, sphincs_plus_sha2_256s_simple_verify/3.

Link to this function

sphincs_plus_sha2_256s_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_sha2_256s_simple_sign(Message, SecretKey) -> Signature
                                      when
                                          Message :: sphincs_plus_sha2_256s_simple_message(),
                                          SecretKey :: sphincs_plus_sha2_256s_simple_secret_key(),
                                          Signature :: sphincs_plus_sha2_256s_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-sha2-256s-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_sha2_256s_simple_keypair/0 or sphincs_plus_sha2_256s_simple_keypair/1.

Signature is a binary of maximum size 29,792-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_256s_simple_sign(Msg, SK).

See also: sphincs_plus_sha2_256s_simple_verify/3.

Link to this function

sphincs_plus_sha2_256s_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_sha2_256s_simple_verify(Signature, Message, PublicKey) -> Verification
                                        when
                                            Signature :: sphincs_plus_sha2_256s_simple_signature(),
                                            Message :: sphincs_plus_sha2_256s_simple_message(),
                                            PublicKey ::
                                                sphincs_plus_sha2_256s_simple_public_key(),
                                            Verification ::
                                                sphincs_plus_sha2_256s_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-sha2-256s-simple Signature Algorithm.

Signature is a binary of maximum size 29,792-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_sha2_256s_simple_keypair/0 or sphincs_plus_sha2_256s_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_sha2_256s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_sha2_256s_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_sha2_256s_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_sha2_256s_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_sha2_256s_simple_sign/2.

Link to this function

sphincs_plus_shake_128f_robust_info()

View Source
-spec sphincs_plus_shake_128f_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-128f-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-128f-robust",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 17088,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_shake_128f_robust_info()

See also: sphincs_plus_shake_128f_robust_keypair/0, sphincs_plus_shake_128f_robust_keypair/1, sphincs_plus_shake_128f_robust_sign/2, sphincs_plus_shake_128f_robust_verify/3.

Link to this function

sphincs_plus_shake_128f_robust_keypair()

View Source
-spec sphincs_plus_shake_128f_robust_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_128f_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_128f_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-128f-robust Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_128f_robust_keypair().

See also: sphincs_plus_shake_128f_robust_keypair/1, sphincs_plus_shake_128f_robust_sign/2, sphincs_plus_shake_128f_robust_verify/3.

Link to this function

sphincs_plus_shake_128f_robust_keypair(Seed)

View Source
-spec sphincs_plus_shake_128f_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_128f_robust_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_128f_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_128f_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-128f-robust Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_128f_robust_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_128f_robust_keypair(Seed).

See also: sphincs_plus_shake_128f_robust_keypair/0, sphincs_plus_shake_128f_robust_sign/2, sphincs_plus_shake_128f_robust_verify/3.

Link to this function

sphincs_plus_shake_128f_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_128f_robust_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_128f_robust_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_128f_robust_secret_key(),
                                           Signature :: sphincs_plus_shake_128f_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-128f-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_shake_128f_robust_keypair/0 or sphincs_plus_shake_128f_robust_keypair/1.

Signature is a binary of maximum size 17,088-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_128f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_128f_robust_sign(Msg, SK).

See also: sphincs_plus_shake_128f_robust_verify/3.

Link to this function

sphincs_plus_shake_128f_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_128f_robust_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_128f_robust_signature(),
                                             Message :: sphincs_plus_shake_128f_robust_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_128f_robust_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_128f_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-128f-robust Signature Algorithm.

Signature is a binary of maximum size 17,088-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_shake_128f_robust_keypair/0 or sphincs_plus_shake_128f_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_128f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_128f_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_128f_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_128f_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_128f_robust_sign/2.

Link to this function

sphincs_plus_shake_128f_simple_info()

View Source
-spec sphincs_plus_shake_128f_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-128f-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-128f-simple",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 17088,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_shake_128f_simple_info()

See also: sphincs_plus_shake_128f_simple_keypair/0, sphincs_plus_shake_128f_simple_keypair/1, sphincs_plus_shake_128f_simple_sign/2, sphincs_plus_shake_128f_simple_verify/3.

Link to this function

sphincs_plus_shake_128f_simple_keypair()

View Source
-spec sphincs_plus_shake_128f_simple_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_128f_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_128f_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-128f-simple Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_128f_simple_keypair().

See also: sphincs_plus_shake_128f_simple_keypair/1, sphincs_plus_shake_128f_simple_sign/2, sphincs_plus_shake_128f_simple_verify/3.

Link to this function

sphincs_plus_shake_128f_simple_keypair(Seed)

View Source
-spec sphincs_plus_shake_128f_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_128f_simple_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_128f_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_128f_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-128f-simple Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_128f_simple_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_128f_simple_keypair(Seed).

See also: sphincs_plus_shake_128f_simple_keypair/0, sphincs_plus_shake_128f_simple_sign/2, sphincs_plus_shake_128f_simple_verify/3.

Link to this function

sphincs_plus_shake_128f_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_128f_simple_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_128f_simple_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_128f_simple_secret_key(),
                                           Signature :: sphincs_plus_shake_128f_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-128f-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_shake_128f_simple_keypair/0 or sphincs_plus_shake_128f_simple_keypair/1.

Signature is a binary of maximum size 17,088-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_128f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_128f_simple_sign(Msg, SK).

See also: sphincs_plus_shake_128f_simple_verify/3.

Link to this function

sphincs_plus_shake_128f_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_128f_simple_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_128f_simple_signature(),
                                             Message :: sphincs_plus_shake_128f_simple_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_128f_simple_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_128f_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-128f-simple Signature Algorithm.

Signature is a binary of maximum size 17,088-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_shake_128f_simple_keypair/0 or sphincs_plus_shake_128f_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_128f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_128f_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_128f_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_128f_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_128f_simple_sign/2.

Link to this function

sphincs_plus_shake_128s_robust_info()

View Source
-spec sphincs_plus_shake_128s_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-128s-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-128s-robust",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 7856,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_shake_128s_robust_info()

See also: sphincs_plus_shake_128s_robust_keypair/0, sphincs_plus_shake_128s_robust_keypair/1, sphincs_plus_shake_128s_robust_sign/2, sphincs_plus_shake_128s_robust_verify/3.

Link to this function

sphincs_plus_shake_128s_robust_keypair()

View Source
-spec sphincs_plus_shake_128s_robust_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_128s_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_128s_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-128s-robust Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_128s_robust_keypair().

See also: sphincs_plus_shake_128s_robust_keypair/1, sphincs_plus_shake_128s_robust_sign/2, sphincs_plus_shake_128s_robust_verify/3.

Link to this function

sphincs_plus_shake_128s_robust_keypair(Seed)

View Source
-spec sphincs_plus_shake_128s_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_128s_robust_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_128s_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_128s_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-128s-robust Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_128s_robust_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_128s_robust_keypair(Seed).

See also: sphincs_plus_shake_128s_robust_keypair/0, sphincs_plus_shake_128s_robust_sign/2, sphincs_plus_shake_128s_robust_verify/3.

Link to this function

sphincs_plus_shake_128s_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_128s_robust_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_128s_robust_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_128s_robust_secret_key(),
                                           Signature :: sphincs_plus_shake_128s_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-128s-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_shake_128s_robust_keypair/0 or sphincs_plus_shake_128s_robust_keypair/1.

Signature is a binary of maximum size 7,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_128s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_128s_robust_sign(Msg, SK).

See also: sphincs_plus_shake_128s_robust_verify/3.

Link to this function

sphincs_plus_shake_128s_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_128s_robust_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_128s_robust_signature(),
                                             Message :: sphincs_plus_shake_128s_robust_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_128s_robust_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_128s_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-128s-robust Signature Algorithm.

Signature is a binary of maximum size 7,856-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_shake_128s_robust_keypair/0 or sphincs_plus_shake_128s_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_128s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_128s_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_128s_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_128s_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_128s_robust_sign/2.

Link to this function

sphincs_plus_shake_128s_simple_info()

View Source
-spec sphincs_plus_shake_128s_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-128s-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-128s-simple",
       secretkeybytes := 64,
       publickeybytes := 32,
       signaturebytes := 7856,
       seedbytes := 48
   } = pqclean_nif:sphincs_plus_shake_128s_simple_info()

See also: sphincs_plus_shake_128s_simple_keypair/0, sphincs_plus_shake_128s_simple_keypair/1, sphincs_plus_shake_128s_simple_sign/2, sphincs_plus_shake_128s_simple_verify/3.

Link to this function

sphincs_plus_shake_128s_simple_keypair()

View Source
-spec sphincs_plus_shake_128s_simple_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_128s_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_128s_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-128s-simple Signature Algorithm.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_128s_simple_keypair().

See also: sphincs_plus_shake_128s_simple_keypair/1, sphincs_plus_shake_128s_simple_sign/2, sphincs_plus_shake_128s_simple_verify/3.

Link to this function

sphincs_plus_shake_128s_simple_keypair(Seed)

View Source
-spec sphincs_plus_shake_128s_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_128s_simple_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_128s_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_128s_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-128s-simple Signature Algorithm.

Seed is a binary of size 48-bytes.

PublicKey is a binary of size 32-bytes.

SecretKey is a binary of size 64-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_128s_simple_keypair(<<0:(48 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(48),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_128s_simple_keypair(Seed).

See also: sphincs_plus_shake_128s_simple_keypair/0, sphincs_plus_shake_128s_simple_sign/2, sphincs_plus_shake_128s_simple_verify/3.

Link to this function

sphincs_plus_shake_128s_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_128s_simple_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_128s_simple_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_128s_simple_secret_key(),
                                           Signature :: sphincs_plus_shake_128s_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-128s-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 64-bytes generated from sphincs_plus_shake_128s_simple_keypair/0 or sphincs_plus_shake_128s_simple_keypair/1.

Signature is a binary of maximum size 7,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_128s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_128s_simple_sign(Msg, SK).

See also: sphincs_plus_shake_128s_simple_verify/3.

Link to this function

sphincs_plus_shake_128s_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_128s_simple_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_128s_simple_signature(),
                                             Message :: sphincs_plus_shake_128s_simple_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_128s_simple_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_128s_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-128s-simple Signature Algorithm.

Signature is a binary of maximum size 7,856-bytes.

Message is a binary.

PublicKey is a binary of size 32-bytes generated from sphincs_plus_shake_128s_simple_keypair/0 or sphincs_plus_shake_128s_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_128s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_128s_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_128s_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_128s_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_128s_simple_sign/2.

Link to this function

sphincs_plus_shake_192f_robust_info()

View Source
-spec sphincs_plus_shake_192f_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-192f-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-192f-robust",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 35664,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_shake_192f_robust_info()

See also: sphincs_plus_shake_192f_robust_keypair/0, sphincs_plus_shake_192f_robust_keypair/1, sphincs_plus_shake_192f_robust_sign/2, sphincs_plus_shake_192f_robust_verify/3.

Link to this function

sphincs_plus_shake_192f_robust_keypair()

View Source
-spec sphincs_plus_shake_192f_robust_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_192f_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_192f_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-192f-robust Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_192f_robust_keypair().

See also: sphincs_plus_shake_192f_robust_keypair/1, sphincs_plus_shake_192f_robust_sign/2, sphincs_plus_shake_192f_robust_verify/3.

Link to this function

sphincs_plus_shake_192f_robust_keypair(Seed)

View Source
-spec sphincs_plus_shake_192f_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_192f_robust_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_192f_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_192f_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-192f-robust Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_192f_robust_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_192f_robust_keypair(Seed).

See also: sphincs_plus_shake_192f_robust_keypair/0, sphincs_plus_shake_192f_robust_sign/2, sphincs_plus_shake_192f_robust_verify/3.

Link to this function

sphincs_plus_shake_192f_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_192f_robust_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_192f_robust_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_192f_robust_secret_key(),
                                           Signature :: sphincs_plus_shake_192f_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-192f-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_shake_192f_robust_keypair/0 or sphincs_plus_shake_192f_robust_keypair/1.

Signature is a binary of maximum size 35,664-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_192f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_192f_robust_sign(Msg, SK).

See also: sphincs_plus_shake_192f_robust_verify/3.

Link to this function

sphincs_plus_shake_192f_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_192f_robust_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_192f_robust_signature(),
                                             Message :: sphincs_plus_shake_192f_robust_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_192f_robust_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_192f_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-192f-robust Signature Algorithm.

Signature is a binary of maximum size 35,664-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_shake_192f_robust_keypair/0 or sphincs_plus_shake_192f_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_192f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_192f_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_192f_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_192f_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_192f_robust_sign/2.

Link to this function

sphincs_plus_shake_192f_simple_info()

View Source
-spec sphincs_plus_shake_192f_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-192f-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-192f-simple",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 35664,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_shake_192f_simple_info()

See also: sphincs_plus_shake_192f_simple_keypair/0, sphincs_plus_shake_192f_simple_keypair/1, sphincs_plus_shake_192f_simple_sign/2, sphincs_plus_shake_192f_simple_verify/3.

Link to this function

sphincs_plus_shake_192f_simple_keypair()

View Source
-spec sphincs_plus_shake_192f_simple_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_192f_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_192f_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-192f-simple Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_192f_simple_keypair().

See also: sphincs_plus_shake_192f_simple_keypair/1, sphincs_plus_shake_192f_simple_sign/2, sphincs_plus_shake_192f_simple_verify/3.

Link to this function

sphincs_plus_shake_192f_simple_keypair(Seed)

View Source
-spec sphincs_plus_shake_192f_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_192f_simple_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_192f_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_192f_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-192f-simple Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_192f_simple_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_192f_simple_keypair(Seed).

See also: sphincs_plus_shake_192f_simple_keypair/0, sphincs_plus_shake_192f_simple_sign/2, sphincs_plus_shake_192f_simple_verify/3.

Link to this function

sphincs_plus_shake_192f_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_192f_simple_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_192f_simple_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_192f_simple_secret_key(),
                                           Signature :: sphincs_plus_shake_192f_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-192f-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_shake_192f_simple_keypair/0 or sphincs_plus_shake_192f_simple_keypair/1.

Signature is a binary of maximum size 35,664-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_192f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_192f_simple_sign(Msg, SK).

See also: sphincs_plus_shake_192f_simple_verify/3.

Link to this function

sphincs_plus_shake_192f_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_192f_simple_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_192f_simple_signature(),
                                             Message :: sphincs_plus_shake_192f_simple_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_192f_simple_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_192f_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-192f-simple Signature Algorithm.

Signature is a binary of maximum size 35,664-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_shake_192f_simple_keypair/0 or sphincs_plus_shake_192f_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_192f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_192f_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_192f_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_192f_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_192f_simple_sign/2.

Link to this function

sphincs_plus_shake_192s_robust_info()

View Source
-spec sphincs_plus_shake_192s_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-192s-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-192s-robust",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 16224,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_shake_192s_robust_info()

See also: sphincs_plus_shake_192s_robust_keypair/0, sphincs_plus_shake_192s_robust_keypair/1, sphincs_plus_shake_192s_robust_sign/2, sphincs_plus_shake_192s_robust_verify/3.

Link to this function

sphincs_plus_shake_192s_robust_keypair()

View Source
-spec sphincs_plus_shake_192s_robust_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_192s_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_192s_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-192s-robust Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_192s_robust_keypair().

See also: sphincs_plus_shake_192s_robust_keypair/1, sphincs_plus_shake_192s_robust_sign/2, sphincs_plus_shake_192s_robust_verify/3.

Link to this function

sphincs_plus_shake_192s_robust_keypair(Seed)

View Source
-spec sphincs_plus_shake_192s_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_192s_robust_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_192s_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_192s_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-192s-robust Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_192s_robust_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_192s_robust_keypair(Seed).

See also: sphincs_plus_shake_192s_robust_keypair/0, sphincs_plus_shake_192s_robust_sign/2, sphincs_plus_shake_192s_robust_verify/3.

Link to this function

sphincs_plus_shake_192s_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_192s_robust_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_192s_robust_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_192s_robust_secret_key(),
                                           Signature :: sphincs_plus_shake_192s_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-192s-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_shake_192s_robust_keypair/0 or sphincs_plus_shake_192s_robust_keypair/1.

Signature is a binary of maximum size 16,224-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_192s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_192s_robust_sign(Msg, SK).

See also: sphincs_plus_shake_192s_robust_verify/3.

Link to this function

sphincs_plus_shake_192s_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_192s_robust_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_192s_robust_signature(),
                                             Message :: sphincs_plus_shake_192s_robust_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_192s_robust_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_192s_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-192s-robust Signature Algorithm.

Signature is a binary of maximum size 16,224-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_shake_192s_robust_keypair/0 or sphincs_plus_shake_192s_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_192s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_192s_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_192s_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_192s_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_192s_robust_sign/2.

Link to this function

sphincs_plus_shake_192s_simple_info()

View Source
-spec sphincs_plus_shake_192s_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-192s-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-192s-simple",
       secretkeybytes := 96,
       publickeybytes := 48,
       signaturebytes := 16224,
       seedbytes := 72
   } = pqclean_nif:sphincs_plus_shake_192s_simple_info()

See also: sphincs_plus_shake_192s_simple_keypair/0, sphincs_plus_shake_192s_simple_keypair/1, sphincs_plus_shake_192s_simple_sign/2, sphincs_plus_shake_192s_simple_verify/3.

Link to this function

sphincs_plus_shake_192s_simple_keypair()

View Source
-spec sphincs_plus_shake_192s_simple_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_192s_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_192s_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-192s-simple Signature Algorithm.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_192s_simple_keypair().

See also: sphincs_plus_shake_192s_simple_keypair/1, sphincs_plus_shake_192s_simple_sign/2, sphincs_plus_shake_192s_simple_verify/3.

Link to this function

sphincs_plus_shake_192s_simple_keypair(Seed)

View Source
-spec sphincs_plus_shake_192s_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_192s_simple_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_192s_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_192s_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-192s-simple Signature Algorithm.

Seed is a binary of size 72-bytes.

PublicKey is a binary of size 48-bytes.

SecretKey is a binary of size 96-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_192s_simple_keypair(<<0:(72 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(72),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_192s_simple_keypair(Seed).

See also: sphincs_plus_shake_192s_simple_keypair/0, sphincs_plus_shake_192s_simple_sign/2, sphincs_plus_shake_192s_simple_verify/3.

Link to this function

sphincs_plus_shake_192s_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_192s_simple_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_192s_simple_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_192s_simple_secret_key(),
                                           Signature :: sphincs_plus_shake_192s_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-192s-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 96-bytes generated from sphincs_plus_shake_192s_simple_keypair/0 or sphincs_plus_shake_192s_simple_keypair/1.

Signature is a binary of maximum size 16,224-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_192s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_192s_simple_sign(Msg, SK).

See also: sphincs_plus_shake_192s_simple_verify/3.

Link to this function

sphincs_plus_shake_192s_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_192s_simple_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_192s_simple_signature(),
                                             Message :: sphincs_plus_shake_192s_simple_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_192s_simple_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_192s_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-192s-simple Signature Algorithm.

Signature is a binary of maximum size 16,224-bytes.

Message is a binary.

PublicKey is a binary of size 48-bytes generated from sphincs_plus_shake_192s_simple_keypair/0 or sphincs_plus_shake_192s_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_192s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_192s_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_192s_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_192s_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_192s_simple_sign/2.

Link to this function

sphincs_plus_shake_256f_robust_info()

View Source
-spec sphincs_plus_shake_256f_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-256f-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-256f-robust",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 49856,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_shake_256f_robust_info()

See also: sphincs_plus_shake_256f_robust_keypair/0, sphincs_plus_shake_256f_robust_keypair/1, sphincs_plus_shake_256f_robust_sign/2, sphincs_plus_shake_256f_robust_verify/3.

Link to this function

sphincs_plus_shake_256f_robust_keypair()

View Source
-spec sphincs_plus_shake_256f_robust_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_256f_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_256f_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-256f-robust Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_256f_robust_keypair().

See also: sphincs_plus_shake_256f_robust_keypair/1, sphincs_plus_shake_256f_robust_sign/2, sphincs_plus_shake_256f_robust_verify/3.

Link to this function

sphincs_plus_shake_256f_robust_keypair(Seed)

View Source
-spec sphincs_plus_shake_256f_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_256f_robust_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_256f_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_256f_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-256f-robust Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_256f_robust_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_256f_robust_keypair(Seed).

See also: sphincs_plus_shake_256f_robust_keypair/0, sphincs_plus_shake_256f_robust_sign/2, sphincs_plus_shake_256f_robust_verify/3.

Link to this function

sphincs_plus_shake_256f_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_256f_robust_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_256f_robust_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_256f_robust_secret_key(),
                                           Signature :: sphincs_plus_shake_256f_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-256f-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_shake_256f_robust_keypair/0 or sphincs_plus_shake_256f_robust_keypair/1.

Signature is a binary of maximum size 49,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_256f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_256f_robust_sign(Msg, SK).

See also: sphincs_plus_shake_256f_robust_verify/3.

Link to this function

sphincs_plus_shake_256f_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_256f_robust_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_256f_robust_signature(),
                                             Message :: sphincs_plus_shake_256f_robust_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_256f_robust_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_256f_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-256f-robust Signature Algorithm.

Signature is a binary of maximum size 49,856-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_shake_256f_robust_keypair/0 or sphincs_plus_shake_256f_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_256f_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_256f_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_256f_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_256f_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_256f_robust_sign/2.

Link to this function

sphincs_plus_shake_256f_simple_info()

View Source
-spec sphincs_plus_shake_256f_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-256f-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-256f-simple",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 49856,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_shake_256f_simple_info()

See also: sphincs_plus_shake_256f_simple_keypair/0, sphincs_plus_shake_256f_simple_keypair/1, sphincs_plus_shake_256f_simple_sign/2, sphincs_plus_shake_256f_simple_verify/3.

Link to this function

sphincs_plus_shake_256f_simple_keypair()

View Source
-spec sphincs_plus_shake_256f_simple_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_256f_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_256f_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-256f-simple Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_256f_simple_keypair().

See also: sphincs_plus_shake_256f_simple_keypair/1, sphincs_plus_shake_256f_simple_sign/2, sphincs_plus_shake_256f_simple_verify/3.

Link to this function

sphincs_plus_shake_256f_simple_keypair(Seed)

View Source
-spec sphincs_plus_shake_256f_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_256f_simple_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_256f_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_256f_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-256f-simple Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_256f_simple_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_256f_simple_keypair(Seed).

See also: sphincs_plus_shake_256f_simple_keypair/0, sphincs_plus_shake_256f_simple_sign/2, sphincs_plus_shake_256f_simple_verify/3.

Link to this function

sphincs_plus_shake_256f_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_256f_simple_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_256f_simple_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_256f_simple_secret_key(),
                                           Signature :: sphincs_plus_shake_256f_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-256f-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_shake_256f_simple_keypair/0 or sphincs_plus_shake_256f_simple_keypair/1.

Signature is a binary of maximum size 49,856-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_256f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_256f_simple_sign(Msg, SK).

See also: sphincs_plus_shake_256f_simple_verify/3.

Link to this function

sphincs_plus_shake_256f_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_256f_simple_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_256f_simple_signature(),
                                             Message :: sphincs_plus_shake_256f_simple_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_256f_simple_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_256f_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-256f-simple Signature Algorithm.

Signature is a binary of maximum size 49,856-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_shake_256f_simple_keypair/0 or sphincs_plus_shake_256f_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_256f_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_256f_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_256f_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_256f_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_256f_simple_sign/2.

Link to this function

sphincs_plus_shake_256s_robust_info()

View Source
-spec sphincs_plus_shake_256s_robust_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-256s-robust Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-256s-robust",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 29792,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_shake_256s_robust_info()

See also: sphincs_plus_shake_256s_robust_keypair/0, sphincs_plus_shake_256s_robust_keypair/1, sphincs_plus_shake_256s_robust_sign/2, sphincs_plus_shake_256s_robust_verify/3.

Link to this function

sphincs_plus_shake_256s_robust_keypair()

View Source
-spec sphincs_plus_shake_256s_robust_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_256s_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_256s_robust_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-256s-robust Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_256s_robust_keypair().

See also: sphincs_plus_shake_256s_robust_keypair/1, sphincs_plus_shake_256s_robust_sign/2, sphincs_plus_shake_256s_robust_verify/3.

Link to this function

sphincs_plus_shake_256s_robust_keypair(Seed)

View Source
-spec sphincs_plus_shake_256s_robust_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_256s_robust_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_256s_robust_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_256s_robust_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-256s-robust Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_256s_robust_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_256s_robust_keypair(Seed).

See also: sphincs_plus_shake_256s_robust_keypair/0, sphincs_plus_shake_256s_robust_sign/2, sphincs_plus_shake_256s_robust_verify/3.

Link to this function

sphincs_plus_shake_256s_robust_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_256s_robust_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_256s_robust_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_256s_robust_secret_key(),
                                           Signature :: sphincs_plus_shake_256s_robust_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-256s-robust Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_shake_256s_robust_keypair/0 or sphincs_plus_shake_256s_robust_keypair/1.

Signature is a binary of maximum size 29,792-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_256s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_256s_robust_sign(Msg, SK).

See also: sphincs_plus_shake_256s_robust_verify/3.

Link to this function

sphincs_plus_shake_256s_robust_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_256s_robust_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_256s_robust_signature(),
                                             Message :: sphincs_plus_shake_256s_robust_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_256s_robust_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_256s_robust_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-256s-robust Signature Algorithm.

Signature is a binary of maximum size 29,792-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_shake_256s_robust_keypair/0 or sphincs_plus_shake_256s_robust_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_256s_robust_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_256s_robust_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_256s_robust_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_256s_robust_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_256s_robust_sign/2.

Link to this function

sphincs_plus_shake_256s_simple_info()

View Source
-spec sphincs_plus_shake_256s_simple_info() -> crypto_sign_info().

Returns information about the SPHINCS+-shake-256s-simple Signature Algorithm.

   #{
       type := sign,
       name := "SPHINCS+-shake-256s-simple",
       secretkeybytes := 128,
       publickeybytes := 64,
       signaturebytes := 29792,
       seedbytes := 96
   } = pqclean_nif:sphincs_plus_shake_256s_simple_info()

See also: sphincs_plus_shake_256s_simple_keypair/0, sphincs_plus_shake_256s_simple_keypair/1, sphincs_plus_shake_256s_simple_sign/2, sphincs_plus_shake_256s_simple_verify/3.

Link to this function

sphincs_plus_shake_256s_simple_keypair()

View Source
-spec sphincs_plus_shake_256s_simple_keypair() -> {PublicKey, SecretKey}
                                          when
                                              PublicKey ::
                                                  sphincs_plus_shake_256s_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_256s_simple_secret_key().

Randomly generates a new PublicKey and SecretKey keypair for the SPHINCS+-shake-256s-simple Signature Algorithm.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_256s_simple_keypair().

See also: sphincs_plus_shake_256s_simple_keypair/1, sphincs_plus_shake_256s_simple_sign/2, sphincs_plus_shake_256s_simple_verify/3.

Link to this function

sphincs_plus_shake_256s_simple_keypair(Seed)

View Source
-spec sphincs_plus_shake_256s_simple_keypair(Seed) -> {PublicKey, SecretKey}
                                          when
                                              Seed :: sphincs_plus_shake_256s_simple_seed(),
                                              PublicKey ::
                                                  sphincs_plus_shake_256s_simple_public_key(),
                                              SecretKey ::
                                                  sphincs_plus_shake_256s_simple_secret_key().

Derives a PublicKey and SecretKey keypair based on Seed for the SPHINCS+-shake-256s-simple Signature Algorithm.

Seed is a binary of size 96-bytes.

PublicKey is a binary of size 64-bytes.

SecretKey is a binary of size 128-bytes.
   % WARNING: Example only, NEVER use an all-zero Seed!
   {ZeroPK, ZeroSK} = pqclean_nif:sphincs_plus_shake_256s_simple_keypair(<<0:(96 * 8)>>).
  
   % Randomly generated Seed:
   Seed = crypto:strong_rand_bytes(96),
   {SeedPK, SeedSK} = pqclean_nif:sphincs_plus_shake_256s_simple_keypair(Seed).

See also: sphincs_plus_shake_256s_simple_keypair/0, sphincs_plus_shake_256s_simple_sign/2, sphincs_plus_shake_256s_simple_verify/3.

Link to this function

sphincs_plus_shake_256s_simple_sign(Message, SecretKey)

View Source
-spec sphincs_plus_shake_256s_simple_sign(Message, SecretKey) -> Signature
                                       when
                                           Message :: sphincs_plus_shake_256s_simple_message(),
                                           SecretKey ::
                                               sphincs_plus_shake_256s_simple_secret_key(),
                                           Signature :: sphincs_plus_shake_256s_simple_signature().

Signs a Message with SecretKey and returns a Signature using the SPHINCS+-shake-256s-simple Signature Algorithm.

Message is a binary.

SecretKey is a binary of size 128-bytes generated from sphincs_plus_shake_256s_simple_keypair/0 or sphincs_plus_shake_256s_simple_keypair/1.

Signature is a binary of maximum size 29,792-bytes.
   {PK, SK} = pqclean_nif:sphincs_plus_shake_256s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_256s_simple_sign(Msg, SK).

See also: sphincs_plus_shake_256s_simple_verify/3.

Link to this function

sphincs_plus_shake_256s_simple_verify(Signature, Message, PublicKey)

View Source
-spec sphincs_plus_shake_256s_simple_verify(Signature, Message, PublicKey) -> Verification
                                         when
                                             Signature ::
                                                 sphincs_plus_shake_256s_simple_signature(),
                                             Message :: sphincs_plus_shake_256s_simple_message(),
                                             PublicKey ::
                                                 sphincs_plus_shake_256s_simple_public_key(),
                                             Verification ::
                                                 sphincs_plus_shake_256s_simple_verification().

Verifies a Signature and Message with PublicKey and returns a Verification using the SPHINCS+-shake-256s-simple Signature Algorithm.

Signature is a binary of maximum size 29,792-bytes.

Message is a binary.

PublicKey is a binary of size 64-bytes generated from sphincs_plus_shake_256s_simple_keypair/0 or sphincs_plus_shake_256s_simple_keypair/1.

Verification is a boolean (true if the Signature and Message are verified, false otherwise).

   {PK, SK} = pqclean_nif:sphincs_plus_shake_256s_simple_keypair(),
   Msg = <<"message">>,
   Sig = pqclean_nif:sphincs_plus_shake_256s_simple_sign(Msg, SK),
   true = pqclean_nif:sphincs_plus_shake_256s_simple_verify(Sig, Msg, PK).
  
   % Example of corrupted message:
   BadMsg = <<"messag0">>,
   false = pqclean_nif:sphincs_plus_shake_256s_simple_verify(Sig, BadMsg, PK).

See also: sphincs_plus_shake_256s_simple_sign/2.