FIDO2 CTAP crypto helper defines, structures and function declarations. More...
FIDO2 CTAP crypto helper defines, structures and function declarations.
Definition in file ctap_crypto.h.
Go to the source code of this file.
Data Structures | |
struct | ctap_crypto_pub_key_t |
Elliptic curve public key. More... | |
struct | ctap_crypto_key_agreement_key_t |
Key agreement key. More... | |
Macros | |
#define | CTAP_CRYPTO_KEY_SIZE 32 |
Size in bytes of cryptographic keys used. | |
#define | CTAP_CRYPTO_ES256_DER_MAX_SIZE 72 |
Max size of ES256 signature in ASN.1 DER format. | |
Functions | |
ctap_status_code_t | fido2_ctap_crypto_init (void) |
Initialize crypto helper. | |
ctap_status_code_t | fido2_ctap_crypto_prng (uint8_t *buf, size_t len) |
Wrapper function for random_bytes. | |
ctap_status_code_t | fido2_ctap_crypto_sha256_init (sha256_context_t *ctx) |
Wrapper function for sha256_init. | |
ctap_status_code_t | fido2_ctap_crypto_sha256_update (sha256_context_t *ctx, const void *data, size_t len) |
Wrapper function for sha256_update. | |
ctap_status_code_t | fido2_ctap_crypto_sha256_final (sha256_context_t *ctx, void *digest) |
Wrapper for sha256_final. | |
ctap_status_code_t | fido2_ctap_crypto_sha256 (const void *data, size_t len, void *digest) |
Wrapper function for sha256. | |
ctap_status_code_t | fido2_ctap_crypto_hmac_sha256_init (hmac_context_t *ctx, const void *key, size_t key_length) |
Wrapper function for hmac_sha256_init. | |
ctap_status_code_t | fido2_ctap_crypto_hmac_sha256_update (hmac_context_t *ctx, const void *data, size_t len) |
Wrapper function for hmac_sha256_update. | |
ctap_status_code_t | fido2_ctap_crypto_hmac_sha256_final (hmac_context_t *ctx, void *digest) |
Wrapper function for hmac_sha256_final. | |
ctap_status_code_t | fido2_ctap_crypto_hmac_sha256 (const void *key, size_t key_length, const void *data, size_t len, void *digest) |
Wrapper function for hmac_sha256. | |
ctap_status_code_t | fido2_ctap_crypto_gen_keypair (ctap_crypto_pub_key_t *pub_key, uint8_t *priv_key, size_t len) |
Generate cryptographic key pair. | |
ctap_status_code_t | fido2_ctap_crypto_ecdh (uint8_t *out, size_t len, ctap_crypto_pub_key_t *pub_key, uint8_t *priv_key, size_t key_len) |
Elliptic-curve Diffie-Hellmann. | |
ctap_status_code_t | fido2_ctap_crypto_get_sig (uint8_t *hash, size_t hash_len, uint8_t *sig, size_t *sig_len, const uint8_t *key, size_t key_len) |
Create cryptographic signature. | |
ctap_status_code_t | fido2_ctap_crypto_aes_enc (uint8_t *out, size_t *out_len, uint8_t *in, size_t in_len, const uint8_t *key, size_t key_len) |
Encrypt data using AES-256-CBC. | |
ctap_status_code_t | fido2_ctap_crypto_aes_dec (uint8_t *out, size_t *out_len, uint8_t *in, size_t in_len, const uint8_t *key, size_t key_len) |
Decrypt data using AES-256-CBC. | |
ctap_status_code_t | fido2_ctap_crypto_aes_ccm_enc (uint8_t *out, size_t out_len, const uint8_t *in, size_t in_len, uint8_t *auth_data, size_t auth_data_len, uint8_t mac_len, uint8_t length_encoding, const uint8_t *nonce, size_t nonce_len, const uint8_t *key, size_t key_len) |
Encrypt data using AES-128-CCM. | |
ctap_status_code_t | fido2_ctap_crypto_aes_ccm_dec (uint8_t *out, size_t out_len, const uint8_t *in, size_t in_len, uint8_t *auth_data, size_t auth_data_len, uint8_t mac_len, uint8_t length_encoding, const uint8_t *nonce, size_t nonce_len, const uint8_t *key, size_t key_len) |
Encrypt data using AES-128-CCM. | |