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.
 Include dependency graph for ctap_crypto.h:
 This graph shows which files directly or indirectly include this file: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.   | |