|
| enum lc_kyber_type | lc_kyber_sk_type (const struct lc_kyber_sk *sk) |
| | Obtain Kyber type from secret key.
|
| enum lc_kyber_type | lc_kyber_pk_type (const struct lc_kyber_pk *pk) |
| | Obtain Kyber type from public key.
|
| enum lc_kyber_type | lc_kyber_ct_type (const struct lc_kyber_ct *ct) |
| | Obtain Kyber type from Kyber ciphertext.
|
| enum lc_kyber_type | lc_kyber_ss_type (const struct lc_kyber_ss *ss) |
| | Obtain Kyber type from shared secret.
|
| LC_PURE unsigned int | lc_kyber_sk_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber secret key.
|
| LC_PURE unsigned int | lc_kyber_pk_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber public key.
|
| LC_PURE unsigned int | lc_kyber_ct_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber ciphertext.
|
| LC_PURE unsigned int | lc_kyber_ss_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber shared secret.
|
| int | lc_kyber_sk_load (struct lc_kyber_sk *sk, const uint8_t *src_key, size_t src_key_len) |
| | Load a Kyber secret key provided with a buffer into the leancrypto data structure.
|
| int | lc_kyber_pk_load (struct lc_kyber_pk *pk, const uint8_t *src_key, size_t src_key_len) |
| | Load a Kyber public key provided with a buffer into the leancrypto data structure.
|
| int | lc_kyber_ct_load (struct lc_kyber_ct *ct, const uint8_t *src_key, size_t src_key_len) |
| | Load a Kyber ciphertext key provided with a buffer into the leancrypto data structure.
|
| int | lc_kyber_ss_load (struct lc_kyber_ss *ss, const uint8_t *src_key, size_t src_key_len) |
| | Load a Kyber shared secret provided with a buffer into the leancrypto data structure.
|
| int | lc_kyber_pct (const struct lc_kyber_pk *pk, const struct lc_kyber_sk *sk) |
| | Pairwise consistency check as per FIPS 203 section 7.1.
|
| int | lc_kyber_sk_ptr (uint8_t **kyber_key, size_t *kyber_key_len, struct lc_kyber_sk *sk) |
| | Obtain the reference to the Kyber key and its length.
|
| int | lc_kyber_pk_ptr (uint8_t **kyber_key, size_t *kyber_key_len, struct lc_kyber_pk *pk) |
| | Obtain the reference to the Kyber key and its length.
|
| int | lc_kyber_ct_ptr (uint8_t **kyber_ct, size_t *kyber_ct_len, struct lc_kyber_ct *ct) |
| | Obtain the reference to the Kyber ciphertext and its length.
|
| int | lc_kyber_ss_ptr (uint8_t **kyber_ss, size_t *kyber_ss_len, struct lc_kyber_ss *ss) |
| | Obtain the reference to the Kyber shared secret and its length.
|
| int | lc_kyber_keypair (struct lc_kyber_pk *pk, struct lc_kyber_sk *sk, struct lc_rng_ctx *rng_ctx, enum lc_kyber_type kyber_type) |
| | Generates public and private key for IND-CCA2-secure Kyber key encapsulation mechanism.
|
| int | lc_kyber_keypair_from_seed (struct lc_kyber_pk *pk, struct lc_kyber_sk *sk, const uint8_t *seed, size_t seedlen, enum lc_kyber_type kyber_type) |
| | Generates Kyber public and private key from a given seed.
|
| int | lc_kyber_enc (struct lc_kyber_ct *ct, struct lc_kyber_ss *ss, const struct lc_kyber_pk *pk) |
| | Key encapsulation.
|
| int | lc_kyber_enc_kdf (struct lc_kyber_ct *ct, uint8_t *ss, size_t ss_len, const struct lc_kyber_pk *pk) |
| | Key encapsulation with KDF applied to shared secret.
|
| int | lc_kyber_dec (struct lc_kyber_ss *ss, const struct lc_kyber_ct *ct, const struct lc_kyber_sk *sk) |
| | Key decapsulation.
|
| int | lc_kyber_dec_kdf (uint8_t *ss, size_t ss_len, const struct lc_kyber_ct *ct, const struct lc_kyber_sk *sk) |
| | Key decapsulation with KDF applied to shared secret.
|
| int | lc_kex_uake_initiator_init (struct lc_kyber_pk *pk_e_i, struct lc_kyber_ct *ct_e_i, struct lc_kyber_ss *tk, struct lc_kyber_sk *sk_e, const struct lc_kyber_pk *pk_r) |
| | Initialize unilaterally authenticated key exchange.
|
| int | lc_kex_uake_responder_ss (struct lc_kyber_ct *ct_e_r, uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_pk *pk_e_i, const struct lc_kyber_ct *ct_e_i, const struct lc_kyber_sk *sk_r) |
| | Initiator's shared secret generation.
|
| int | lc_kex_uake_initiator_ss (uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_ct *ct_e_r, const struct lc_kyber_ss *tk, const struct lc_kyber_sk *sk_e) |
| | Responder's shared secret generation.
|
| int | lc_kex_ake_initiator_init (struct lc_kyber_pk *pk_e_i, struct lc_kyber_ct *ct_e_i, struct lc_kyber_ss *tk, struct lc_kyber_sk *sk_e, const struct lc_kyber_pk *pk_r) |
| | Initialize authenticated key exchange.
|
| int | lc_kex_ake_responder_ss (struct lc_kyber_ct *ct_e_r_1, struct lc_kyber_ct *ct_e_r_2, uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_pk *pk_e_i, const struct lc_kyber_ct *ct_e_i, const struct lc_kyber_sk *sk_r, const struct lc_kyber_pk *pk_i) |
| | Initiator's shared secret generation.
|
| int | lc_kex_ake_initiator_ss (uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_ct *ct_e_r_1, const struct lc_kyber_ct *ct_e_r_2, const struct lc_kyber_ss *tk, const struct lc_kyber_sk *sk_e, const struct lc_kyber_sk *sk_i) |
| | Responder's shared secret generation.
|
| enum lc_kyber_type | lc_kyber_x25519_sk_type (const struct lc_kyber_x25519_sk *sk) |
| | Obtain Kyber type from secret key.
|
| enum lc_kyber_type | lc_kyber_x25519_pk_type (const struct lc_kyber_x25519_pk *pk) |
| | Obtain Kyber type from public key.
|
| enum lc_kyber_type | lc_kyber_x25519_ct_type (const struct lc_kyber_x25519_ct *ct) |
| | Obtain Kyber type from Kyber ciphertext.
|
| enum lc_kyber_type | lc_kyber_x25519_ss_type (const struct lc_kyber_x25519_ss *ss) |
| | Obtain Kyber type from shared secret.
|
| LC_PURE unsigned int | lc_kyber_x25519_sk_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber secret key.
|
| LC_PURE unsigned int | lc_kyber_x25519_pk_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber public key.
|
| LC_PURE unsigned int | lc_kyber_x25519_ct_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber ciphertext.
|
| LC_PURE unsigned int | lc_kyber_x25519_ss_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber shared secret.
|
| int | lc_kyber_x25519_sk_load (struct lc_kyber_x25519_sk *sk, const uint8_t *kyber_src_key, size_t kyber_src_key_len, const uint8_t *x25519_src_key, size_t x25519_src_key_len) |
| int | lc_kyber_x25519_pk_load (struct lc_kyber_x25519_pk *pk, const uint8_t *kyber_src_key, size_t kyber_src_key_len, const uint8_t *x25519_src_key, size_t x25519_src_key_len) |
| int | lc_kyber_x25519_ct_load (struct lc_kyber_x25519_ct *ct, const uint8_t *kyber_src_ct, size_t kyber_src_ct_len, const uint8_t *x25519_rem_pub_key, size_t x25519_rem_pub_len) |
| int | lc_kyber_x25519_ss_load (struct lc_kyber_x25519_ss *ss, const uint8_t *kyber_src_ss, size_t kyber_src_ss_len, const uint8_t *x25519_ss, size_t x25519_ss_len) |
| int | lc_kyber_x25519_sk_ptr (uint8_t **kyber_key, size_t *kyber_key_len, uint8_t **x25519_key, size_t *x25519_key_len, struct lc_kyber_x25519_sk *sk) |
| | Obtain the reference to the Kyber key and its length.
|
| int | lc_kyber_x25519_pk_ptr (uint8_t **kyber_key, size_t *kyber_key_len, uint8_t **x25519_key, size_t *x25519_key_len, struct lc_kyber_x25519_pk *pk) |
| | Obtain the reference to the Kyber key and its length.
|
| int | lc_kyber_x25519_ct_ptr (uint8_t **kyber_ct, size_t *kyber_ct_len, uint8_t **x25519_key, size_t *x25519_key_len, struct lc_kyber_x25519_ct *ct) |
| | Obtain the reference to the Kyber ciphertext and its length.
|
| int | lc_kyber_x25519_ss_ptr (uint8_t **kyber_ss, size_t *kyber_ss_len, uint8_t **x25519_ss, size_t *x25519_ss_len, struct lc_kyber_x25519_ss *ss) |
| | Obtain the reference to the Kyber shared secret and its length.
|
| int | lc_kyber_x25519_keypair (struct lc_kyber_x25519_pk *pk, struct lc_kyber_x25519_sk *sk, struct lc_rng_ctx *rng_ctx, enum lc_kyber_type kyber_type) |
| | Generates public and private key for IND-CCA2-secure Kyber key encapsulation mechanism.
|
| int | lc_kyber_x25519_enc_kdf (struct lc_kyber_x25519_ct *ct, uint8_t *ss, size_t ss_len, const struct lc_kyber_x25519_pk *pk) |
| | Key encapsulation with KDF applied to shared secret.
|
| int | lc_kyber_x25519_dec_kdf (uint8_t *ss, size_t ss_len, const struct lc_kyber_x25519_ct *ct, const struct lc_kyber_x25519_sk *sk) |
| | Key decapsulation with KDF applied to shared secret.
|
| int | lc_kex_x25519_uake_initiator_init (struct lc_kyber_x25519_pk *pk_e_i, struct lc_kyber_x25519_ct *ct_e_i, struct lc_kyber_x25519_ss *tk, struct lc_kyber_x25519_sk *sk_e, const struct lc_kyber_x25519_pk *pk_r) |
| | Initialize unilaterally authenticated key exchange.
|
| int | lc_kex_x25519_uake_responder_ss (struct lc_kyber_x25519_ct *ct_e_r, uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_x25519_pk *pk_e_i, const struct lc_kyber_x25519_ct *ct_e_i, const struct lc_kyber_x25519_sk *sk_r) |
| | Initiator's shared secret generation.
|
| int | lc_kex_x25519_uake_initiator_ss (uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_x25519_ct *ct_e_r, const struct lc_kyber_x25519_ss *tk, const struct lc_kyber_x25519_sk *sk_e) |
| | Responder's shared secret generation.
|
| int | lc_kex_x25519_ake_initiator_init (struct lc_kyber_x25519_pk *pk_e_i, struct lc_kyber_x25519_ct *ct_e_i, struct lc_kyber_x25519_ss *tk, struct lc_kyber_x25519_sk *sk_e, const struct lc_kyber_x25519_pk *pk_r) |
| | Initialize authenticated key exchange.
|
| int | lc_kex_x25519_ake_responder_ss (struct lc_kyber_x25519_ct *ct_e_r_1, struct lc_kyber_x25519_ct *ct_e_r_2, uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_x25519_pk *pk_e_i, const struct lc_kyber_x25519_ct *ct_e_i, const struct lc_kyber_x25519_sk *sk_r, const struct lc_kyber_x25519_pk *pk_i) |
| | Initiator's shared secret generation.
|
| int | lc_kex_x25519_ake_initiator_ss (uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_x25519_ct *ct_e_r_1, const struct lc_kyber_x25519_ct *ct_e_r_2, const struct lc_kyber_x25519_ss *tk, const struct lc_kyber_x25519_sk *sk_e, const struct lc_kyber_x25519_sk *sk_i) |
| | Responder's shared secret generation.
|
| enum lc_kyber_type | lc_kyber_x448_sk_type (const struct lc_kyber_x448_sk *sk) |
| | Obtain Kyber type from secret key.
|
| enum lc_kyber_type | lc_kyber_x448_pk_type (const struct lc_kyber_x448_pk *pk) |
| | Obtain Kyber type from public key.
|
| enum lc_kyber_type | lc_kyber_x448_ct_type (const struct lc_kyber_x448_ct *ct) |
| | Obtain Kyber type from Kyber ciphertext.
|
| enum lc_kyber_type | lc_kyber_x448_ss_type (const struct lc_kyber_x448_ss *ss) |
| | Obtain Kyber type from shared secret.
|
| LC_PURE unsigned int | lc_kyber_x448_sk_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber secret key.
|
| LC_PURE unsigned int | lc_kyber_x448_pk_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber public key.
|
| LC_PURE unsigned int | lc_kyber_x448_ct_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber ciphertext.
|
| LC_PURE unsigned int | lc_kyber_x448_ss_size (enum lc_kyber_type kyber_type) |
| | Return the size of the Kyber shared secret.
|
| int | lc_kyber_x448_sk_load (struct lc_kyber_x448_sk *sk, const uint8_t *kyber_src_key, size_t kyber_src_key_len, const uint8_t *x448_src_key, size_t x448_src_key_len) |
| int | lc_kyber_x448_pk_load (struct lc_kyber_x448_pk *pk, const uint8_t *kyber_src_key, size_t kyber_src_key_len, const uint8_t *x448_src_key, size_t x448_src_key_len) |
| int | lc_kyber_x448_ct_load (struct lc_kyber_x448_ct *ct, const uint8_t *kyber_src_ct, size_t kyber_src_ct_len, const uint8_t *x448_rem_pub_key, size_t x448_rem_pub_len) |
| int | lc_kyber_x448_ss_load (struct lc_kyber_x448_ss *ss, const uint8_t *kyber_src_ss, size_t kyber_src_ss_len, const uint8_t *x448_ss, size_t x448_ss_len) |
| int | lc_kyber_x448_sk_ptr (uint8_t **kyber_key, size_t *kyber_key_len, uint8_t **x448_key, size_t *x448_key_len, struct lc_kyber_x448_sk *sk) |
| | Obtain the reference to the Kyber key and its length.
|
| int | lc_kyber_x448_pk_ptr (uint8_t **kyber_key, size_t *kyber_key_len, uint8_t **x448_key, size_t *x448_key_len, struct lc_kyber_x448_pk *pk) |
| | Obtain the reference to the Kyber key and its length.
|
| int | lc_kyber_x448_ct_ptr (uint8_t **kyber_ct, size_t *kyber_ct_len, uint8_t **x448_key, size_t *x448_key_len, struct lc_kyber_x448_ct *ct) |
| | Obtain the reference to the Kyber ciphertext and its length.
|
| int | lc_kyber_x448_ss_ptr (uint8_t **kyber_ss, size_t *kyber_ss_len, uint8_t **x448_ss, size_t *x448_ss_len, struct lc_kyber_x448_ss *ss) |
| | Obtain the reference to the Kyber shared secret and its length.
|
| int | lc_kyber_x448_keypair (struct lc_kyber_x448_pk *pk, struct lc_kyber_x448_sk *sk, struct lc_rng_ctx *rng_ctx, enum lc_kyber_type kyber_type) |
| | Generates public and private key for IND-CCA2-secure Kyber key encapsulation mechanism.
|
| int | lc_kyber_x448_enc_kdf (struct lc_kyber_x448_ct *ct, uint8_t *ss, size_t ss_len, const struct lc_kyber_x448_pk *pk) |
| | Key encapsulation with KDF applied to shared secret.
|
| int | lc_kyber_x448_dec_kdf (uint8_t *ss, size_t ss_len, const struct lc_kyber_x448_ct *ct, const struct lc_kyber_x448_sk *sk) |
| | Key decapsulation with KDF applied to shared secret.
|
| int | lc_kex_x448_uake_initiator_init (struct lc_kyber_x448_pk *pk_e_i, struct lc_kyber_x448_ct *ct_e_i, struct lc_kyber_x448_ss *tk, struct lc_kyber_x448_sk *sk_e, const struct lc_kyber_x448_pk *pk_r) |
| | Initialize unilaterally authenticated key exchange.
|
| int | lc_kex_x448_uake_responder_ss (struct lc_kyber_x448_ct *ct_e_r, uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_x448_pk *pk_e_i, const struct lc_kyber_x448_ct *ct_e_i, const struct lc_kyber_x448_sk *sk_r) |
| | Initiator's shared secret generation.
|
| int | lc_kex_x448_uake_initiator_ss (uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_x448_ct *ct_e_r, const struct lc_kyber_x448_ss *tk, const struct lc_kyber_x448_sk *sk_e) |
| | Responder's shared secret generation.
|
| int | lc_kex_x448_ake_initiator_init (struct lc_kyber_x448_pk *pk_e_i, struct lc_kyber_x448_ct *ct_e_i, struct lc_kyber_x448_ss *tk, struct lc_kyber_x448_sk *sk_e, const struct lc_kyber_x448_pk *pk_r) |
| | Initialize authenticated key exchange.
|
| int | lc_kex_x448_ake_responder_ss (struct lc_kyber_x448_ct *ct_e_r_1, struct lc_kyber_x448_ct *ct_e_r_2, uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_x448_pk *pk_e_i, const struct lc_kyber_x448_ct *ct_e_i, const struct lc_kyber_x448_sk *sk_r, const struct lc_kyber_x448_pk *pk_i) |
| | Initiator's shared secret generation.
|
| int | lc_kex_x448_ake_initiator_ss (uint8_t *shared_secret, size_t shared_secret_len, const uint8_t *kdf_nonce, size_t kdf_nonce_len, const struct lc_kyber_x448_ct *ct_e_r_1, const struct lc_kyber_x448_ct *ct_e_r_2, const struct lc_kyber_x448_ss *tk, const struct lc_kyber_x448_sk *sk_e, const struct lc_kyber_x448_sk *sk_i) |
| | Responder's shared secret generation.
|