liboqs
|
#include <sig.h>
Data Fields | |
const char * | method_name |
const char * | alg_version |
uint8_t | claimed_nist_level |
bool | euf_cma |
size_t | length_public_key |
size_t | length_secret_key |
size_t | length_signature |
OQS_STATUS(* | keypair )(uint8_t *public_key, uint8_t *secret_key) |
OQS_STATUS(* | sign )(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) |
OQS_STATUS(* | verify )(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) |
Signature schemes object
const char* OQS_SIG::alg_version |
Printable string representing the version of the cryptographic algorithm.
Implementations with the same method_name and same alg_version will be interoperable. See README.md for information about algorithm compatibility.
uint8_t OQS_SIG::claimed_nist_level |
The NIST security level (1, 2, 3, 4, 5) claimed in this algorithm's original NIST submission.
bool OQS_SIG::euf_cma |
Whether the signature offers EUF-CMA security (TRUE) or not (FALSE).
OQS_STATUS(* OQS_SIG::keypair) (uint8_t *public_key, uint8_t *secret_key) |
Keypair generation algorithm.
Caller is responsible for allocating sufficient memory for public_key
and secret_key
, based on the length_*
members in this object or the per-scheme compile-time macros OQS_SIG_*_length_*
.
[out] | public_key | The public key represented as a byte string. |
[out] | secret_key | The secret key represented as a byte string. |
size_t OQS_SIG::length_public_key |
The length, in bytes, of public keys for this signature scheme.
size_t OQS_SIG::length_secret_key |
The length, in bytes, of secret keys for this signature scheme.
size_t OQS_SIG::length_signature |
The (maximum) length, in bytes, of signatures for this signature scheme.
const char* OQS_SIG::method_name |
Printable string representing the name of the signature scheme.
OQS_STATUS(* OQS_SIG::sign) (uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) |
Signature generation algorithm.
Caller is responsible for allocating sufficient memory for signature
, based on the length_*
members in this object or the per-scheme compile-time macros OQS_SIG_*_length_*
.
[out] | signature | The signature on the message represented as a byte string. |
[out] | signature_len | The actual length of the signature. May be smaller than length_signature for some algorithms since some algorithms have variable length signatures. |
[in] | message | The message to sign represented as a byte string. |
[in] | message_len | The length of the message to sign. |
[in] | secret_key | The secret key represented as a byte string. |
OQS_STATUS(* OQS_SIG::verify) (const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) |
Signature verification algorithm.
[in] | message | The message represented as a byte string. |
[in] | message_len | The length of the message. |
[in] | signature | The signature on the message represented as a byte string. |
[in] | signature_len | The length of the signature. |
[in] | public_key | The public key represented as a byte string. |