SWCU185G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
ECC-ADD only uses the PKCP engine for calculations. Performance depends on the type of PKCP engine and is slightly dependent on the data values used (a few percent variability is expected). Table 13-43 lists the performance values.
Vector Length for Modulus and Input | 32-Bit PKCP | 16-Bit PKCP | ||||
---|---|---|---|---|---|---|
Number of Clocks | ops/sec at 400 MHz | Number of Clocks | ops/sec at 400 MHz | |||
128 | Point addition | bits | 29,731 | 13,453 | 33,714 | 11,855 |
Point doubling | 30,623 | 13,062 | 34,749 | 11,511 | ||
160 | Point addition | 36,689 | 10,902 | 43,266 | 9245 | |
Point doubling | 38,953 | 10,268 | 46,246 | 8649 | ||
192 | Point addition | 46,062 | 8683 | 56,403 | 7091 | |
Point doubling | 47,757 | 8375 | 58,229 | 6869 | ||
224 | Point addition | 55,276 | 7236 | 68,969 | 5799 | |
Point doubling | 55,586 | 7196 | 70,169 | 5700 | ||
256 | Point addition | 65,661 | 6091 | 84,140 | 4753 | |
Point doubling | 64,179 | 6232 | 82,935 | 4823 | ||
320 | Point addition | 81,660 | 4898 | 110,963 | 3604 | |
Point doubling | 84,722 | 4721 | 115,581 | 3460 | ||
384 | Point addition | 102,271 | 3911 | 145,655 | 2746 | |
Point doubling | 108,127 | 3699 | 154,698 | 2585 | ||
512 | Point addition | 154,132 | 2595 | 236,331 | 1692 | |
Point doubling | 155,896 | 2565 | 241,818 | 1654 | ||
521 | Point addition | 155,609 | 2570 | 243,138 | 1645 | |
Point doubling | 163,727 | 2443 | 257,409 | 1553 |
The ECC-MUL operation uses the PKCP and LNME engines in parallel (if both are available). Because of the usage of a version of the ECC ladder algorithm, performance is independent of the scalar multiplication vector k. A slight variability (less than 2 percent) is expected because of the three modular inversions performed at the end of the algorithm (see Table 13-44).
Vector Length in Bits for All Input Values | Performance in Clocks and ops/sec at 400 MHz | PKA Engine Type | |||||||
---|---|---|---|---|---|---|---|---|---|
16-Bit PKCP EIP-28-A | 32-Bit PKCP EIP-28-B | 16-Bit PKCP and 4 PEs LNME EIP-28-PE4 | 16-Bit PKCP and 6 PEs LNME EIP-28-PE6 | 16-Bit PKCP and 8 PEs LNME EIP-28-PE8 | 16-Bit PKCP and 12 PEs LNME EIP-28-PE12 | 16-Bit PKCP and 17 PEs LNME EIP-28-PE17 | 16-Bit PKCP and 33 PEs LNME EIP-28-PE33 | ||
128 | Number of clocks | 1.36 × 106 | 593,198 | 279,360 | 260,900 | 261,204 | 261,147 | 273,271 | 262,939 |
ops/sec | 294 | 674 | 1433 | 1538 | 1532 | 1532 | 1465 | 1526 | |
160 | Number of clocks | 1.90 × 106 | 805,751 | 403,005 | 362,210 | 362,103 | 362,052 | 363,446 | 359,373 |
ops/sec | 210 | 496 | 992 | 1104 | 1104 | 1104 | 1101 | 1114 | |
192 | Number of clocks | 3.00 × 106 | 1.35 × 106 | 523,642 | 483,576 | 471,758 | 468,428 | 470,356 | 474,056 |
ops/sec | 133 | 296 | 764 | 828 | 849 | 854 | 851 | 843 | |
224 | Number of clocks | 4.67 × 106 | 1.70 × 106 | 759,184 | 600,342 | 602,421 | 600,341 | 602,500 | 601,374 |
ops/sec | 85 | 235 | 527 | 666 | 664 | 666 | 664 | 665 | |
256 | Number of clocks | 5.51 × 106 | 2.06 × 106 | 932,685 | 757,287 | 731,397 | 733,945 | 732,391 | 786,247 |
ops/sec | 72 | 194 | 429 | 528 | 547 | 545 | 546 | 508 | |
320 | Number of clocks | 10.3 × 106 | 3.58 × 106 | 1.52 × 106 | 1.19 × 106 | 1.10 × 106 | 1.08 × 106 | 1.07 × 106 | 1.08 × 106 |
ops/sec | 38 | 111 | 263 | 336 | 363 | 370 | 373 | 370 | |
384 | Number of clocks | 15.5 × 106 | 5.67 × 106 | 2.30 × 106 | 1.84 × 106 | 1.61 × 106 | 1.46 × 106 | 1.46 × 106 | 1.47 × 106 |
ops/sec | 25 | 70 | 173 | 217 | 248 | 273 | 273 | 272 | |
512 | Number of clocks | 33.2 × 106 | 10.6 × 106 | 4.58 × 106 | 3.40 × 106 | 3.00 × 106 | 2.42 × 106 | 2.43 × 106 | 2.41 × 106 |
ops/sec | 12 | 37 | 87 | 117 | 133 | 165 | 164 | 165 | |
521 | Number of clocks | 35.5 × 106 | 11.2 × 106 | 5.02 × 106 | 3.92 × 106 | 3.26 × 106 | 2.61 × 106 | 2.53 × 106 | 2.55 × 106 |
ops/sec | 11 | 35 | 79 | 102 | 122 | 153 | 158 | 156 |