58#define COSE_ALG_AES_CCM_16_64_128 10
59#define COSE_ALG_AES_CCM_16_64_128_KEY_LEN 16
60#define COSE_ALG_AES_CCM_16_64_128_IV_LEN 13
61#define COSE_ALG_AES_CCM_16_64_128_TAG_LEN 8
64#define COSE_ALG_AES_CCM_16_128_128 30
65#define COSE_ALG_AES_CCM_16_128_128_KEY_LEN 16
66#define COSE_ALG_AES_CCM_16_128_128_IV_LEN 13
67#define COSE_ALG_AES_CCM_16_128_128_TAG_LEN 16
70#define COSE_MAX_KEY_LEN 16
71#define COSE_MAX_IV_LEN 13
72#define COSE_MAX_TAG_LEN 16
104 const uint8_t *key,
const uint8_t *nonce,
105 const uint8_t *external_aad,
size_t external_aad_len,
106 uint8_t *buf,
size_t plaintext_len,
107 size_t buf_capacity);
130 const uint8_t *key,
const uint8_t *nonce,
131 const uint8_t *external_aad,
size_t external_aad_len,
132 uint8_t *buf,
size_t ciphertext_len);
149 const uint8_t *protected_hdr,
size_t protected_hdr_len,
150 const uint8_t *external_aad,
size_t external_aad_len,
151 const uint8_t *payload,
size_t payload_len,
169 const uint8_t *protected_hdr,
size_t protected_hdr_len,
170 const uint8_t *external_aad,
size_t external_aad_len,
171 const uint8_t *payload,
size_t payload_len,
172 const uint8_t *signature,
size_t signature_len);
EDHOC configuration file.
uint8_t cose_get_key_len(uint8_t alg_id)
Get the symmetric key length for a COSE AEAD algorithm.
size_t cose_encrypt0_open(uint8_t alg, const uint8_t *key, const uint8_t *nonce, const uint8_t *external_aad, size_t external_aad_len, uint8_t *buf, size_t ciphertext_len)
AEAD-decrypt a buffer in place as a COSE_Encrypt0.
uint8_t cose_get_iv_len(uint8_t alg_id)
Get the nonce/IV length for a COSE AEAD algorithm.
uint8_t cose_get_tag_len(uint8_t alg_id)
Get the authentication tag length for a COSE AEAD algorithm.
size_t cose_encrypt0_seal(uint8_t alg, const uint8_t *key, const uint8_t *nonce, const uint8_t *external_aad, size_t external_aad_len, uint8_t *buf, size_t plaintext_len, size_t buf_capacity)
AEAD-encrypt a buffer in place as a COSE_Encrypt0.
size_t cose_sign1_sign(int8_t alg, const uint8_t *private_key, const uint8_t *protected_hdr, size_t protected_hdr_len, const uint8_t *external_aad, size_t external_aad_len, const uint8_t *payload, size_t payload_len, uint8_t *signature)
Produce a COSE_Sign1 signature.
bool cose_sign1_verify(int8_t alg, const uint8_t *public_key, const uint8_t *protected_hdr, size_t protected_hdr_len, const uint8_t *external_aad, size_t external_aad_len, const uint8_t *payload, size_t payload_len, const uint8_t *signature, size_t signature_len)
Verify a COSE_Sign1 signature.