Encryption in nrf52840, hardware or software?

Hello my friends,

I was reading the nrf52840 documentation regarding the encryption.

I have realized there are two specifications which point to the fact that there are dedicated pieces of hardware for encyrption/dycrption goals

  •  ARMRegistered TrustZoneRegistered Cryptocell 310 cryptographic accelerator

  •  128 bit AES/ECB/CCM/AAR co-processor (on-the-fly packet encryption)

I can see there are several peripherals being mentioned in the documentation such as CCM-AES, CRYPTOCELL, ECB - AES. Reading the materials, I realized it is mentioned that all the said peripherals are using the same "AES core and that ECB has the lowest priority for using this shared resource. So, my first question/conclusion is that what here is meant by "AES-Core" is literally a hardware computation core separate from the CPU. Is the correct?

If so, then if all the encryption/decryption tasks are done through this computation core and using the easyDMA?

Is there any encryption/decryption done in software using the CPU instead of using the AES core?

If there is also the cpu-based 
cryptography then how does that compare in terms of energy consumption and computation speed with respect to the AES-based chryptography? 

Also, I realized there are several examples in the crypto folder such as 

  • aes_cbc
  • aes_ccm
  • aes_ctr
  • aes_gcm

Could you please tell if these examples use ECB peripheral? If not, how they can perform chrytographic task while being detached from the radio?

Parents Reply Children
No Data
Related