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

ECDH

Elliptic Curve Diffie Hellman (ECDH) (see Reference [5] and Reference [10]) is used to establish a shared secret over an insecure channel. The ECDH benchmark consists of two operations: generating a public key from a private key and computing a shared secret. Private key generation is not considered by the benchmark. Both operations are dominated by the cost of an ECC scalar multiplication. Their differences lie in which public and private key is used and what type of parameter and curve validation is run.

The variable that affects performance for ECDH operations is the choice of elliptic curve. We have chosen to benchmark the NIST-P256 [10] and Curve25519 [11] curves.

Table 14. ECDH Benchmark Results

Operation Curve Duration HW (ms) Duration SW mbed TLS (ms) Duration Improvement Average Current HW (mA) Average Current SW mbed TLS (mA) Energy Efficiency Improvement
Generate Public Key NIST-P256 114.0 231 2.0 1.68 3.10 3.7
Compute Shared Secret NIST-P256 114.3 668 5.8 1.69 3.10 10.7
Generate Public Key Curve25519 54.9 585 10.6 1.68 3.10 19.6
Compute Shared Secret Curve25519 54.9 620 11.3 1.68 3.10 20.8