SWRA667 January   2020 CC1312PSIP , CC1312R , CC1314R10 , CC1352P , CC1352P7 , CC1352R , CC1354P10 , CC1354R10 , 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

Public Key Accelerator

The public key accelerator (PKA) provides access to large number math operations and several dedicated elliptic curve cryptography (ECC) (see Reference [5]) primitives. It also contains 2k bytes of dedicated SRAM to manage intermediate results and is used as workspace for the PKA itself. The PKA based drivers listed below manage all required PKA RAM accesses themselves.

Unlike the AES and hash crypto accelerator, there are no true fire-and-forget operations when using the PKA engine. Every ECC driver requires multiple PKA operations to perform any driver operation. This is abstracted away from the application by the drivers.

PKA operations vary highly in their duration. A simple 128-bit addition might take a few microseconds while a Short-Weierstrass scalar point multiplication takes 113 ms. The computational cost of ECC driver operations is dominated by scalar point multiplications and point additions as they are the most computationally expensive operations by several orders of magnitude and are executed in every ECC driver call. With such operation durations, the overhead costs are only marginal. Blocking and callback return behaviors perform well with ECC operations compared to polling return behavior. Polling return behavior is implemented for portability between devices within the SimpleLink ecosystem and for completeness.

Table 4. Drivers Using the PKA Engine

Driver Recommended Return Behavior
ECDH Blocking or Callback
ECDSA Blocking or Callback
ECJPAKE Blocking or Callback