I would like to run AES encryption for Bluetooth packets and other data concurrently. Does AES encryption with hardware acceleration has limited to run concurrently?
I would like to run AES encryption for Bluetooth packets and other data concurrently. Does AES encryption with hardware acceleration has limited to run concurrently?
Hi,
There are limitations on the concurrent use. AES CCM hardware peripheral has only one on-going user. This is the reason for the existence of timeslot. You could have a look at Multiprotocol Service Layer (MPSL), Timeslot and MPSL Timeslot sample.
Best regards,
Dejan
Thanks for your reply! Is it possible for AES CCM encryption with hardware acceleration for Bluetooth packets. And AES CBC, CTR, or GCM encryption with hardware acceleration for other data concurrently?
Hi,
It is intended that AES CCM is used separately from AES CBC, CTR or GCM. Crypto features are independent hardware components which do not affect each other. Cryptography samples which can be found in nrf\samples\crypto use Protected Storage API. These APIs do not use AES CCM peripheral. Crypto Cell hardware peripheral used by AES CBC, CTR and GCM samples has single user restriction for symmetric operations with one ongoing operation.
From device perspective, AES GCM is not supported on nRF52840 and nRF9160, but it is supported on nRF5340. In addition, nRF52840 and nRF9160 support key lengths of 128 bits while nRF5340 can have keys of 256 bits. Finally, there is an optimized software implementation of AES (nrf_oberon crypto library) for devices without Crypto Cell support.
Best regards,
Dejan
Thanks for your reply! I am using nRF5340 device. Since there are many AES mode. Which AES mode do you suggest for encryption data for saving to NOR flash?
Hi,
Limitations on AES samples are given for the type of SoC that sample is intended to be run on.
Best regards,
Dejan