Hello,
Are there examples of AES CCM encryption/decription?
Is there a recommended procedure for generating nounces?
Are there recommended procedures for using CCM?
Thank you.
Update: I forgot to mention I am using a nrf52832.
Hello,
Are there examples of AES CCM encryption/decription?
Is there a recommended procedure for generating nounces?
Are there recommended procedures for using CCM?
Thank you.
Update: I forgot to mention I am using a nrf52832.
Hi Lucas
I made an example and made it available on Github:
github.com/.../nrf52-esb-ccm-example
Please have a look at it and let me know if it can be of any help. If you have any feedback on the code I will make sure to take it into consideration :)
Best regards
Torbjørn
Hi Lucas
I made an example and made it available on Github:
github.com/.../nrf52-esb-ccm-example
Please have a look at it and let me know if it can be of any help. If you have any feedback on the code I will make sure to take it into consideration :)
Best regards
Torbjørn
Hello Torbjørn,
Thank you very much!
Sure, if you need anything from my end please let me know.
I would appreciate any feedback on the example, if it answers your questions or not. If I don't hear anything I will assume the example is good enough ;)
Hi. I have tried to utilize example to make AES CCM encryption/decryption independently of Radio. I mean just encrypt data or decrypt and not sending data over radio interface. Not utilizing the SDK or SD. Quite much following the example but ending to situation that already the KSGEN ends upto infinite loop never ending before watchdog resets the system. In radio interface S0 and S1 are not enabled. I tried fisrt with packet size 128 bytes and later as in example 8 bytes. But same result. Any possibility as the feature is fresh in mind to make example where encryption is not done simultanously with the radio interface? Or any key issues to remind. I took also account the ERRDATA for CCM slowness issue. BR. Macro
Hi, I have a few questions appeared at same:
CCM data field is defined in example as:
typedef struct
{
uint8_t key[CCM_KEY_SIZE];
uint64_t counter;
uint8_t _padding[8 - CCM_COUNTER_SIZE];
uint8_t iv[CCM_IV_SIZE];
}ccm_data_t;
In NRF52832 product specification address offset of 24 octet mentions direction bit without further explanation and generally after 8 (effective 5) byte counter field is only 1 byte before nonce IV location. In example there is 3 byte _padding instead. BR Macro
Hi, Solved the infinite loop issue. Result was due wrong enabling bit usage. However the direction bit and padding issue are still interesting issues due different size crypting needs vs. example. BR Macro