SWRA667 January   2020 CC1312PSIP , CC1312R , CC1314R10 , CC1352P , CC1352P7 , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652R , CC2652R7 , CC2652RB , CC2652RSIP

 

  1.   Cryptographic Performance and Energy Efficiency on SimpleLink™ CC13x2/CC26x2 Wireless MCUs
    1.     Trademarks
    2. 1 Abbreviations and Acronyms
    3. 2 Introduction
    4. 3 Benefits of Cryptographic Acceleration in Embedded Security Solutions
    5. 4 TI Drivers for SimpleLink MCUs
      1. 4.1 Power Management Overview
      2. 4.2 Return Behavior
        1. 4.2.1 Runtime Overhead
      3. 4.3 Efficient Power Management
    6. 5 CC13x2/CC26x2 Crypto Peripherals
      1. 5.1 AES and Hash Crypto Accelerator
      2. 5.2 Public Key Accelerator
        1. 5.2.1 ECDH Power Management Driver Example
      3. 5.3 TRNG
    7. 6 Benchmarks
      1. 6.1 AES and Hash Crypto Accelerator Based Drivers
        1. 6.1.1 AES CBC
        2. 6.1.2 AES CCM
        3. 6.1.3 AES GCM
        4. 6.1.4 AES CTR DRBG
        5. 6.1.5 SHA-224
        6. 6.1.6 SHA-256
        7. 6.1.7 SHA-384
        8. 6.1.8 SHA-512
      2. 6.2 PKA Engine Based Drivers
        1. 6.2.1 ECDH
        2. 6.2.2 ECDSA
        3. 6.2.3 ECJPAKE
      3. 6.3 TRNG Based Drivers
        1. 6.3.1 TRNG
    8. 7 Conclusion
    9. 8 References
    10.     Appendix: Plots of Blocking vs Polling Performance

Benchmarks

To showcase the power and speed benefit of using the hardware accelerated drivers in comparison to a software based implementation, we have run several benchmarks. The metrics of interest are:

  • Crypto operation duration
  • Energy consumption
  • Relative runtime performance and energy efficiency versus a software implementation

To compute these metrics, we collected the following data points for each benchmark:

  • Duration HW: The duration of the operation when using hardware accelerators through the crypto drivers.
  • Duration SW mbed TLS: The duration of the operation when using mbed TLS. mbed TLS is a widely adopted open source software crypto package that is optimized for embedded applications. This provides a reference for the durations of operations on an equivalent device without hardware accelerators.
  • Average Current HW: The average current consumed during the operation. Because the device is turning on and off accelerators and entering idle dynamically, the current consumption is not constant. Therefore, the average current consumption during this operation duration is considered.
  • Average Current SW mbed TLS: The average current consumed during a software-only run of a benchmark.

The comparison metrics Duration Improvement and Energy Efficiency Improvement both describe the relative performance increase obtained by using the hardware accelerated drivers compared to the pure software implementation. They are computed by dividing the mbed TLS duration or energy used by the equivalent accelerated driver value.

Equation 1. KDuration Improvement  =  tmbed TLS tHW
Equation 2. KEnergy Efficiency Improvement  =  tmbed TLS  ×  Imbed TLS tHW  ×  IHW

The larger the number, the more efficient it is to use the drivers.

All benchmarks were run on a SimpleLink multi-standard CC26x2R wireless MCU LaunchPad™ development kit (LAUNCHXL-CC26X2R1) running at 48 MHz and powered with 3.3 V. The benchmark project was compiled with SimpleLink CC13x2-CC26x2 SDK version 3.20.00.68. The mbed TLS library was built with mbed TLS version 2.7.9. The project and mbed TLS library were compiled with the TI ARM C/C++ 18.12.1.LTS compiler using -O3 optimization settings. Current measurements were taken using an Agilent N6705B Power Analyzer. Time measurements were made with a Saleae Logic 8 measuring GPIO signals. Results are comparable between the CC26x2 and CC13x2 device families.