diff --git a/sys/crypto/modes/ccm.c b/sys/crypto/modes/ccm.c index c8818213cadd8517af47aae68cfd7b3f0231aaf4..50ad97008ead0007179aede633737db63078a549 100644 --- a/sys/crypto/modes/ccm.c +++ b/sys/crypto/modes/ccm.c @@ -144,10 +144,11 @@ static inline int _fits_in_nbytes(size_t value, uint8_t num_bytes) } -int cipher_encrypt_ccm(cipher_t* cipher, uint8_t* auth_data, uint32_t auth_data_len, +int cipher_encrypt_ccm(cipher_t* cipher, + const uint8_t* auth_data, uint32_t auth_data_len, uint8_t mac_length, uint8_t length_encoding, - uint8_t* nonce, size_t nonce_len, - uint8_t* input, size_t input_len, + const uint8_t* nonce, size_t nonce_len, + const uint8_t* input, size_t input_len, uint8_t* output) { int len = -1; @@ -207,10 +208,12 @@ int cipher_encrypt_ccm(cipher_t* cipher, uint8_t* auth_data, uint32_t auth_data_ } -int cipher_decrypt_ccm(cipher_t* cipher, uint8_t* auth_data, - uint32_t auth_data_len, uint8_t mac_length, - uint8_t length_encoding, uint8_t* nonce, size_t nonce_len, - uint8_t* input, size_t input_len, uint8_t* plain) +int cipher_decrypt_ccm(cipher_t* cipher, + const uint8_t* auth_data, uint32_t auth_data_len, + uint8_t mac_length, uint8_t length_encoding, + const uint8_t* nonce, size_t nonce_len, + const uint8_t* input, size_t input_len, + uint8_t* plain) { int len = -1; uint8_t nonce_counter[16] = {0}, mac_iv[16] = {0}, mac[16] = {0}, diff --git a/sys/include/crypto/modes/ccm.h b/sys/include/crypto/modes/ccm.h index 03ac25a5f15b3b7b008c44c284e3c4063c9d1480..aacf2f05a83a1e873e380ef74562e01e809b049e 100644 --- a/sys/include/crypto/modes/ccm.h +++ b/sys/include/crypto/modes/ccm.h @@ -57,10 +57,12 @@ extern "C" { * @return Length of encrypted data on a successful encryption * @return A negative error code if something went wrong */ -int cipher_encrypt_ccm(cipher_t* cipher, uint8_t* auth_data, - uint32_t auth_data_len, uint8_t mac_length, - uint8_t length_encoding, uint8_t* nonce, size_t nonce_len, - uint8_t* input, size_t input_len, uint8_t* output); +int cipher_encrypt_ccm(cipher_t* cipher, + const uint8_t* auth_data, uint32_t auth_data_len, + uint8_t mac_length, uint8_t length_encoding, + const uint8_t* nonce, size_t nonce_len, + const uint8_t* input, size_t input_len, + uint8_t* output); /** @@ -84,10 +86,12 @@ int cipher_encrypt_ccm(cipher_t* cipher, uint8_t* auth_data, * @return Length of the decrypted data on a successful decryption * @return A negative error code if something went wrong */ -int cipher_decrypt_ccm(cipher_t* cipher, uint8_t* auth_data, - uint32_t auth_data_len, uint8_t mac_length, - uint8_t length_encoding, uint8_t* nonce, size_t nonce_len, - uint8_t* input, size_t input_len, uint8_t* output); +int cipher_decrypt_ccm(cipher_t* cipher, + const uint8_t* auth_data, uint32_t auth_data_len, + uint8_t mac_length, uint8_t length_encoding, + const uint8_t* nonce, size_t nonce_len, + const uint8_t* input, size_t input_len, + uint8_t* output); #ifdef __cplusplus } diff --git a/tests/unittests/tests-crypto/tests-crypto-modes-ccm.c b/tests/unittests/tests-crypto/tests-crypto-modes-ccm.c index c9151d9ef57a8124ac8b5f7aa7066524186807c9..a8fcedf175488705f4afe59dbde3ae83b7862c02 100644 --- a/tests/unittests/tests-crypto/tests-crypto-modes-ccm.c +++ b/tests/unittests/tests-crypto/tests-crypto-modes-ccm.c @@ -190,8 +190,9 @@ static void test_crypto_modes_ccm_decrypt(void) } -typedef int (*func_ccm_t)(cipher_t*, uint8_t*, uint32_t, uint8_t, uint8_t, - uint8_t*, size_t, uint8_t*, size_t, uint8_t*); +typedef int (*func_ccm_t)(cipher_t*, const uint8_t*, uint32_t, + uint8_t, uint8_t, const uint8_t*, size_t, + const uint8_t*, size_t, uint8_t*); static int _test_ccm_len(func_ccm_t func, uint8_t len_encoding, uint8_t *input, size_t input_len, size_t adata_len)