i.MX6 CAAM with Integrity OS

wolfSSL provides support for the i.MX6 and i.MX7, which can use NXP's Cryptographic Assistance and Assurance Module (CAAM) to perform hardware encryption. This use of hardware encryption provides a significant performance increase when used on larger buffers, which can be seen on wolfSSL's benchmark page.

 To show this performance increase in action, wolfSSL has run its benchmarks on an NXP i.MX6 with Green Hills INTEGRITY OS. The wolfSSL benchmark application runs various hashing algorithms and records the how efficiently and quickly they were performed. Below is a comparison of the data from software encryption benchmarks and hardware encryption benchmarks, showing how well the CAAM can improve performance:

Hardware encryption speeds (MB/s):

Block size - bytes

SHA1

SHA224

SHA256

HMAC-SHA256

16

1.897

1.889

1.884

1.259

512

13.752

14.144

14.143

12.614

1024

21.337

22.291

22.314

20.192

2048

29.031

31.024

31.102

29.074

4096

34.879

37.996

38.027

36.450

Software encryption speeds (MB/s):

Block size - bytes

SHA1

SHA224

SHA256

HMAC-SHA256

16

15.419

7.484

7.476

5.282

512

21.423

9.129

9.126

8.972

1024

21.565

9.165

9.162

9.082

2048

21.625

9.174

9.165

9.137

4096

21.686

9.192

9.195

9.174

References:
More information about NXP's cryptographic acceleration technology: https://www.nxp.com/applications/solutions/internet-of-things/secure-things/network-security-technology/cryptographic-acceleration-technology:NETWORK_SECURITY_CRYPTOG
NXP's i.MX6 product pages: https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-6-processors:IMX6X_SERIES
NXP's i.MX7 product pages: https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-7-processors:IMX7-SERIES