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.
Message
for the Dilithium2 Signature Algorithm.PublicKey
for the Dilithium2 Signature Algorithm (1,312-bytes).SecretKey
for the Dilithium2 Signature Algorithm (2,528-bytes).Signature
for the Dilithium2 Signature Algorithm (maximum of 2,420-bytes).Verification
for the Dilithium2 Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the Dilithium2-AES Signature Algorithm.PublicKey
for the Dilithium2-AES Signature Algorithm (1,312-bytes).SecretKey
for the Dilithium2-AES Signature Algorithm (2,528-bytes).Signature
for the Dilithium2-AES Signature Algorithm (maximum of 2,420-bytes).Verification
for the Dilithium2-AES Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the Dilithium3 Signature Algorithm.PublicKey
for the Dilithium3 Signature Algorithm (1,952-bytes).SecretKey
for the Dilithium3 Signature Algorithm (4,000-bytes).Signature
for the Dilithium3 Signature Algorithm (maximum of 3,293-bytes).Verification
for the Dilithium3 Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the Dilithium3-AES Signature Algorithm.PublicKey
for the Dilithium3-AES Signature Algorithm (1,952-bytes).SecretKey
for the Dilithium3-AES Signature Algorithm (4,000-bytes).Signature
for the Dilithium3-AES Signature Algorithm (maximum of 3,293-bytes).Verification
for the Dilithium3-AES Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the Dilithium5 Signature Algorithm.PublicKey
for the Dilithium5 Signature Algorithm (2,592-bytes).SecretKey
for the Dilithium5 Signature Algorithm (4,864-bytes).Signature
for the Dilithium5 Signature Algorithm (maximum of 4,595-bytes).Verification
for the Dilithium5 Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the Dilithium5-AES Signature Algorithm.PublicKey
for the Dilithium5-AES Signature Algorithm (2,592-bytes).SecretKey
for the Dilithium5-AES Signature Algorithm (4,864-bytes).Signature
for the Dilithium5-AES Signature Algorithm (maximum of 4,595-bytes).Verification
for the Dilithium5-AES Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the Falcon-512 Signature Algorithm.PublicKey
for the Falcon-512 Signature Algorithm (897-bytes).SecretKey
for the Falcon-512 Signature Algorithm (1,281-bytes).Signature
for the Falcon-512 Signature Algorithm (maximum of 666-bytes).Verification
for the Falcon-512 Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the Falcon-1024 Signature Algorithm.PublicKey
for the Falcon-1024 Signature Algorithm (1,793-bytes).SecretKey
for the Falcon-1024 Signature Algorithm (2,305-bytes).Signature
for the Falcon-1024 Signature Algorithm (maximum of 1,280-bytes).Verification
for the Falcon-1024 Signature Algorithm (true
if verification was successful, false
otherwise).CipherText
for the HQC-RMRS-128 KEM Algorithm (4,481-bytes).PublicKey
for the HQC-RMRS-128 KEM Algorithm (2,249-bytes).SecretKey
for the HQC-RMRS-128 KEM Algorithm (2,289-bytes).SharedSecret
for the HQC-RMRS-128 KEM Algorithm (64-bytes).CipherText
for the HQC-RMRS-192 KEM Algorithm (9,026-bytes).PublicKey
for the HQC-RMRS-192 KEM Algorithm (4,522-bytes).SecretKey
for the HQC-RMRS-192 KEM Algorithm (4,562-bytes).SharedSecret
for the HQC-RMRS-192 KEM Algorithm (64-bytes).CipherText
for the HQC-RMRS-256 KEM Algorithm (14,469-bytes).PublicKey
for the HQC-RMRS-256 KEM Algorithm (7,245-bytes).SecretKey
for the HQC-RMRS-256 KEM Algorithm (7,285-bytes).SharedSecret
for the HQC-RMRS-256 KEM Algorithm (64-bytes).CipherText
for the Kyber512-90s KEM Algorithm (768-bytes).PublicKey
for the Kyber512-90s KEM Algorithm (800-bytes).SecretKey
for the Kyber512-90s KEM Algorithm (1,632-bytes).SharedSecret
for the Kyber512-90s KEM Algorithm (32-bytes).CipherText
for the Kyber512 KEM Algorithm (768-bytes).PublicKey
for the Kyber512 KEM Algorithm (800-bytes).SecretKey
for the Kyber512 KEM Algorithm (1,632-bytes).SharedSecret
for the Kyber512 KEM Algorithm (32-bytes).CipherText
for the Kyber768-90s KEM Algorithm (1,088-bytes).PublicKey
for the Kyber768-90s KEM Algorithm (1,184-bytes).SecretKey
for the Kyber768-90s KEM Algorithm (2,400-bytes).SharedSecret
for the Kyber768-90s KEM Algorithm (32-bytes).CipherText
for the Kyber768 KEM Algorithm (1,088-bytes).PublicKey
for the Kyber768 KEM Algorithm (1,184-bytes).SecretKey
for the Kyber768 KEM Algorithm (2,400-bytes).SharedSecret
for the Kyber768 KEM Algorithm (32-bytes).CipherText
for the Kyber1024-90s KEM Algorithm (1,568-bytes).PublicKey
for the Kyber1024-90s KEM Algorithm (1,568-bytes).SecretKey
for the Kyber1024-90s KEM Algorithm (3,168-bytes).SharedSecret
for the Kyber1024-90s KEM Algorithm (32-bytes).CipherText
for the Kyber1024 KEM Algorithm (1,568-bytes).PublicKey
for the Kyber1024 KEM Algorithm (1,568-bytes).SecretKey
for the Kyber1024 KEM Algorithm (3,168-bytes).SharedSecret
for the Kyber1024 KEM Algorithm (32-bytes).Message
for the SPHINCS+-haraka-128f-robust Signature Algorithm.PublicKey
for the SPHINCS+-haraka-128f-robust Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-haraka-128f-robust Signature Algorithm (64-bytes).Seed
for the SPHINCS+-haraka-128f-robust Signature Algorithm (48-bytes).Signature
for the SPHINCS+-haraka-128f-robust Signature Algorithm (maximum of 17,088-bytes).Verification
for the SPHINCS+-haraka-128f-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-128f-simple Signature Algorithm.PublicKey
for the SPHINCS+-haraka-128f-simple Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-haraka-128f-simple Signature Algorithm (64-bytes).Seed
for the SPHINCS+-haraka-128f-simple Signature Algorithm (48-bytes).Signature
for the SPHINCS+-haraka-128f-simple Signature Algorithm (maximum of 17,088-bytes).Verification
for the SPHINCS+-haraka-128f-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-128s-robust Signature Algorithm.PublicKey
for the SPHINCS+-haraka-128s-robust Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-haraka-128s-robust Signature Algorithm (64-bytes).Seed
for the SPHINCS+-haraka-128s-robust Signature Algorithm (48-bytes).Signature
for the SPHINCS+-haraka-128s-robust Signature Algorithm (maximum of 7,856-bytes).Verification
for the SPHINCS+-haraka-128s-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-128s-simple Signature Algorithm.PublicKey
for the SPHINCS+-haraka-128s-simple Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-haraka-128s-simple Signature Algorithm (64-bytes).Seed
for the SPHINCS+-haraka-128s-simple Signature Algorithm (48-bytes).Signature
for the SPHINCS+-haraka-128s-simple Signature Algorithm (maximum of 7,856-bytes).Verification
for the SPHINCS+-haraka-128s-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-192f-robust Signature Algorithm.PublicKey
for the SPHINCS+-haraka-192f-robust Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-haraka-192f-robust Signature Algorithm (96-bytes).Seed
for the SPHINCS+-haraka-192f-robust Signature Algorithm (72-bytes).Signature
for the SPHINCS+-haraka-192f-robust Signature Algorithm (maximum of 35,664-bytes).Verification
for the SPHINCS+-haraka-192f-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-192f-simple Signature Algorithm.PublicKey
for the SPHINCS+-haraka-192f-simple Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-haraka-192f-simple Signature Algorithm (96-bytes).Seed
for the SPHINCS+-haraka-192f-simple Signature Algorithm (72-bytes).Signature
for the SPHINCS+-haraka-192f-simple Signature Algorithm (maximum of 35,664-bytes).Verification
for the SPHINCS+-haraka-192f-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-192s-robust Signature Algorithm.PublicKey
for the SPHINCS+-haraka-192s-robust Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-haraka-192s-robust Signature Algorithm (96-bytes).Seed
for the SPHINCS+-haraka-192s-robust Signature Algorithm (72-bytes).Signature
for the SPHINCS+-haraka-192s-robust Signature Algorithm (maximum of 16,224-bytes).Verification
for the SPHINCS+-haraka-192s-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-192s-simple Signature Algorithm.PublicKey
for the SPHINCS+-haraka-192s-simple Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-haraka-192s-simple Signature Algorithm (96-bytes).Seed
for the SPHINCS+-haraka-192s-simple Signature Algorithm (72-bytes).Signature
for the SPHINCS+-haraka-192s-simple Signature Algorithm (maximum of 16,224-bytes).Verification
for the SPHINCS+-haraka-192s-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-256f-robust Signature Algorithm.PublicKey
for the SPHINCS+-haraka-256f-robust Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-haraka-256f-robust Signature Algorithm (128-bytes).Seed
for the SPHINCS+-haraka-256f-robust Signature Algorithm (96-bytes).Signature
for the SPHINCS+-haraka-256f-robust Signature Algorithm (maximum of 49,856-bytes).Verification
for the SPHINCS+-haraka-256f-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-256f-simple Signature Algorithm.PublicKey
for the SPHINCS+-haraka-256f-simple Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-haraka-256f-simple Signature Algorithm (128-bytes).Seed
for the SPHINCS+-haraka-256f-simple Signature Algorithm (96-bytes).Signature
for the SPHINCS+-haraka-256f-simple Signature Algorithm (maximum of 49,856-bytes).Verification
for the SPHINCS+-haraka-256f-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-256s-robust Signature Algorithm.PublicKey
for the SPHINCS+-haraka-256s-robust Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-haraka-256s-robust Signature Algorithm (128-bytes).Seed
for the SPHINCS+-haraka-256s-robust Signature Algorithm (96-bytes).Signature
for the SPHINCS+-haraka-256s-robust Signature Algorithm (maximum of 29,792-bytes).Verification
for the SPHINCS+-haraka-256s-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-haraka-256s-simple Signature Algorithm.PublicKey
for the SPHINCS+-haraka-256s-simple Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-haraka-256s-simple Signature Algorithm (128-bytes).Seed
for the SPHINCS+-haraka-256s-simple Signature Algorithm (96-bytes).Signature
for the SPHINCS+-haraka-256s-simple Signature Algorithm (maximum of 29,792-bytes).Verification
for the SPHINCS+-haraka-256s-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-128f-robust Signature Algorithm.PublicKey
for the SPHINCS+-sha2-128f-robust Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-sha2-128f-robust Signature Algorithm (64-bytes).Seed
for the SPHINCS+-sha2-128f-robust Signature Algorithm (48-bytes).Signature
for the SPHINCS+-sha2-128f-robust Signature Algorithm (maximum of 17,088-bytes).Verification
for the SPHINCS+-sha2-128f-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-128f-simple Signature Algorithm.PublicKey
for the SPHINCS+-sha2-128f-simple Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-sha2-128f-simple Signature Algorithm (64-bytes).Seed
for the SPHINCS+-sha2-128f-simple Signature Algorithm (48-bytes).Signature
for the SPHINCS+-sha2-128f-simple Signature Algorithm (maximum of 17,088-bytes).Verification
for the SPHINCS+-sha2-128f-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-128s-robust Signature Algorithm.PublicKey
for the SPHINCS+-sha2-128s-robust Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-sha2-128s-robust Signature Algorithm (64-bytes).Seed
for the SPHINCS+-sha2-128s-robust Signature Algorithm (48-bytes).Signature
for the SPHINCS+-sha2-128s-robust Signature Algorithm (maximum of 7,856-bytes).Verification
for the SPHINCS+-sha2-128s-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-128s-simple Signature Algorithm.PublicKey
for the SPHINCS+-sha2-128s-simple Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-sha2-128s-simple Signature Algorithm (64-bytes).Seed
for the SPHINCS+-sha2-128s-simple Signature Algorithm (48-bytes).Signature
for the SPHINCS+-sha2-128s-simple Signature Algorithm (maximum of 7,856-bytes).Verification
for the SPHINCS+-sha2-128s-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-192f-robust Signature Algorithm.PublicKey
for the SPHINCS+-sha2-192f-robust Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-sha2-192f-robust Signature Algorithm (96-bytes).Seed
for the SPHINCS+-sha2-192f-robust Signature Algorithm (72-bytes).Signature
for the SPHINCS+-sha2-192f-robust Signature Algorithm (maximum of 35,664-bytes).Verification
for the SPHINCS+-sha2-192f-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-192f-simple Signature Algorithm.PublicKey
for the SPHINCS+-sha2-192f-simple Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-sha2-192f-simple Signature Algorithm (96-bytes).Seed
for the SPHINCS+-sha2-192f-simple Signature Algorithm (72-bytes).Signature
for the SPHINCS+-sha2-192f-simple Signature Algorithm (maximum of 35,664-bytes).Verification
for the SPHINCS+-sha2-192f-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-192s-robust Signature Algorithm.PublicKey
for the SPHINCS+-sha2-192s-robust Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-sha2-192s-robust Signature Algorithm (96-bytes).Seed
for the SPHINCS+-sha2-192s-robust Signature Algorithm (72-bytes).Signature
for the SPHINCS+-sha2-192s-robust Signature Algorithm (maximum of 16,224-bytes).Verification
for the SPHINCS+-sha2-192s-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-192s-simple Signature Algorithm.PublicKey
for the SPHINCS+-sha2-192s-simple Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-sha2-192s-simple Signature Algorithm (96-bytes).Seed
for the SPHINCS+-sha2-192s-simple Signature Algorithm (72-bytes).Signature
for the SPHINCS+-sha2-192s-simple Signature Algorithm (maximum of 16,224-bytes).Verification
for the SPHINCS+-sha2-192s-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-256f-robust Signature Algorithm.PublicKey
for the SPHINCS+-sha2-256f-robust Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-sha2-256f-robust Signature Algorithm (128-bytes).Seed
for the SPHINCS+-sha2-256f-robust Signature Algorithm (96-bytes).Signature
for the SPHINCS+-sha2-256f-robust Signature Algorithm (maximum of 49,856-bytes).Verification
for the SPHINCS+-sha2-256f-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-256f-simple Signature Algorithm.PublicKey
for the SPHINCS+-sha2-256f-simple Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-sha2-256f-simple Signature Algorithm (128-bytes).Seed
for the SPHINCS+-sha2-256f-simple Signature Algorithm (96-bytes).Signature
for the SPHINCS+-sha2-256f-simple Signature Algorithm (maximum of 49,856-bytes).Verification
for the SPHINCS+-sha2-256f-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-256s-robust Signature Algorithm.PublicKey
for the SPHINCS+-sha2-256s-robust Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-sha2-256s-robust Signature Algorithm (128-bytes).Seed
for the SPHINCS+-sha2-256s-robust Signature Algorithm (96-bytes).Signature
for the SPHINCS+-sha2-256s-robust Signature Algorithm (maximum of 29,792-bytes).Verification
for the SPHINCS+-sha2-256s-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-sha2-256s-simple Signature Algorithm.PublicKey
for the SPHINCS+-sha2-256s-simple Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-sha2-256s-simple Signature Algorithm (128-bytes).Seed
for the SPHINCS+-sha2-256s-simple Signature Algorithm (96-bytes).Signature
for the SPHINCS+-sha2-256s-simple Signature Algorithm (maximum of 29,792-bytes).Verification
for the SPHINCS+-sha2-256s-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-128f-robust Signature Algorithm.PublicKey
for the SPHINCS+-shake-128f-robust Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-shake-128f-robust Signature Algorithm (64-bytes).Seed
for the SPHINCS+-shake-128f-robust Signature Algorithm (48-bytes).Signature
for the SPHINCS+-shake-128f-robust Signature Algorithm (maximum of 17,088-bytes).Verification
for the SPHINCS+-shake-128f-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-128f-simple Signature Algorithm.PublicKey
for the SPHINCS+-shake-128f-simple Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-shake-128f-simple Signature Algorithm (64-bytes).Seed
for the SPHINCS+-shake-128f-simple Signature Algorithm (48-bytes).Signature
for the SPHINCS+-shake-128f-simple Signature Algorithm (maximum of 17,088-bytes).Verification
for the SPHINCS+-shake-128f-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-128s-robust Signature Algorithm.PublicKey
for the SPHINCS+-shake-128s-robust Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-shake-128s-robust Signature Algorithm (64-bytes).Seed
for the SPHINCS+-shake-128s-robust Signature Algorithm (48-bytes).Signature
for the SPHINCS+-shake-128s-robust Signature Algorithm (maximum of 7,856-bytes).Verification
for the SPHINCS+-shake-128s-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-128s-simple Signature Algorithm.PublicKey
for the SPHINCS+-shake-128s-simple Signature Algorithm (32-bytes).SecretKey
for the SPHINCS+-shake-128s-simple Signature Algorithm (64-bytes).Seed
for the SPHINCS+-shake-128s-simple Signature Algorithm (48-bytes).Signature
for the SPHINCS+-shake-128s-simple Signature Algorithm (maximum of 7,856-bytes).Verification
for the SPHINCS+-shake-128s-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-192f-robust Signature Algorithm.PublicKey
for the SPHINCS+-shake-192f-robust Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-shake-192f-robust Signature Algorithm (96-bytes).Seed
for the SPHINCS+-shake-192f-robust Signature Algorithm (72-bytes).Signature
for the SPHINCS+-shake-192f-robust Signature Algorithm (maximum of 35,664-bytes).Verification
for the SPHINCS+-shake-192f-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-192f-simple Signature Algorithm.PublicKey
for the SPHINCS+-shake-192f-simple Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-shake-192f-simple Signature Algorithm (96-bytes).Seed
for the SPHINCS+-shake-192f-simple Signature Algorithm (72-bytes).Signature
for the SPHINCS+-shake-192f-simple Signature Algorithm (maximum of 35,664-bytes).Verification
for the SPHINCS+-shake-192f-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-192s-robust Signature Algorithm.PublicKey
for the SPHINCS+-shake-192s-robust Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-shake-192s-robust Signature Algorithm (96-bytes).Seed
for the SPHINCS+-shake-192s-robust Signature Algorithm (72-bytes).Signature
for the SPHINCS+-shake-192s-robust Signature Algorithm (maximum of 16,224-bytes).Verification
for the SPHINCS+-shake-192s-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-192s-simple Signature Algorithm.PublicKey
for the SPHINCS+-shake-192s-simple Signature Algorithm (48-bytes).SecretKey
for the SPHINCS+-shake-192s-simple Signature Algorithm (96-bytes).Seed
for the SPHINCS+-shake-192s-simple Signature Algorithm (72-bytes).Signature
for the SPHINCS+-shake-192s-simple Signature Algorithm (maximum of 16,224-bytes).Verification
for the SPHINCS+-shake-192s-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-256f-robust Signature Algorithm.PublicKey
for the SPHINCS+-shake-256f-robust Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-shake-256f-robust Signature Algorithm (128-bytes).Seed
for the SPHINCS+-shake-256f-robust Signature Algorithm (96-bytes).Signature
for the SPHINCS+-shake-256f-robust Signature Algorithm (maximum of 49,856-bytes).Verification
for the SPHINCS+-shake-256f-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-256f-simple Signature Algorithm.PublicKey
for the SPHINCS+-shake-256f-simple Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-shake-256f-simple Signature Algorithm (128-bytes).Seed
for the SPHINCS+-shake-256f-simple Signature Algorithm (96-bytes).Signature
for the SPHINCS+-shake-256f-simple Signature Algorithm (maximum of 49,856-bytes).Verification
for the SPHINCS+-shake-256f-simple Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-256s-robust Signature Algorithm.PublicKey
for the SPHINCS+-shake-256s-robust Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-shake-256s-robust Signature Algorithm (128-bytes).Seed
for the SPHINCS+-shake-256s-robust Signature Algorithm (96-bytes).Signature
for the SPHINCS+-shake-256s-robust Signature Algorithm (maximum of 29,792-bytes).Verification
for the SPHINCS+-shake-256s-robust Signature Algorithm (true
if verification was successful, false
otherwise).Message
for the SPHINCS+-shake-256s-simple Signature Algorithm.PublicKey
for the SPHINCS+-shake-256s-simple Signature Algorithm (64-bytes).SecretKey
for the SPHINCS+-shake-256s-simple Signature Algorithm (128-bytes).Seed
for the SPHINCS+-shake-256s-simple Signature Algorithm (96-bytes).Signature
for the SPHINCS+-shake-256s-simple Signature Algorithm (maximum of 29,792-bytes).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:
dilithium2_info/0
dilithium2aes_info/0
dilithium3_info/0
dilithium3aes_info/0
dilithium5_info/0
dilithium5aes_info/0
falcon512_info/0
falcon1024_info/0
sphincs_plus_haraka_128f_robust_info/0
sphincs_plus_haraka_128f_simple_info/0
sphincs_plus_haraka_128s_robust_info/0
sphincs_plus_haraka_128s_simple_info/0
sphincs_plus_haraka_192f_robust_info/0
sphincs_plus_haraka_192f_simple_info/0
sphincs_plus_haraka_192s_robust_info/0
sphincs_plus_haraka_192s_simple_info/0
sphincs_plus_haraka_256f_robust_info/0
sphincs_plus_haraka_256f_simple_info/0
sphincs_plus_haraka_256s_robust_info/0
sphincs_plus_haraka_256s_simple_info/0
sphincs_plus_sha2_128f_robust_info/0
sphincs_plus_sha2_128f_simple_info/0
sphincs_plus_sha2_128s_robust_info/0
sphincs_plus_sha2_128s_simple_info/0
sphincs_plus_sha2_192f_robust_info/0
sphincs_plus_sha2_192f_simple_info/0
sphincs_plus_sha2_192s_robust_info/0
sphincs_plus_sha2_192s_simple_info/0
sphincs_plus_sha2_256f_robust_info/0
sphincs_plus_sha2_256f_simple_info/0
sphincs_plus_sha2_256s_robust_info/0
sphincs_plus_sha2_256s_simple_info/0
sphincs_plus_shake_128f_robust_info/0
sphincs_plus_shake_128f_simple_info/0
sphincs_plus_shake_128s_robust_info/0
sphincs_plus_shake_128s_simple_info/0
sphincs_plus_shake_192f_robust_info/0
sphincs_plus_shake_192f_simple_info/0
sphincs_plus_shake_192s_robust_info/0
sphincs_plus_shake_192s_simple_info/0
sphincs_plus_shake_256f_robust_info/0
sphincs_plus_shake_256f_simple_info/0
sphincs_plus_shake_256s_robust_info/0
sphincs_plus_shake_256s_simple_info/0
-type dilithium2_message() :: binary().
Message
for the Dilithium2 Signature Algorithm.
-type dilithium2_public_key() :: <<_:10496>>.
PublicKey
for the Dilithium2 Signature Algorithm (1,312-bytes).
-type dilithium2_secret_key() :: <<_:20224>>.
SecretKey
for the Dilithium2 Signature Algorithm (2,528-bytes).
-type dilithium2_signature() :: <<_:19360>> | binary().
Signature
for the Dilithium2 Signature Algorithm (maximum of 2,420-bytes).
-type dilithium2_verification() :: boolean().
Verification
for the Dilithium2 Signature Algorithm (true
if verification was successful, false
otherwise).
-type dilithium2aes_message() :: binary().
Message
for the Dilithium2-AES Signature Algorithm.
-type dilithium2aes_public_key() :: <<_:10496>>.
PublicKey
for the Dilithium2-AES Signature Algorithm (1,312-bytes).
-type dilithium2aes_secret_key() :: <<_:20224>>.
SecretKey
for the Dilithium2-AES Signature Algorithm (2,528-bytes).
-type dilithium2aes_signature() :: <<_:19360>> | binary().
Signature
for the Dilithium2-AES Signature Algorithm (maximum of 2,420-bytes).
-type dilithium2aes_verification() :: boolean().
Verification
for the Dilithium2-AES Signature Algorithm (true
if verification was successful, false
otherwise).
-type dilithium3_message() :: binary().
Message
for the Dilithium3 Signature Algorithm.
-type dilithium3_public_key() :: <<_:15616>>.
PublicKey
for the Dilithium3 Signature Algorithm (1,952-bytes).
-type dilithium3_secret_key() :: <<_:32000>>.
SecretKey
for the Dilithium3 Signature Algorithm (4,000-bytes).
-type dilithium3_signature() :: <<_:26344>> | binary().
Signature
for the Dilithium3 Signature Algorithm (maximum of 3,293-bytes).
-type dilithium3_verification() :: boolean().
Verification
for the Dilithium3 Signature Algorithm (true
if verification was successful, false
otherwise).
-type dilithium3aes_message() :: binary().
Message
for the Dilithium3-AES Signature Algorithm.
-type dilithium3aes_public_key() :: <<_:15616>>.
PublicKey
for the Dilithium3-AES Signature Algorithm (1,952-bytes).
-type dilithium3aes_secret_key() :: <<_:32000>>.
SecretKey
for the Dilithium3-AES Signature Algorithm (4,000-bytes).
-type dilithium3aes_signature() :: <<_:26344>> | binary().
Signature
for the Dilithium3-AES Signature Algorithm (maximum of 3,293-bytes).
-type dilithium3aes_verification() :: boolean().
Verification
for the Dilithium3-AES Signature Algorithm (true
if verification was successful, false
otherwise).
-type dilithium5_message() :: binary().
Message
for the Dilithium5 Signature Algorithm.
-type dilithium5_public_key() :: <<_:20736>>.
PublicKey
for the Dilithium5 Signature Algorithm (2,592-bytes).
-type dilithium5_secret_key() :: <<_:38912>>.
SecretKey
for the Dilithium5 Signature Algorithm (4,864-bytes).
-type dilithium5_signature() :: <<_:36760>> | binary().
Signature
for the Dilithium5 Signature Algorithm (maximum of 4,595-bytes).
-type dilithium5_verification() :: boolean().
Verification
for the Dilithium5 Signature Algorithm (true
if verification was successful, false
otherwise).
-type dilithium5aes_message() :: binary().
Message
for the Dilithium5-AES Signature Algorithm.
-type dilithium5aes_public_key() :: <<_:20736>>.
PublicKey
for the Dilithium5-AES Signature Algorithm (2,592-bytes).
-type dilithium5aes_secret_key() :: <<_:38912>>.
SecretKey
for the Dilithium5-AES Signature Algorithm (4,864-bytes).
-type dilithium5aes_signature() :: <<_:36760>> | binary().
Signature
for the Dilithium5-AES Signature Algorithm (maximum of 4,595-bytes).
-type dilithium5aes_verification() :: boolean().
Verification
for the Dilithium5-AES Signature Algorithm (true
if verification was successful, false
otherwise).
-type falcon512_message() :: binary().
Message
for the Falcon-512 Signature Algorithm.
-type falcon512_public_key() :: <<_:7176>>.
PublicKey
for the Falcon-512 Signature Algorithm (897-bytes).
-type falcon512_secret_key() :: <<_:10248>>.
SecretKey
for the Falcon-512 Signature Algorithm (1,281-bytes).
-type falcon512_signature() :: <<_:5328>> | binary().
Signature
for the Falcon-512 Signature Algorithm (maximum of 666-bytes).
-type falcon512_verification() :: boolean().
Verification
for the Falcon-512 Signature Algorithm (true
if verification was successful, false
otherwise).
-type falcon1024_message() :: binary().
Message
for the Falcon-1024 Signature Algorithm.
-type falcon1024_public_key() :: <<_:14344>>.
PublicKey
for the Falcon-1024 Signature Algorithm (1,793-bytes).
-type falcon1024_secret_key() :: <<_:18440>>.
SecretKey
for the Falcon-1024 Signature Algorithm (2,305-bytes).
-type falcon1024_signature() :: <<_:10240>> | binary().
Signature
for the Falcon-1024 Signature Algorithm (maximum of 1,280-bytes).
-type falcon1024_verification() :: boolean().
Verification
for the Falcon-1024 Signature Algorithm (true
if verification was successful, false
otherwise).
-type hqc_rmrs_128_cipher_text() :: <<_:35848>>.
CipherText
for the HQC-RMRS-128 KEM Algorithm (4,481-bytes).
-type hqc_rmrs_128_public_key() :: <<_:17992>>.
PublicKey
for the HQC-RMRS-128 KEM Algorithm (2,249-bytes).
-type hqc_rmrs_128_secret_key() :: <<_:18312>>.
SecretKey
for the HQC-RMRS-128 KEM Algorithm (2,289-bytes).
-type hqc_rmrs_192_cipher_text() :: <<_:72208>>.
CipherText
for the HQC-RMRS-192 KEM Algorithm (9,026-bytes).
-type hqc_rmrs_192_public_key() :: <<_:36176>>.
PublicKey
for the HQC-RMRS-192 KEM Algorithm (4,522-bytes).
-type hqc_rmrs_192_secret_key() :: <<_:36496>>.
SecretKey
for the HQC-RMRS-192 KEM Algorithm (4,562-bytes).
-type hqc_rmrs_256_cipher_text() :: <<_:115752>>.
CipherText
for the HQC-RMRS-256 KEM Algorithm (14,469-bytes).
-type hqc_rmrs_256_public_key() :: <<_:57960>>.
PublicKey
for the HQC-RMRS-256 KEM Algorithm (7,245-bytes).
-type hqc_rmrs_256_secret_key() :: <<_:58280>>.
SecretKey
for the HQC-RMRS-256 KEM Algorithm (7,285-bytes).
-type kyber512_90s_cipher_text() :: <<_:6144>>.
CipherText
for the Kyber512-90s KEM Algorithm (768-bytes).
-type kyber512_90s_public_key() :: <<_:6400>>.
PublicKey
for the Kyber512-90s KEM Algorithm (800-bytes).
-type kyber512_90s_secret_key() :: <<_:13056>>.
SecretKey
for the Kyber512-90s KEM Algorithm (1,632-bytes).
-type kyber512_cipher_text() :: <<_:6144>>.
CipherText
for the Kyber512 KEM Algorithm (768-bytes).
-type kyber512_public_key() :: <<_:6400>>.
PublicKey
for the Kyber512 KEM Algorithm (800-bytes).
-type kyber512_secret_key() :: <<_:13056>>.
SecretKey
for the Kyber512 KEM Algorithm (1,632-bytes).
-type kyber768_90s_cipher_text() :: <<_:8704>>.
CipherText
for the Kyber768-90s KEM Algorithm (1,088-bytes).
-type kyber768_90s_public_key() :: <<_:9472>>.
PublicKey
for the Kyber768-90s KEM Algorithm (1,184-bytes).
-type kyber768_90s_secret_key() :: <<_:19200>>.
SecretKey
for the Kyber768-90s KEM Algorithm (2,400-bytes).
-type kyber768_cipher_text() :: <<_:8704>>.
CipherText
for the Kyber768 KEM Algorithm (1,088-bytes).
-type kyber768_public_key() :: <<_:9472>>.
PublicKey
for the Kyber768 KEM Algorithm (1,184-bytes).
-type kyber768_secret_key() :: <<_:19200>>.
SecretKey
for the Kyber768 KEM Algorithm (2,400-bytes).
-type kyber1024_90s_cipher_text() :: <<_:12544>>.
CipherText
for the Kyber1024-90s KEM Algorithm (1,568-bytes).
-type kyber1024_90s_public_key() :: <<_:12544>>.
PublicKey
for the Kyber1024-90s KEM Algorithm (1,568-bytes).
-type kyber1024_90s_secret_key() :: <<_:25344>>.
SecretKey
for the Kyber1024-90s KEM Algorithm (3,168-bytes).
-type kyber1024_cipher_text() :: <<_:12544>>.
CipherText
for the Kyber1024 KEM Algorithm (1,568-bytes).
-type kyber1024_public_key() :: <<_:12544>>.
PublicKey
for the Kyber1024 KEM Algorithm (1,568-bytes).
-type kyber1024_secret_key() :: <<_:25344>>.
SecretKey
for the Kyber1024 KEM Algorithm (3,168-bytes).
-type sphincs_plus_haraka_128f_robust_message() :: binary().
Message
for the SPHINCS+-haraka-128f-robust Signature Algorithm.
-type sphincs_plus_haraka_128f_robust_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-haraka-128f-robust Signature Algorithm (32-bytes).
-type sphincs_plus_haraka_128f_robust_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-haraka-128f-robust Signature Algorithm (64-bytes).
-type sphincs_plus_haraka_128f_robust_seed() :: <<_:384>>.
Seed
for the SPHINCS+-haraka-128f-robust Signature Algorithm (48-bytes).
-type sphincs_plus_haraka_128f_robust_signature() :: <<_:136704>> | binary().
Signature
for the SPHINCS+-haraka-128f-robust Signature Algorithm (maximum of 17,088-bytes).
-type sphincs_plus_haraka_128f_robust_verification() :: boolean().
Verification
for the SPHINCS+-haraka-128f-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_128f_simple_message() :: binary().
Message
for the SPHINCS+-haraka-128f-simple Signature Algorithm.
-type sphincs_plus_haraka_128f_simple_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-haraka-128f-simple Signature Algorithm (32-bytes).
-type sphincs_plus_haraka_128f_simple_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-haraka-128f-simple Signature Algorithm (64-bytes).
-type sphincs_plus_haraka_128f_simple_seed() :: <<_:384>>.
Seed
for the SPHINCS+-haraka-128f-simple Signature Algorithm (48-bytes).
-type sphincs_plus_haraka_128f_simple_signature() :: <<_:136704>> | binary().
Signature
for the SPHINCS+-haraka-128f-simple Signature Algorithm (maximum of 17,088-bytes).
-type sphincs_plus_haraka_128f_simple_verification() :: boolean().
Verification
for the SPHINCS+-haraka-128f-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_128s_robust_message() :: binary().
Message
for the SPHINCS+-haraka-128s-robust Signature Algorithm.
-type sphincs_plus_haraka_128s_robust_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-haraka-128s-robust Signature Algorithm (32-bytes).
-type sphincs_plus_haraka_128s_robust_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-haraka-128s-robust Signature Algorithm (64-bytes).
-type sphincs_plus_haraka_128s_robust_seed() :: <<_:384>>.
Seed
for the SPHINCS+-haraka-128s-robust Signature Algorithm (48-bytes).
-type sphincs_plus_haraka_128s_robust_signature() :: <<_:62848>> | binary().
Signature
for the SPHINCS+-haraka-128s-robust Signature Algorithm (maximum of 7,856-bytes).
-type sphincs_plus_haraka_128s_robust_verification() :: boolean().
Verification
for the SPHINCS+-haraka-128s-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_128s_simple_message() :: binary().
Message
for the SPHINCS+-haraka-128s-simple Signature Algorithm.
-type sphincs_plus_haraka_128s_simple_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-haraka-128s-simple Signature Algorithm (32-bytes).
-type sphincs_plus_haraka_128s_simple_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-haraka-128s-simple Signature Algorithm (64-bytes).
-type sphincs_plus_haraka_128s_simple_seed() :: <<_:384>>.
Seed
for the SPHINCS+-haraka-128s-simple Signature Algorithm (48-bytes).
-type sphincs_plus_haraka_128s_simple_signature() :: <<_:62848>> | binary().
Signature
for the SPHINCS+-haraka-128s-simple Signature Algorithm (maximum of 7,856-bytes).
-type sphincs_plus_haraka_128s_simple_verification() :: boolean().
Verification
for the SPHINCS+-haraka-128s-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_192f_robust_message() :: binary().
Message
for the SPHINCS+-haraka-192f-robust Signature Algorithm.
-type sphincs_plus_haraka_192f_robust_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-haraka-192f-robust Signature Algorithm (48-bytes).
-type sphincs_plus_haraka_192f_robust_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-haraka-192f-robust Signature Algorithm (96-bytes).
-type sphincs_plus_haraka_192f_robust_seed() :: <<_:576>>.
Seed
for the SPHINCS+-haraka-192f-robust Signature Algorithm (72-bytes).
-type sphincs_plus_haraka_192f_robust_signature() :: <<_:285312>> | binary().
Signature
for the SPHINCS+-haraka-192f-robust Signature Algorithm (maximum of 35,664-bytes).
-type sphincs_plus_haraka_192f_robust_verification() :: boolean().
Verification
for the SPHINCS+-haraka-192f-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_192f_simple_message() :: binary().
Message
for the SPHINCS+-haraka-192f-simple Signature Algorithm.
-type sphincs_plus_haraka_192f_simple_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-haraka-192f-simple Signature Algorithm (48-bytes).
-type sphincs_plus_haraka_192f_simple_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-haraka-192f-simple Signature Algorithm (96-bytes).
-type sphincs_plus_haraka_192f_simple_seed() :: <<_:576>>.
Seed
for the SPHINCS+-haraka-192f-simple Signature Algorithm (72-bytes).
-type sphincs_plus_haraka_192f_simple_signature() :: <<_:285312>> | binary().
Signature
for the SPHINCS+-haraka-192f-simple Signature Algorithm (maximum of 35,664-bytes).
-type sphincs_plus_haraka_192f_simple_verification() :: boolean().
Verification
for the SPHINCS+-haraka-192f-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_192s_robust_message() :: binary().
Message
for the SPHINCS+-haraka-192s-robust Signature Algorithm.
-type sphincs_plus_haraka_192s_robust_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-haraka-192s-robust Signature Algorithm (48-bytes).
-type sphincs_plus_haraka_192s_robust_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-haraka-192s-robust Signature Algorithm (96-bytes).
-type sphincs_plus_haraka_192s_robust_seed() :: <<_:576>>.
Seed
for the SPHINCS+-haraka-192s-robust Signature Algorithm (72-bytes).
-type sphincs_plus_haraka_192s_robust_signature() :: <<_:129792>> | binary().
Signature
for the SPHINCS+-haraka-192s-robust Signature Algorithm (maximum of 16,224-bytes).
-type sphincs_plus_haraka_192s_robust_verification() :: boolean().
Verification
for the SPHINCS+-haraka-192s-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_192s_simple_message() :: binary().
Message
for the SPHINCS+-haraka-192s-simple Signature Algorithm.
-type sphincs_plus_haraka_192s_simple_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-haraka-192s-simple Signature Algorithm (48-bytes).
-type sphincs_plus_haraka_192s_simple_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-haraka-192s-simple Signature Algorithm (96-bytes).
-type sphincs_plus_haraka_192s_simple_seed() :: <<_:576>>.
Seed
for the SPHINCS+-haraka-192s-simple Signature Algorithm (72-bytes).
-type sphincs_plus_haraka_192s_simple_signature() :: <<_:129792>> | binary().
Signature
for the SPHINCS+-haraka-192s-simple Signature Algorithm (maximum of 16,224-bytes).
-type sphincs_plus_haraka_192s_simple_verification() :: boolean().
Verification
for the SPHINCS+-haraka-192s-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_256f_robust_message() :: binary().
Message
for the SPHINCS+-haraka-256f-robust Signature Algorithm.
-type sphincs_plus_haraka_256f_robust_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-haraka-256f-robust Signature Algorithm (64-bytes).
-type sphincs_plus_haraka_256f_robust_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-haraka-256f-robust Signature Algorithm (128-bytes).
-type sphincs_plus_haraka_256f_robust_seed() :: <<_:768>>.
Seed
for the SPHINCS+-haraka-256f-robust Signature Algorithm (96-bytes).
-type sphincs_plus_haraka_256f_robust_signature() :: <<_:398848>> | binary().
Signature
for the SPHINCS+-haraka-256f-robust Signature Algorithm (maximum of 49,856-bytes).
-type sphincs_plus_haraka_256f_robust_verification() :: boolean().
Verification
for the SPHINCS+-haraka-256f-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_256f_simple_message() :: binary().
Message
for the SPHINCS+-haraka-256f-simple Signature Algorithm.
-type sphincs_plus_haraka_256f_simple_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-haraka-256f-simple Signature Algorithm (64-bytes).
-type sphincs_plus_haraka_256f_simple_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-haraka-256f-simple Signature Algorithm (128-bytes).
-type sphincs_plus_haraka_256f_simple_seed() :: <<_:768>>.
Seed
for the SPHINCS+-haraka-256f-simple Signature Algorithm (96-bytes).
-type sphincs_plus_haraka_256f_simple_signature() :: <<_:398848>> | binary().
Signature
for the SPHINCS+-haraka-256f-simple Signature Algorithm (maximum of 49,856-bytes).
-type sphincs_plus_haraka_256f_simple_verification() :: boolean().
Verification
for the SPHINCS+-haraka-256f-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_256s_robust_message() :: binary().
Message
for the SPHINCS+-haraka-256s-robust Signature Algorithm.
-type sphincs_plus_haraka_256s_robust_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-haraka-256s-robust Signature Algorithm (64-bytes).
-type sphincs_plus_haraka_256s_robust_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-haraka-256s-robust Signature Algorithm (128-bytes).
-type sphincs_plus_haraka_256s_robust_seed() :: <<_:768>>.
Seed
for the SPHINCS+-haraka-256s-robust Signature Algorithm (96-bytes).
-type sphincs_plus_haraka_256s_robust_signature() :: <<_:238336>> | binary().
Signature
for the SPHINCS+-haraka-256s-robust Signature Algorithm (maximum of 29,792-bytes).
-type sphincs_plus_haraka_256s_robust_verification() :: boolean().
Verification
for the SPHINCS+-haraka-256s-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_haraka_256s_simple_message() :: binary().
Message
for the SPHINCS+-haraka-256s-simple Signature Algorithm.
-type sphincs_plus_haraka_256s_simple_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-haraka-256s-simple Signature Algorithm (64-bytes).
-type sphincs_plus_haraka_256s_simple_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-haraka-256s-simple Signature Algorithm (128-bytes).
-type sphincs_plus_haraka_256s_simple_seed() :: <<_:768>>.
Seed
for the SPHINCS+-haraka-256s-simple Signature Algorithm (96-bytes).
-type sphincs_plus_haraka_256s_simple_signature() :: <<_:238336>> | binary().
Signature
for the SPHINCS+-haraka-256s-simple Signature Algorithm (maximum of 29,792-bytes).
-type sphincs_plus_haraka_256s_simple_verification() :: boolean().
Verification
for the SPHINCS+-haraka-256s-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_128f_robust_message() :: binary().
Message
for the SPHINCS+-sha2-128f-robust Signature Algorithm.
-type sphincs_plus_sha2_128f_robust_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-sha2-128f-robust Signature Algorithm (32-bytes).
-type sphincs_plus_sha2_128f_robust_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-sha2-128f-robust Signature Algorithm (64-bytes).
-type sphincs_plus_sha2_128f_robust_seed() :: <<_:384>>.
Seed
for the SPHINCS+-sha2-128f-robust Signature Algorithm (48-bytes).
-type sphincs_plus_sha2_128f_robust_signature() :: <<_:136704>> | binary().
Signature
for the SPHINCS+-sha2-128f-robust Signature Algorithm (maximum of 17,088-bytes).
-type sphincs_plus_sha2_128f_robust_verification() :: boolean().
Verification
for the SPHINCS+-sha2-128f-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_128f_simple_message() :: binary().
Message
for the SPHINCS+-sha2-128f-simple Signature Algorithm.
-type sphincs_plus_sha2_128f_simple_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-sha2-128f-simple Signature Algorithm (32-bytes).
-type sphincs_plus_sha2_128f_simple_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-sha2-128f-simple Signature Algorithm (64-bytes).
-type sphincs_plus_sha2_128f_simple_seed() :: <<_:384>>.
Seed
for the SPHINCS+-sha2-128f-simple Signature Algorithm (48-bytes).
-type sphincs_plus_sha2_128f_simple_signature() :: <<_:136704>> | binary().
Signature
for the SPHINCS+-sha2-128f-simple Signature Algorithm (maximum of 17,088-bytes).
-type sphincs_plus_sha2_128f_simple_verification() :: boolean().
Verification
for the SPHINCS+-sha2-128f-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_128s_robust_message() :: binary().
Message
for the SPHINCS+-sha2-128s-robust Signature Algorithm.
-type sphincs_plus_sha2_128s_robust_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-sha2-128s-robust Signature Algorithm (32-bytes).
-type sphincs_plus_sha2_128s_robust_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-sha2-128s-robust Signature Algorithm (64-bytes).
-type sphincs_plus_sha2_128s_robust_seed() :: <<_:384>>.
Seed
for the SPHINCS+-sha2-128s-robust Signature Algorithm (48-bytes).
-type sphincs_plus_sha2_128s_robust_signature() :: <<_:62848>> | binary().
Signature
for the SPHINCS+-sha2-128s-robust Signature Algorithm (maximum of 7,856-bytes).
-type sphincs_plus_sha2_128s_robust_verification() :: boolean().
Verification
for the SPHINCS+-sha2-128s-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_128s_simple_message() :: binary().
Message
for the SPHINCS+-sha2-128s-simple Signature Algorithm.
-type sphincs_plus_sha2_128s_simple_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-sha2-128s-simple Signature Algorithm (32-bytes).
-type sphincs_plus_sha2_128s_simple_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-sha2-128s-simple Signature Algorithm (64-bytes).
-type sphincs_plus_sha2_128s_simple_seed() :: <<_:384>>.
Seed
for the SPHINCS+-sha2-128s-simple Signature Algorithm (48-bytes).
-type sphincs_plus_sha2_128s_simple_signature() :: <<_:62848>> | binary().
Signature
for the SPHINCS+-sha2-128s-simple Signature Algorithm (maximum of 7,856-bytes).
-type sphincs_plus_sha2_128s_simple_verification() :: boolean().
Verification
for the SPHINCS+-sha2-128s-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_192f_robust_message() :: binary().
Message
for the SPHINCS+-sha2-192f-robust Signature Algorithm.
-type sphincs_plus_sha2_192f_robust_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-sha2-192f-robust Signature Algorithm (48-bytes).
-type sphincs_plus_sha2_192f_robust_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-sha2-192f-robust Signature Algorithm (96-bytes).
-type sphincs_plus_sha2_192f_robust_seed() :: <<_:576>>.
Seed
for the SPHINCS+-sha2-192f-robust Signature Algorithm (72-bytes).
-type sphincs_plus_sha2_192f_robust_signature() :: <<_:285312>> | binary().
Signature
for the SPHINCS+-sha2-192f-robust Signature Algorithm (maximum of 35,664-bytes).
-type sphincs_plus_sha2_192f_robust_verification() :: boolean().
Verification
for the SPHINCS+-sha2-192f-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_192f_simple_message() :: binary().
Message
for the SPHINCS+-sha2-192f-simple Signature Algorithm.
-type sphincs_plus_sha2_192f_simple_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-sha2-192f-simple Signature Algorithm (48-bytes).
-type sphincs_plus_sha2_192f_simple_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-sha2-192f-simple Signature Algorithm (96-bytes).
-type sphincs_plus_sha2_192f_simple_seed() :: <<_:576>>.
Seed
for the SPHINCS+-sha2-192f-simple Signature Algorithm (72-bytes).
-type sphincs_plus_sha2_192f_simple_signature() :: <<_:285312>> | binary().
Signature
for the SPHINCS+-sha2-192f-simple Signature Algorithm (maximum of 35,664-bytes).
-type sphincs_plus_sha2_192f_simple_verification() :: boolean().
Verification
for the SPHINCS+-sha2-192f-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_192s_robust_message() :: binary().
Message
for the SPHINCS+-sha2-192s-robust Signature Algorithm.
-type sphincs_plus_sha2_192s_robust_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-sha2-192s-robust Signature Algorithm (48-bytes).
-type sphincs_plus_sha2_192s_robust_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-sha2-192s-robust Signature Algorithm (96-bytes).
-type sphincs_plus_sha2_192s_robust_seed() :: <<_:576>>.
Seed
for the SPHINCS+-sha2-192s-robust Signature Algorithm (72-bytes).
-type sphincs_plus_sha2_192s_robust_signature() :: <<_:129792>> | binary().
Signature
for the SPHINCS+-sha2-192s-robust Signature Algorithm (maximum of 16,224-bytes).
-type sphincs_plus_sha2_192s_robust_verification() :: boolean().
Verification
for the SPHINCS+-sha2-192s-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_192s_simple_message() :: binary().
Message
for the SPHINCS+-sha2-192s-simple Signature Algorithm.
-type sphincs_plus_sha2_192s_simple_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-sha2-192s-simple Signature Algorithm (48-bytes).
-type sphincs_plus_sha2_192s_simple_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-sha2-192s-simple Signature Algorithm (96-bytes).
-type sphincs_plus_sha2_192s_simple_seed() :: <<_:576>>.
Seed
for the SPHINCS+-sha2-192s-simple Signature Algorithm (72-bytes).
-type sphincs_plus_sha2_192s_simple_signature() :: <<_:129792>> | binary().
Signature
for the SPHINCS+-sha2-192s-simple Signature Algorithm (maximum of 16,224-bytes).
-type sphincs_plus_sha2_192s_simple_verification() :: boolean().
Verification
for the SPHINCS+-sha2-192s-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_256f_robust_message() :: binary().
Message
for the SPHINCS+-sha2-256f-robust Signature Algorithm.
-type sphincs_plus_sha2_256f_robust_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-sha2-256f-robust Signature Algorithm (64-bytes).
-type sphincs_plus_sha2_256f_robust_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-sha2-256f-robust Signature Algorithm (128-bytes).
-type sphincs_plus_sha2_256f_robust_seed() :: <<_:768>>.
Seed
for the SPHINCS+-sha2-256f-robust Signature Algorithm (96-bytes).
-type sphincs_plus_sha2_256f_robust_signature() :: <<_:398848>> | binary().
Signature
for the SPHINCS+-sha2-256f-robust Signature Algorithm (maximum of 49,856-bytes).
-type sphincs_plus_sha2_256f_robust_verification() :: boolean().
Verification
for the SPHINCS+-sha2-256f-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_256f_simple_message() :: binary().
Message
for the SPHINCS+-sha2-256f-simple Signature Algorithm.
-type sphincs_plus_sha2_256f_simple_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-sha2-256f-simple Signature Algorithm (64-bytes).
-type sphincs_plus_sha2_256f_simple_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-sha2-256f-simple Signature Algorithm (128-bytes).
-type sphincs_plus_sha2_256f_simple_seed() :: <<_:768>>.
Seed
for the SPHINCS+-sha2-256f-simple Signature Algorithm (96-bytes).
-type sphincs_plus_sha2_256f_simple_signature() :: <<_:398848>> | binary().
Signature
for the SPHINCS+-sha2-256f-simple Signature Algorithm (maximum of 49,856-bytes).
-type sphincs_plus_sha2_256f_simple_verification() :: boolean().
Verification
for the SPHINCS+-sha2-256f-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_256s_robust_message() :: binary().
Message
for the SPHINCS+-sha2-256s-robust Signature Algorithm.
-type sphincs_plus_sha2_256s_robust_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-sha2-256s-robust Signature Algorithm (64-bytes).
-type sphincs_plus_sha2_256s_robust_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-sha2-256s-robust Signature Algorithm (128-bytes).
-type sphincs_plus_sha2_256s_robust_seed() :: <<_:768>>.
Seed
for the SPHINCS+-sha2-256s-robust Signature Algorithm (96-bytes).
-type sphincs_plus_sha2_256s_robust_signature() :: <<_:238336>> | binary().
Signature
for the SPHINCS+-sha2-256s-robust Signature Algorithm (maximum of 29,792-bytes).
-type sphincs_plus_sha2_256s_robust_verification() :: boolean().
Verification
for the SPHINCS+-sha2-256s-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_sha2_256s_simple_message() :: binary().
Message
for the SPHINCS+-sha2-256s-simple Signature Algorithm.
-type sphincs_plus_sha2_256s_simple_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-sha2-256s-simple Signature Algorithm (64-bytes).
-type sphincs_plus_sha2_256s_simple_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-sha2-256s-simple Signature Algorithm (128-bytes).
-type sphincs_plus_sha2_256s_simple_seed() :: <<_:768>>.
Seed
for the SPHINCS+-sha2-256s-simple Signature Algorithm (96-bytes).
-type sphincs_plus_sha2_256s_simple_signature() :: <<_:238336>> | binary().
Signature
for the SPHINCS+-sha2-256s-simple Signature Algorithm (maximum of 29,792-bytes).
-type sphincs_plus_sha2_256s_simple_verification() :: boolean().
Verification
for the SPHINCS+-sha2-256s-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_128f_robust_message() :: binary().
Message
for the SPHINCS+-shake-128f-robust Signature Algorithm.
-type sphincs_plus_shake_128f_robust_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-shake-128f-robust Signature Algorithm (32-bytes).
-type sphincs_plus_shake_128f_robust_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-shake-128f-robust Signature Algorithm (64-bytes).
-type sphincs_plus_shake_128f_robust_seed() :: <<_:384>>.
Seed
for the SPHINCS+-shake-128f-robust Signature Algorithm (48-bytes).
-type sphincs_plus_shake_128f_robust_signature() :: <<_:136704>> | binary().
Signature
for the SPHINCS+-shake-128f-robust Signature Algorithm (maximum of 17,088-bytes).
-type sphincs_plus_shake_128f_robust_verification() :: boolean().
Verification
for the SPHINCS+-shake-128f-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_128f_simple_message() :: binary().
Message
for the SPHINCS+-shake-128f-simple Signature Algorithm.
-type sphincs_plus_shake_128f_simple_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-shake-128f-simple Signature Algorithm (32-bytes).
-type sphincs_plus_shake_128f_simple_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-shake-128f-simple Signature Algorithm (64-bytes).
-type sphincs_plus_shake_128f_simple_seed() :: <<_:384>>.
Seed
for the SPHINCS+-shake-128f-simple Signature Algorithm (48-bytes).
-type sphincs_plus_shake_128f_simple_signature() :: <<_:136704>> | binary().
Signature
for the SPHINCS+-shake-128f-simple Signature Algorithm (maximum of 17,088-bytes).
-type sphincs_plus_shake_128f_simple_verification() :: boolean().
Verification
for the SPHINCS+-shake-128f-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_128s_robust_message() :: binary().
Message
for the SPHINCS+-shake-128s-robust Signature Algorithm.
-type sphincs_plus_shake_128s_robust_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-shake-128s-robust Signature Algorithm (32-bytes).
-type sphincs_plus_shake_128s_robust_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-shake-128s-robust Signature Algorithm (64-bytes).
-type sphincs_plus_shake_128s_robust_seed() :: <<_:384>>.
Seed
for the SPHINCS+-shake-128s-robust Signature Algorithm (48-bytes).
-type sphincs_plus_shake_128s_robust_signature() :: <<_:62848>> | binary().
Signature
for the SPHINCS+-shake-128s-robust Signature Algorithm (maximum of 7,856-bytes).
-type sphincs_plus_shake_128s_robust_verification() :: boolean().
Verification
for the SPHINCS+-shake-128s-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_128s_simple_message() :: binary().
Message
for the SPHINCS+-shake-128s-simple Signature Algorithm.
-type sphincs_plus_shake_128s_simple_public_key() :: <<_:256>>.
PublicKey
for the SPHINCS+-shake-128s-simple Signature Algorithm (32-bytes).
-type sphincs_plus_shake_128s_simple_secret_key() :: <<_:512>>.
SecretKey
for the SPHINCS+-shake-128s-simple Signature Algorithm (64-bytes).
-type sphincs_plus_shake_128s_simple_seed() :: <<_:384>>.
Seed
for the SPHINCS+-shake-128s-simple Signature Algorithm (48-bytes).
-type sphincs_plus_shake_128s_simple_signature() :: <<_:62848>> | binary().
Signature
for the SPHINCS+-shake-128s-simple Signature Algorithm (maximum of 7,856-bytes).
-type sphincs_plus_shake_128s_simple_verification() :: boolean().
Verification
for the SPHINCS+-shake-128s-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_192f_robust_message() :: binary().
Message
for the SPHINCS+-shake-192f-robust Signature Algorithm.
-type sphincs_plus_shake_192f_robust_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-shake-192f-robust Signature Algorithm (48-bytes).
-type sphincs_plus_shake_192f_robust_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-shake-192f-robust Signature Algorithm (96-bytes).
-type sphincs_plus_shake_192f_robust_seed() :: <<_:576>>.
Seed
for the SPHINCS+-shake-192f-robust Signature Algorithm (72-bytes).
-type sphincs_plus_shake_192f_robust_signature() :: <<_:285312>> | binary().
Signature
for the SPHINCS+-shake-192f-robust Signature Algorithm (maximum of 35,664-bytes).
-type sphincs_plus_shake_192f_robust_verification() :: boolean().
Verification
for the SPHINCS+-shake-192f-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_192f_simple_message() :: binary().
Message
for the SPHINCS+-shake-192f-simple Signature Algorithm.
-type sphincs_plus_shake_192f_simple_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-shake-192f-simple Signature Algorithm (48-bytes).
-type sphincs_plus_shake_192f_simple_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-shake-192f-simple Signature Algorithm (96-bytes).
-type sphincs_plus_shake_192f_simple_seed() :: <<_:576>>.
Seed
for the SPHINCS+-shake-192f-simple Signature Algorithm (72-bytes).
-type sphincs_plus_shake_192f_simple_signature() :: <<_:285312>> | binary().
Signature
for the SPHINCS+-shake-192f-simple Signature Algorithm (maximum of 35,664-bytes).
-type sphincs_plus_shake_192f_simple_verification() :: boolean().
Verification
for the SPHINCS+-shake-192f-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_192s_robust_message() :: binary().
Message
for the SPHINCS+-shake-192s-robust Signature Algorithm.
-type sphincs_plus_shake_192s_robust_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-shake-192s-robust Signature Algorithm (48-bytes).
-type sphincs_plus_shake_192s_robust_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-shake-192s-robust Signature Algorithm (96-bytes).
-type sphincs_plus_shake_192s_robust_seed() :: <<_:576>>.
Seed
for the SPHINCS+-shake-192s-robust Signature Algorithm (72-bytes).
-type sphincs_plus_shake_192s_robust_signature() :: <<_:129792>> | binary().
Signature
for the SPHINCS+-shake-192s-robust Signature Algorithm (maximum of 16,224-bytes).
-type sphincs_plus_shake_192s_robust_verification() :: boolean().
Verification
for the SPHINCS+-shake-192s-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_192s_simple_message() :: binary().
Message
for the SPHINCS+-shake-192s-simple Signature Algorithm.
-type sphincs_plus_shake_192s_simple_public_key() :: <<_:384>>.
PublicKey
for the SPHINCS+-shake-192s-simple Signature Algorithm (48-bytes).
-type sphincs_plus_shake_192s_simple_secret_key() :: <<_:768>>.
SecretKey
for the SPHINCS+-shake-192s-simple Signature Algorithm (96-bytes).
-type sphincs_plus_shake_192s_simple_seed() :: <<_:576>>.
Seed
for the SPHINCS+-shake-192s-simple Signature Algorithm (72-bytes).
-type sphincs_plus_shake_192s_simple_signature() :: <<_:129792>> | binary().
Signature
for the SPHINCS+-shake-192s-simple Signature Algorithm (maximum of 16,224-bytes).
-type sphincs_plus_shake_192s_simple_verification() :: boolean().
Verification
for the SPHINCS+-shake-192s-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_256f_robust_message() :: binary().
Message
for the SPHINCS+-shake-256f-robust Signature Algorithm.
-type sphincs_plus_shake_256f_robust_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-shake-256f-robust Signature Algorithm (64-bytes).
-type sphincs_plus_shake_256f_robust_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-shake-256f-robust Signature Algorithm (128-bytes).
-type sphincs_plus_shake_256f_robust_seed() :: <<_:768>>.
Seed
for the SPHINCS+-shake-256f-robust Signature Algorithm (96-bytes).
-type sphincs_plus_shake_256f_robust_signature() :: <<_:398848>> | binary().
Signature
for the SPHINCS+-shake-256f-robust Signature Algorithm (maximum of 49,856-bytes).
-type sphincs_plus_shake_256f_robust_verification() :: boolean().
Verification
for the SPHINCS+-shake-256f-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_256f_simple_message() :: binary().
Message
for the SPHINCS+-shake-256f-simple Signature Algorithm.
-type sphincs_plus_shake_256f_simple_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-shake-256f-simple Signature Algorithm (64-bytes).
-type sphincs_plus_shake_256f_simple_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-shake-256f-simple Signature Algorithm (128-bytes).
-type sphincs_plus_shake_256f_simple_seed() :: <<_:768>>.
Seed
for the SPHINCS+-shake-256f-simple Signature Algorithm (96-bytes).
-type sphincs_plus_shake_256f_simple_signature() :: <<_:398848>> | binary().
Signature
for the SPHINCS+-shake-256f-simple Signature Algorithm (maximum of 49,856-bytes).
-type sphincs_plus_shake_256f_simple_verification() :: boolean().
Verification
for the SPHINCS+-shake-256f-simple Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_256s_robust_message() :: binary().
Message
for the SPHINCS+-shake-256s-robust Signature Algorithm.
-type sphincs_plus_shake_256s_robust_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-shake-256s-robust Signature Algorithm (64-bytes).
-type sphincs_plus_shake_256s_robust_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-shake-256s-robust Signature Algorithm (128-bytes).
-type sphincs_plus_shake_256s_robust_seed() :: <<_:768>>.
Seed
for the SPHINCS+-shake-256s-robust Signature Algorithm (96-bytes).
-type sphincs_plus_shake_256s_robust_signature() :: <<_:238336>> | binary().
Signature
for the SPHINCS+-shake-256s-robust Signature Algorithm (maximum of 29,792-bytes).
-type sphincs_plus_shake_256s_robust_verification() :: boolean().
Verification
for the SPHINCS+-shake-256s-robust Signature Algorithm (true
if verification was successful, false
otherwise).
-type sphincs_plus_shake_256s_simple_message() :: binary().
Message
for the SPHINCS+-shake-256s-simple Signature Algorithm.
-type sphincs_plus_shake_256s_simple_public_key() :: <<_:512>>.
PublicKey
for the SPHINCS+-shake-256s-simple Signature Algorithm (64-bytes).
-type sphincs_plus_shake_256s_simple_secret_key() :: <<_:1024>>.
SecretKey
for the SPHINCS+-shake-256s-simple Signature Algorithm (128-bytes).
-type sphincs_plus_shake_256s_simple_seed() :: <<_:768>>.
Seed
for the SPHINCS+-shake-256s-simple Signature Algorithm (96-bytes).
-type sphincs_plus_shake_256s_simple_signature() :: <<_:238336>> | binary().
Signature
for the SPHINCS+-shake-256s-simple Signature Algorithm (maximum of 29,792-bytes).
-type sphincs_plus_shake_256s_simple_verification() :: boolean().
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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.
-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.
-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.
-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.
-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.
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.