SWRA667 January 2020 CC1312PSIP , CC1312R , CC1314R10 , CC1352P , CC1352P7 , CC1352R , CC1354P10 , CC1354R10 , CC2642R , CC2642R-Q1 , CC2652P , CC2652R , CC2652R7 , CC2652RB , CC2652RSIP
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.
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 |