Copyright (c) 2014-2019 SEGGER Microcontroller GmbH www.segger.com
Modular Exponentiation Benchmark compiled Jul 8 2019 16:02:07
Compiler: gcc 8.2.1
System: Processor speed = 200.000 MHz
Config: CRYPTO_VERSION = 23400 [2.34]
Config: CRYPTO_MPI_BITS_PER_LIMB = 32
Modular Arithmetic Performance
==============================
CRT private key, exponent length = modulus length, all times in ms
+---------------------------+--------------------------------+--------------------------------+
| Modulus | 1024 bits | 2048 bits |
| Algorithm | Time x Memory x | Time x Memory x |
+---------------------------+--------------------------------+--------------------------------+
| Basic, fast | 75.96 1.00x 700 1.00x | 392.53 1.00x 1340 1.00x |
| Basic, ladder | 106.33 0.71x 840 1.20x | 592.60 0.66x 1608 1.20x |
| Basic, 2b, FW | 70.55 1.08x 1260 1.80x | 370.01 1.06x 2412 1.80x |
| Basic, 3b, FW | 66.11 1.15x 1820 2.60x | 355.96 1.10x 3484 2.60x |
| Basic, 4b, FW | 63.64 1.19x 2940 4.20x | 343.63 1.14x 5628 4.20x |
| Basic, 5b, FW | 63.08 1.20x 5180 7.40x | 337.29 1.16x 9916 7.40x |
| Basic, 6b, FW | 64.79 1.17x 9660 13.80x | 335.20 1.17x 18492 13.80x |
+---------------------------+--------------------------------+--------------------------------+
| Basic, 2b, RM | 69.09 1.10x 1260 1.80x | 365.13 1.08x 2412 1.80x |
| Basic, 3b, RM | 65.32 1.16x 1540 2.20x | 349.79 1.12x 2948 2.20x |
| Basic, 4b, RM | 62.74 1.21x 2100 3.00x | 338.68 1.16x 4020 3.00x |
| Basic, 5b, RM | 61.58 1.23x 3220 4.60x | 333.02 1.18x 6164 4.60x |
| Basic, 6b, RM | 61.60 1.23x 5460 7.80x | 328.53 1.19x 10452 7.80x |
+---------------------------+--------------------------------+--------------------------------+
| Barrett, fast | 73.92 1.03x 980 1.40x | 367.49 1.07x 1876 1.40x |
| Barrett, ladder | 101.56 0.75x 1120 1.60x | 544.15 0.72x 2144 1.60x |
| Barrett, 2b, FW | 69.65 1.09x 1540 2.20x | 347.70 1.13x 2948 2.20x |
| Barrett, 3b, FW | 64.77 1.17x 2100 3.00x | 332.59 1.18x 4020 3.00x |
| Barrett, 4b, FW | 62.30 1.22x 3220 4.60x | 319.26 1.23x 6164 4.60x |
| Barrett, 5b, FW | 61.74 1.23x 5460 7.80x | 312.83 1.25x 10452 7.80x |
| Barrett, 6b, FW | 63.34 1.20x 9940 14.20x | 311.39 1.26x 19028 14.20x |
+---------------------------+--------------------------------+--------------------------------+
| Barrett, 2b, RM | 67.66 1.12x 1540 2.20x | 341.26 1.15x 2948 2.20x |
| Barrett, 3b, RM | 63.93 1.19x 1820 2.60x | 327.94 1.20x 3484 2.60x |
| Barrett, 4b, RM | 61.41 1.24x 2380 3.40x | 314.94 1.25x 4556 3.40x |
| Barrett, 5b, RM | 60.27 1.26x 3500 5.00x | 307.87 1.27x 6700 5.00x |
| Barrett, 6b, RM | 60.31 1.26x 5740 8.20x | 303.50 1.29x 10988 8.20x |
+---------------------------+--------------------------------+--------------------------------+
| Montgomery, fast | 45.21 1.68x 700 1.00x | 271.54 1.45x 1340 1.00x |
| Montgomery, ladder | 60.20 1.26x 840 1.20x | 359.35 1.09x 1608 1.20x |
| Montgomery, 2b, FW | 45.66 1.66x 1260 1.80x | 271.36 1.45x 2412 1.80x |
| Montgomery, 3b, FW | 41.05 1.85x 1820 2.60x | 242.53 1.62x 3484 2.60x |
| Montgomery, 4b, FW | 39.08 1.94x 2940 4.20x | 229.27 1.71x 5628 4.20x |
| Montgomery, 5b, FW | 38.64 1.97x 5180 7.40x | 223.38 1.76x 9916 7.40x |
| Montgomery, 6b, FW | 39.63 1.92x 9660 13.80x | 223.30 1.76x 18492 13.80x |
+---------------------------+--------------------------------+--------------------------------+
| Montgomery, 2b, RM | 41.95 1.81x 1260 1.80x | 250.15 1.57x 2412 1.80x |
| Montgomery, 3b, RM | 39.48 1.92x 1540 2.20x | 233.88 1.68x 2948 2.20x |
| Montgomery, 4b, RM | 38.08 1.99x 2100 3.00x | 223.86 1.75x 4020 3.00x |
| Montgomery, 5b, RM | 37.43 2.03x 3220 4.60x | 218.81 1.79x 6164 4.60x |
| Montgomery, 6b, RM | 37.55 2.02x 5460 7.80x | 216.08 1.82x 10452 7.80x |
+---------------------------+--------------------------------+--------------------------------+
| Configured | 45.25 1.68x 700 1.00x | 271.81 1.44x 1340 1.00x |
+---------------------------+--------------------------------+--------------------------------+
Public key, exponent length = 17 bits, all times in ms
+---------------------------+--------------------------------+--------------------------------+
| Modulus | 1024 bits | 2048 bits |
| Algorithm | Time x Memory x | Time x Memory x |
+---------------------------+--------------------------------+--------------------------------+
| Basic, fast | 2.14 1.00x 804 1.00x | 7.15 1.00x 1572 1.00x |
| Basic, ladder | 4.51 0.47x 1072 1.33x | 15.23 0.47x 2096 1.33x |
| Basic, 2b, FW | 2.53 0.85x 1876 2.33x | 8.30 0.86x 3668 2.33x |
| Basic, 3b, FW | 2.98 0.72x 2948 3.67x | 9.88 0.72x 5764 3.67x |
| Basic, 4b, FW | 4.30 0.50x 5092 6.33x | 14.31 0.50x 9956 6.33x |
| Basic, 5b, FW | 6.57 0.33x 9380 11.67x | 21.90 0.33x 18340 11.67x |
| Basic, 6b, FW | 10.96 0.20x 17956 22.33x | 36.40 0.20x 35108 22.33x |
+---------------------------+--------------------------------+--------------------------------+
| Basic, 2b, RM | 2.42 0.89x 1876 2.33x | 8.07 0.89x 3668 2.33x |
| Basic, 3b, RM | 2.71 0.79x 2412 3.00x | 9.09 0.79x 4716 3.00x |
| Basic, 4b, RM | 3.32 0.64x 3484 4.33x | 11.13 0.64x 6812 4.33x |
| Basic, 5b, RM | 4.52 0.47x 5628 7.00x | 15.16 0.47x 11004 7.00x |
| Basic, 6b, RM | 6.91 0.31x 9916 12.33x | 23.16 0.31x 19388 12.33x |
+---------------------------+--------------------------------+--------------------------------+
| Barrett, fast | 2.23 0.96x 1340 1.67x | 7.09 1.01x 2620 1.67x |
| Barrett, ladder | 4.62 0.46x 1608 2.00x | 15.04 0.48x 3144 2.00x |
| Barrett, 2b, FW | 2.69 0.80x 2412 3.00x | 8.32 0.86x 4716 3.00x |
| Barrett, 3b, FW | 3.09 0.69x 3484 4.33x | 9.75 0.73x 6812 4.33x |
| Barrett, 4b, FW | 4.37 0.49x 5628 7.00x | 13.94 0.51x 11004 7.00x |
| Barrett, 5b, FW | 6.56 0.33x 9916 12.33x | 21.13 0.34x 19388 12.33x |
| Barrett, 6b, FW | 10.83 0.20x 18492 23.00x | 34.91 0.20x 36156 23.00x |
+---------------------------+--------------------------------+--------------------------------+
| Barrett, 2b, RM | 2.51 0.85x 2412 3.00x | 7.97 0.90x 4716 3.00x |
| Barrett, 3b, RM | 2.80 0.77x 2948 3.67x | 8.94 0.80x 5764 3.67x |
| Barrett, 4b, RM | 3.40 0.63x 4020 5.00x | 10.87 0.66x 7860 5.00x |
| Barrett, 5b, RM | 4.57 0.47x 6164 7.67x | 14.70 0.49x 12052 7.67x |
| Barrett, 6b, RM | 6.90 0.31x 10452 13.00x | 22.29 0.32x 20436 13.00x |
+---------------------------+--------------------------------+--------------------------------+
| Montgomery, fast | 1.90 1.13x 804 1.00x | 6.48 1.10x 1572 1.00x |
| Montgomery, ladder | 3.45 0.62x 1072 1.33x | 11.83 0.60x 2096 1.33x |
| Montgomery, 2b, FW | 2.84 0.75x 1876 2.33x | 9.79 0.73x 3668 2.33x |
| Montgomery, 3b, FW | 2.94 0.73x 2948 3.67x | 10.10 0.71x 5764 3.67x |
| Montgomery, 4b, FW | 3.74 0.57x 5092 6.33x | 12.84 0.56x 9956 6.33x |
| Montgomery, 5b, FW | 5.09 0.42x 9380 11.67x | 17.42 0.41x 18340 11.67x |
| Montgomery, 6b, FW | 7.70 0.28x 17956 22.33x | 26.29 0.27x 35108 22.33x |
+---------------------------+--------------------------------+--------------------------------+
| Montgomery, 2b, RM | 2.16 0.99x 1876 2.33x | 7.39 0.97x 3668 2.33x |
| Montgomery, 3b, RM | 2.34 0.92x 2412 3.00x | 8.01 0.89x 4716 3.00x |
| Montgomery, 4b, RM | 2.87 0.75x 3484 4.33x | 9.82 0.73x 6812 4.33x |
| Montgomery, 5b, RM | 3.58 0.60x 5628 7.00x | 12.26 0.58x 11004 7.00x |
| Montgomery, 6b, RM | 4.84 0.44x 9916 12.33x | 16.54 0.43x 19388 12.33x |
+---------------------------+--------------------------------+--------------------------------+
| Configured | 1.90 1.13x 804 1.00x | 6.50 1.10x 1572 1.00x |
+---------------------------+--------------------------------+--------------------------------+
Benchmark complete