1# STM Benchmarks
2
3## STM32H753ZI
4
5Supports RNG, AES CBC/GCM and SHA-2 acceleration.
6Note: HW RNG on for all tests
7
8Board: NUCLEO-H753ZI
9CPU: Cortex-M7 at 480 MHz
10IDE: STM32CubeIDE
11RTOS: FreeRTOS
12
13### STM32H753ZI (STM Crypto/Hash Acceleration, -Os, SP-ASM Cortex-M)
14
15```
16------------------------------------------------------------------------------
17 wolfSSL version 4.4.1
18------------------------------------------------------------------------------
19wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
20RNG                875 KB took 1.019 seconds,  858.685 KB/s
21AES-128-CBC-enc     10 MB took 1.000 seconds,   10.400 MB/s
22AES-128-CBC-dec     10 MB took 1.000 seconds,   10.327 MB/s
23AES-192-CBC-enc     10 MB took 1.000 seconds,   10.425 MB/s
24AES-192-CBC-dec     10 MB took 1.000 seconds,   10.278 MB/s
25AES-256-CBC-enc     10 MB took 1.000 seconds,   10.376 MB/s
26AES-256-CBC-dec     10 MB took 1.000 seconds,   10.278 MB/s
27AES-128-GCM-enc      9 MB took 1.000 seconds,    8.789 MB/s
28AES-128-GCM-dec      9 MB took 1.000 seconds,    8.716 MB/s
29AES-192-GCM-enc      9 MB took 1.000 seconds,    8.740 MB/s
30AES-192-GCM-dec      9 MB took 1.000 seconds,    8.691 MB/s
31AES-256-GCM-enc      9 MB took 1.000 seconds,    8.765 MB/s
32AES-256-GCM-dec      9 MB took 1.000 seconds,    8.691 MB/s
33CHACHA               4 MB took 1.000 seconds,    4.443 MB/s
34CHA-POLY             3 MB took 1.004 seconds,    3.040 MB/s
35POLY1305            13 MB took 1.000 seconds,   12.671 MB/s
36SHA-256              9 MB took 1.000 seconds,    8.691 MB/s
37HMAC-SHA256          8 MB took 1.000 seconds,    8.496 MB/s
38RSA     2048 public         82 ops took 1.019 sec, avg 12.427 ms, 80.471 ops/sec
39RSA     2048 private         4 ops took 1.749 sec, avg 437.250 ms, 2.287 ops/sec
40DH      2048 key gen         5 ops took 1.000 sec, avg 200.000 ms, 5.000 ops/sec
41DH      2048 agree           6 ops took 1.200 sec, avg 200.000 ms, 5.000 ops/sec
42ECC      256 key gen       121 ops took 1.000 sec, avg 8.264 ms, 121.000 ops/sec
43ECDHE    256 agree          56 ops took 1.016 sec, avg 18.143 ms, 55.118 ops/sec
44ECDSA    256 sign           78 ops took 1.007 sec, avg 12.910 ms, 77.458 ops/sec
45ECDSA    256 verify         36 ops took 1.004 sec, avg 27.889 ms, 35.857 ops/sec
46Benchmark complete
47Benchmark Test: Return code 0
48```
49
50### STM32H753ZI (No HW Crypto, -Os, FastMath)
51
52```
53------------------------------------------------------------------------------
54 wolfSSL version 4.4.1
55------------------------------------------------------------------------------
56wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
57RNG                  1 MB took 1.015 seconds,    1.010 MB/s
58AES-128-CBC-enc      1 MB took 1.012 seconds,    1.399 MB/s
59AES-128-CBC-dec      1 MB took 1.000 seconds,    1.318 MB/s
60AES-192-CBC-enc      1 MB took 1.019 seconds,    1.198 MB/s
61AES-192-CBC-dec      1 MB took 1.012 seconds,    1.134 MB/s
62AES-256-CBC-enc      1 MB took 1.000 seconds,    1.050 MB/s
63AES-256-CBC-dec      1 MB took 1.012 seconds,    0.989 MB/s
64AES-128-GCM-enc     75 KB took 1.125 seconds,   66.667 KB/s
65AES-128-GCM-dec     75 KB took 1.125 seconds,   66.667 KB/s
66AES-192-GCM-enc     75 KB took 1.149 seconds,   65.274 KB/s
67AES-192-GCM-dec     75 KB took 1.149 seconds,   65.274 KB/s
68AES-256-GCM-enc     75 KB took 1.161 seconds,   64.599 KB/s
69AES-256-GCM-dec     75 KB took 1.165 seconds,   64.378 KB/s
70CHACHA               5 MB took 1.000 seconds,    4.858 MB/s
71CHA-POLY             3 MB took 1.003 seconds,    3.140 MB/s
72POLY1305            13 MB took 1.000 seconds,   12.671 MB/s
73SHA-256              3 MB took 1.004 seconds,    2.845 MB/s
74HMAC-SHA256          3 MB took 1.004 seconds,    2.821 MB/s
75RSA     2048 public         38 ops took 1.012 sec, avg 26.632 ms, 37.549 ops/sec
76RSA     2048 private         2 ops took 3.267 sec, avg 1633.500 ms, 0.612 ops/sec
77DH      2048 key gen         4 ops took 1.184 sec, avg 296.000 ms, 3.378 ops/sec
78DH      2048 agree           2 ops took 1.259 sec, avg 629.500 ms, 1.589 ops/sec
79ECC      256 key gen         4 ops took 1.070 sec, avg 267.500 ms, 3.738 ops/sec
80ECDHE    256 agree           4 ops took 1.070 sec, avg 267.500 ms, 3.738 ops/sec
81ECDSA    256 sign            4 ops took 1.082 sec, avg 270.500 ms, 3.697 ops/sec
82ECDSA    256 verify          6 ops took 1.016 sec, avg 169.333 ms, 5.906 ops/sec
83Benchmark complete
84Benchmark Test: Return code 0
85```
86
87## STM32WB55
88
89Supports RNG, ECC P-256, AES-CBC and SHA-256 acceleration.
90Note: SP math beats PKA HW. HW RNG on for all tests
91
92Board: P-NUCLEO-WB55 (MB1355C-02)
93CPU: Cortex-M4 at 64 MHz
94IDE: STM32CubeIDE
95RTOS: FreeRTOS
96
97### STM32WB55 (STM AES-CBC/Hash Acceleration, -Os, SP-ASM Cortex-M)
98
99```
100------------------------------------------------------------------------------
101 wolfSSL version 4.4.1
102------------------------------------------------------------------------------
103wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
104RNG                375 KB took 1.008 seconds,  372.024 KB/s
105AES-128-CBC-enc      4 MB took 1.000 seconds,    3.882 MB/s
106AES-128-CBC-dec      4 MB took 1.000 seconds,    3.955 MB/s
107AES-256-CBC-enc      4 MB took 1.004 seconds,    3.550 MB/s
108AES-256-CBC-dec      4 MB took 1.004 seconds,    3.599 MB/s
109AES-128-GCM-enc     50 KB took 1.800 seconds,   27.778 KB/s
110AES-128-GCM-dec     50 KB took 1.804 seconds,   27.716 KB/s
111AES-256-GCM-enc     50 KB took 1.828 seconds,   27.352 KB/s
112AES-256-GCM-dec     50 KB took 1.831 seconds,   27.307 KB/s
113CHACHA               2 MB took 1.008 seconds,    1.574 MB/s
114CHA-POLY             1 MB took 1.004 seconds,    1.046 MB/s
115POLY1305             5 MB took 1.000 seconds,    4.663 MB/s
116SHA-256           1000 KB took 1.015 seconds,  985.222 KB/s
117HMAC-SHA256        975 KB took 1.000 seconds,  975.000 KB/s
118RSA     2048 public         28 ops took 1.016 sec, avg 36.286 ms, 27.559 ops/sec
119RSA     2048 private         2 ops took 2.522 sec, avg 1261.000 ms, 0.793 ops/sec
120DH      2048 key gen         2 ops took 1.184 sec, avg 592.000 ms, 1.689 ops/sec
121DH      2048 agree           2 ops took 1.181 sec, avg 590.500 ms, 1.693 ops/sec
122ECC      256 key gen        37 ops took 1.008 sec, avg 27.243 ms, 36.706 ops/sec
123ECDHE    256 agree          18 ops took 1.071 sec, avg 59.500 ms, 16.807 ops/sec
124ECDSA    256 sign           14 ops took 1.130 sec, avg 80.714 ms, 12.389 ops/sec
125ECDSA    256 verify          8 ops took 1.305 sec, avg 163.125 ms, 6.130 ops/sec
126Benchmark complete
127Benchmark Test: Return code 0
128```
129
130### STM32WB55 (STM PKA only, -Os, FastMath)
131
132```
133------------------------------------------------------------------------------
134 wolfSSL version 4.4.1
135------------------------------------------------------------------------------
136wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
137RNG                375 KB took 1.008 seconds,  372.024 KB/s
138AES-128-CBC-enc    600 KB took 1.020 seconds,  588.235 KB/s
139AES-128-CBC-dec    575 KB took 1.007 seconds,  571.003 KB/s
140AES-192-CBC-enc    525 KB took 1.043 seconds,  503.356 KB/s
141AES-192-CBC-dec    500 KB took 1.028 seconds,  486.381 KB/s
142AES-256-CBC-enc    450 KB took 1.027 seconds,  438.169 KB/s
143AES-256-CBC-dec    425 KB took 1.000 seconds,  425.000 KB/s
144AES-128-GCM-enc     50 KB took 1.819 seconds,   27.488 KB/s
145AES-128-GCM-dec     50 KB took 1.820 seconds,   27.473 KB/s
146AES-192-GCM-enc     50 KB took 1.855 seconds,   26.954 KB/s
147AES-192-GCM-dec     50 KB took 1.851 seconds,   27.012 KB/s
148AES-256-GCM-enc     50 KB took 1.874 seconds,   26.681 KB/s
149AES-256-GCM-dec     50 KB took 1.875 seconds,   26.667 KB/s
150CHACHA               2 MB took 1.004 seconds,    1.581 MB/s
151CHA-POLY             1 MB took 1.000 seconds,    1.050 MB/s
152POLY1305             5 MB took 1.000 seconds,    4.663 MB/s
153SHA-256           1000 KB took 1.016 seconds,  984.252 KB/s
154HMAC-SHA256       1000 KB took 1.024 seconds,  976.562 KB/s
155RSA     2048 public         14 ops took 1.121 sec, avg 80.071 ms, 12.489 ops/sec
156RSA     2048 private         2 ops took 9.428 sec, avg 4714.000 ms, 0.212 ops/sec
157DH      2048 key gen         2 ops took 1.807 sec, avg 903.500 ms, 1.107 ops/sec
158DH      2048 agree           2 ops took 3.643 sec, avg 1821.500 ms, 0.549 ops/sec
159ECC      256 key gen         9 ops took 1.024 sec, avg 113.778 ms, 8.789 ops/sec
160ECDHE    256 agree          10 ops took 1.129 sec, avg 112.900 ms, 8.857 ops/sec
161ECDSA    256 sign           14 ops took 1.157 sec, avg 82.643 ms, 12.100 ops/sec
162ECDSA    256 verify          8 ops took 1.282 sec, avg 160.250 ms, 6.240 ops/sec
163Benchmark complete
164Benchmark Test: Return code 0
165```
166
167### STM32WB55 (No HW Crypto, -Os, FastMath)
168
169```
170------------------------------------------------------------------------------
171 wolfSSL version 4.4.1
172------------------------------------------------------------------------------
173wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
174RNG                375 KB took 1.004 seconds,  373.506 KB/s
175AES-128-CBC-enc    600 KB took 1.024 seconds,  585.937 KB/s
176AES-128-CBC-dec    575 KB took 1.008 seconds,  570.437 KB/s
177AES-192-CBC-enc    525 KB took 1.047 seconds,  501.433 KB/s
178AES-192-CBC-dec    500 KB took 1.028 seconds,  486.381 KB/s
179AES-256-CBC-enc    450 KB took 1.028 seconds,  437.743 KB/s
180AES-256-CBC-dec    450 KB took 1.055 seconds,  426.540 KB/s
181AES-128-GCM-enc     50 KB took 1.816 seconds,   27.533 KB/s
182AES-128-GCM-dec     50 KB took 1.820 seconds,   27.473 KB/s
183AES-192-GCM-enc     50 KB took 1.851 seconds,   27.012 KB/s
184AES-192-GCM-dec     50 KB took 1.851 seconds,   27.012 KB/s
185AES-256-GCM-enc     50 KB took 1.875 seconds,   26.667 KB/s
186AES-256-GCM-dec     50 KB took 1.874 seconds,   26.681 KB/s
187CHACHA               2 MB took 1.004 seconds,    1.581 MB/s
188CHA-POLY             1 MB took 1.012 seconds,    1.061 MB/s
189POLY1305             5 MB took 1.004 seconds,    4.693 MB/s
190SHA-256           1000 KB took 1.016 seconds,  984.252 KB/s
191HMAC-SHA256       1000 KB took 1.023 seconds,  977.517 KB/s
192RSA     2048 public         14 ops took 1.141 sec, avg 81.500 ms, 12.270 ops/sec
193RSA     2048 private         2 ops took 9.498 sec, avg 4749.000 ms, 0.211 ops/sec
194DH      2048 key gen         2 ops took 1.839 sec, avg 919.500 ms, 1.088 ops/sec
195DH      2048 agree           2 ops took 3.674 sec, avg 1837.000 ms, 0.544 ops/sec
196ECC      256 key gen         1 ops took 1.130 sec, avg 1130.000 ms, 0.885 ops/sec
197ECDHE    256 agree           2 ops took 2.251 sec, avg 1125.500 ms, 0.888 ops/sec
198ECDSA    256 sign            2 ops took 2.275 sec, avg 1137.500 ms, 0.879 ops/sec
199ECDSA    256 verify          2 ops took 1.490 sec, avg 745.000 ms, 1.342 ops/sec
200Benchmark complete
201Benchmark Test: Return code 0
202```
203
204## STM32F437
205
206Supports RNG, AES-CBC/GCM and SHA-256 acceleration.
207Note: HW RNG on for all tests
208
209Board: STM32F437I-EVAL
210CPU: Cortex-M4 at 160 MHz
211IDE: STM32CubeIDE
212RTOS: FreeRTOS
213
214### STM32F437 (STM Crypto/Hash Acceleration, -Os, SP-ASM Cortex-M)
215
216```
217------------------------------------------------------------------------------
218 wolfSSL version 4.4.1
219------------------------------------------------------------------------------
220wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
221RNG                500 KB took 1.000 seconds,  500.000 KB/s
222AES-128-CBC-enc      9 MB took 1.000 seconds,    8.716 MB/s
223AES-128-CBC-dec      9 MB took 1.004 seconds,    8.681 MB/s
224AES-192-CBC-enc      9 MB took 1.000 seconds,    8.740 MB/s
225AES-192-CBC-dec      9 MB took 1.000 seconds,    8.667 MB/s
226AES-256-CBC-enc      9 MB took 1.000 seconds,    8.740 MB/s
227AES-256-CBC-dec      9 MB took 1.004 seconds,    8.681 MB/s
228AES-128-GCM-enc      8 MB took 1.000 seconds,    7.837 MB/s
229AES-128-GCM-dec      8 MB took 1.000 seconds,    7.812 MB/s
230AES-192-GCM-enc      8 MB took 1.000 seconds,    7.812 MB/s
231AES-192-GCM-dec      8 MB took 1.000 seconds,    7.788 MB/s
232AES-256-GCM-enc      8 MB took 1.000 seconds,    7.837 MB/s
233AES-256-GCM-dec      8 MB took 1.000 seconds,    7.764 MB/s
234CHACHA               4 MB took 1.000 seconds,    4.150 MB/s
235CHA-POLY             3 MB took 1.004 seconds,    2.821 MB/s
236POLY1305            13 MB took 1.000 seconds,   12.646 MB/s
237SHA-256              7 MB took 1.000 seconds,    7.446 MB/s
238HMAC-SHA256          7 MB took 1.000 seconds,    7.251 MB/s
239RSA     2048 public         74 ops took 1.000 sec, avg 13.514 ms, 74.000 ops/sec
240RSA     2048 private         4 ops took 1.933 sec, avg 483.250 ms, 2.069 ops/sec
241DH      2048 key gen         5 ops took 1.075 sec, avg 215.000 ms, 4.651 ops/sec
242DH      2048 agree           6 ops took 1.282 sec, avg 213.667 ms, 4.680 ops/sec
243ECC      256 key gen       123 ops took 1.004 sec, avg 8.163 ms, 122.510 ops/sec
244ECDHE    256 agree          58 ops took 1.019 sec, avg 17.569 ms, 56.919 ops/sec
245ECDSA    256 sign           82 ops took 1.016 sec, avg 12.390 ms, 80.709 ops/sec
246ECDSA    256 verify         38 ops took 1.015 sec, avg 26.711 ms, 37.438 ops/sec
247Benchmark complete
248Benchmark Test: Return code 0
249```
250
251### STM32F437 (No HW Crypto, -Os, FastMath)
252
253```
254------------------------------------------------------------------------------
255 wolfSSL version 4.4.1
256------------------------------------------------------------------------------
257wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
258RNG                  1 MB took 1.024 seconds,    0.978 MB/s
259AES-128-CBC-enc      1 MB took 1.012 seconds,    1.303 MB/s
260AES-128-CBC-dec      1 MB took 1.004 seconds,    1.264 MB/s
261AES-192-CBC-enc      1 MB took 1.012 seconds,    1.110 MB/s
262AES-192-CBC-dec      1 MB took 1.016 seconds,    1.081 MB/s
263AES-256-CBC-enc   1000 KB took 1.011 seconds,  989.120 KB/s
264AES-256-CBC-dec    975 KB took 1.008 seconds,  967.262 KB/s
265AES-128-GCM-enc     75 KB took 1.024 seconds,   73.242 KB/s
266AES-128-GCM-dec     75 KB took 1.024 seconds,   73.242 KB/s
267AES-192-GCM-enc     75 KB took 1.043 seconds,   71.908 KB/s
268AES-192-GCM-dec     75 KB took 1.047 seconds,   71.633 KB/s
269AES-256-GCM-enc     75 KB took 1.059 seconds,   70.822 KB/s
270AES-256-GCM-dec     75 KB took 1.058 seconds,   70.888 KB/s
271CHACHA               4 MB took 1.004 seconds,    4.158 MB/s
272CHA-POLY             3 MB took 1.004 seconds,    2.821 MB/s
273POLY1305            13 MB took 1.000 seconds,   12.598 MB/s
274SHA-256              3 MB took 1.004 seconds,    2.602 MB/s
275HMAC-SHA256          3 MB took 1.000 seconds,    2.588 MB/s
276RSA     2048 public         34 ops took 1.039 sec, avg 30.559 ms, 32.724 ops/sec
277RSA     2048 private         2 ops took 3.635 sec, avg 1817.500 ms, 0.550 ops/sec
278DH      2048 key gen         3 ops took 1.039 sec, avg 346.333 ms, 2.887 ops/sec
279DH      2048 agree           2 ops took 1.416 sec, avg 708.000 ms, 1.412 ops/sec
280ECC      256 key gen         3 ops took 1.248 sec, avg 416.000 ms, 2.404 ops/sec
281ECDHE    256 agree           4 ops took 1.662 sec, avg 415.500 ms, 2.407 ops/sec
282ECDSA    256 sign            4 ops took 1.691 sec, avg 422.750 ms, 2.365 ops/sec
283ECDSA    256 verify          4 ops took 1.091 sec, avg 272.750 ms, 3.666 ops/sec
284Benchmark complete
285Benchmark Test: Return code 0
286```
287
288## STM32L4A6Z
289
290Supports RNG, AES-CBC/GCM and SHA-256 acceleration.
291Note: HW RNG on for all tests
292
293Board: NUCLEO-L4A6ZG
294CPU: Cortex-M4 at 80 MHz
295IDE: STM32CubeIDE
296RTOS: FreeRTOS
297
298### STM32L4A6Z (STM Crypto/Hash Acceleration, -Os, SP-ASM Cortex-M)
299
300
301```
302------------------------------------------------------------------------------
303 wolfSSL version 4.4.1
304------------------------------------------------------------------------------
305wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
306RNG                250 KB took 1.083 seconds,  230.840 KB/s
307AES-128-CBC-enc      4 MB took 1.000 seconds,    4.175 MB/s
308AES-128-CBC-dec      3 MB took 1.000 seconds,    3.442 MB/s
309AES-256-CBC-enc      3 MB took 1.000 seconds,    3.247 MB/s
310AES-256-CBC-dec      3 MB took 1.008 seconds,    2.664 MB/s
311AES-128-GCM-enc      4 MB took 1.000 seconds,    3.589 MB/s
312AES-128-GCM-dec      4 MB took 1.004 seconds,    3.575 MB/s
313AES-256-GCM-enc      3 MB took 1.004 seconds,    2.869 MB/s
314AES-256-GCM-dec      3 MB took 1.000 seconds,    2.856 MB/s
315CHACHA               2 MB took 1.008 seconds,    2.010 MB/s
316CHA-POLY             1 MB took 1.004 seconds,    1.337 MB/s
317POLY1305             6 MB took 1.000 seconds,    6.030 MB/s
318SHA-256              4 MB took 1.004 seconds,    3.623 MB/s
319HMAC-SHA256          4 MB took 1.000 seconds,    3.540 MB/s
320RSA     2048 public         36 ops took 1.020 sec, avg 28.333 ms, 35.294 ops/sec
321RSA     2048 private         2 ops took 2.031 sec, avg 1015.500 ms, 0.985 ops/sec
322DH      2048 key gen         3 ops took 1.353 sec, avg 451.000 ms, 2.217 ops/sec
323DH      2048 agree           4 ops took 1.804 sec, avg 451.000 ms, 2.217 ops/sec
324ECC      256 key gen        33 ops took 1.011 sec, avg 30.636 ms, 32.641 ops/sec
325ECDHE    256 agree          16 ops took 1.078 sec, avg 67.375 ms, 14.842 ops/sec
326ECDSA    256 sign           24 ops took 1.012 sec, avg 42.167 ms, 23.715 ops/sec
327ECDSA    256 verify         12 ops took 1.165 sec, avg 97.083 ms, 10.300 ops/sec
328Benchmark complete
329Benchmark Test: Return code 0
330```
331
332### STM32L4A6Z (No HW Crypto, -Os, FastMath)
333
334```
335------------------------------------------------------------------------------
336 wolfSSL version 4.4.1
337------------------------------------------------------------------------------
338wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
339RNG                450 KB took 1.048 seconds,  429.389 KB/s
340AES-128-CBC-enc    625 KB took 1.008 seconds,  620.040 KB/s
341AES-128-CBC-dec    675 KB took 1.008 seconds,  669.643 KB/s
342AES-192-CBC-enc    550 KB took 1.023 seconds,  537.634 KB/s
343AES-192-CBC-dec    575 KB took 1.012 seconds,  568.182 KB/s
344AES-256-CBC-enc    475 KB took 1.004 seconds,  473.108 KB/s
345AES-256-CBC-dec    500 KB took 1.008 seconds,  496.032 KB/s
346AES-128-GCM-enc     50 KB took 1.440 seconds,   34.722 KB/s
347AES-128-GCM-dec     50 KB took 1.435 seconds,   34.843 KB/s
348AES-192-GCM-enc     50 KB took 1.466 seconds,   34.106 KB/s
349AES-192-GCM-dec     50 KB took 1.463 seconds,   34.176 KB/s
350AES-256-GCM-enc     50 KB took 1.482 seconds,   33.738 KB/s
351AES-256-GCM-dec     50 KB took 1.478 seconds,   33.829 KB/s
352CHACHA               2 MB took 1.008 seconds,    2.010 MB/s
353CHA-POLY             1 MB took 1.008 seconds,    1.332 MB/s
354POLY1305             6 MB took 1.000 seconds,    6.006 MB/s
355SHA-256              1 MB took 1.000 seconds,    1.123 MB/s
356HMAC-SHA256          1 MB took 1.008 seconds,    1.114 MB/s
357RSA     2048 public         16 ops took 1.028 sec, avg 64.250 ms, 15.564 ops/sec
358RSA     2048 private         2 ops took 7.491 sec, avg 3745.500 ms, 0.267 ops/sec
359DH      2048 key gen         2 ops took 1.440 sec, avg 720.000 ms, 1.389 ops/sec
360DH      2048 agree           2 ops took 2.882 sec, avg 1441.000 ms, 0.694 ops/sec
361ECC      256 key gen         2 ops took 1.918 sec, avg 959.000 ms, 1.043 ops/sec
362ECDHE    256 agree           2 ops took 1.914 sec, avg 957.000 ms, 1.045 ops/sec
363ECDSA    256 sign            2 ops took 1.941 sec, avg 970.500 ms, 1.030 ops/sec
364ECDSA    256 verify          2 ops took 1.294 sec, avg 647.000 ms, 1.546 ops/sec
365Benchmark complete
366Benchmark Test: Return code 0
367```
368
369## STM32L562E
370
371Supports RNG, AES-CBC/GCM and SHA-256 acceleration.
372Note: HW RNG on for all tests
373
374Board: STM32L562E-DK
375CPU: Cortex-M33 at 110 MHz
376IDE: STM32CubeIDE
377RTOS: FreeRTOS
378
379### STM32L562E (STM AES-CBC/Hash Acceleration, -Os, SP-ASM Cortex-M)
380
381```
382------------------------------------------------------------------------------
383 wolfSSL version 4.4.1
384------------------------------------------------------------------------------
385wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
386RNG                150 KB took 1.105 seconds,  135.747 KB/s
387AES-128-CBC-enc      4 MB took 1.000 seconds,    4.468 MB/s
388AES-128-CBC-dec      4 MB took 1.000 seconds,    4.297 MB/s
389AES-256-CBC-enc      4 MB took 1.000 seconds,    3.857 MB/s
390AES-256-CBC-dec      4 MB took 1.004 seconds,    3.745 MB/s
391AES-128-GCM-enc      4 MB took 1.000 seconds,    3.662 MB/s
392AES-128-GCM-dec      4 MB took 1.004 seconds,    3.648 MB/s
393AES-256-GCM-enc      3 MB took 1.004 seconds,    3.258 MB/s
394AES-256-GCM-dec      3 MB took 1.000 seconds,    3.247 MB/s
395CHACHA               1 MB took 1.008 seconds,    1.138 MB/s
396CHA-POLY           825 KB took 1.023 seconds,  806.452 KB/s
397POLY1305             4 MB took 1.000 seconds,    3.711 MB/s
398SHA-256              2 MB took 1.000 seconds,    1.855 MB/s
399HMAC-SHA256          2 MB took 1.008 seconds,    1.817 MB/s
400RSA     2048 public         20 ops took 1.106 sec, avg 55.300 ms, 18.083 ops/sec
401RSA     2048 private         2 ops took 3.804 sec, avg 1902.000 ms, 0.526 ops/sec
402DH      2048 key gen         2 ops took 1.772 sec, avg 886.000 ms, 1.129 ops/sec
403DH      2048 agree           2 ops took 1.773 sec, avg 886.500 ms, 1.128 ops/sec
404ECC      256 key gen        36 ops took 1.011 sec, avg 28.083 ms, 35.608 ops/sec
405ECDHE    256 agree          18 ops took 1.086 sec, avg 60.333 ms, 16.575 ops/sec
406ECDSA    256 sign           22 ops took 1.004 sec, avg 45.636 ms, 21.912 ops/sec
407ECDSA    256 verify         12 ops took 1.133 sec, avg 94.417 ms, 10.591 ops/sec
408Benchmark complete
409Benchmark Test: Return code 0
410```
411
412### STM32L562E (STM PKA ECC/AES-CBC/Hash Acceleration, -Os, SP-ASM Cortex-M)
413
414```
415------------------------------------------------------------------------------
416 wolfSSL version 4.4.1
417------------------------------------------------------------------------------
418wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
419RNG                150 KB took 1.105 seconds,  135.747 KB/s
420AES-128-CBC-enc      4 MB took 1.000 seconds,    4.468 MB/s
421AES-128-CBC-dec      4 MB took 1.000 seconds,    4.297 MB/s
422AES-256-CBC-enc      4 MB took 1.000 seconds,    3.857 MB/s
423AES-256-CBC-dec      4 MB took 1.004 seconds,    3.745 MB/s
424AES-128-GCM-enc      4 MB took 1.000 seconds,    3.662 MB/s
425AES-128-GCM-dec      4 MB took 1.004 seconds,    3.648 MB/s
426AES-256-GCM-enc      3 MB took 1.004 seconds,    3.258 MB/s
427AES-256-GCM-dec      3 MB took 1.000 seconds,    3.247 MB/s
428CHACHA               1 MB took 1.008 seconds,    1.138 MB/s
429CHA-POLY           825 KB took 1.023 seconds,  806.452 KB/s
430POLY1305             4 MB took 1.000 seconds,    3.711 MB/s
431SHA-256              2 MB took 1.000 seconds,    1.855 MB/s
432HMAC-SHA256          2 MB took 1.008 seconds,    1.817 MB/s
433RSA     2048 public         20 ops took 1.106 sec, avg 55.300 ms, 18.083 ops/sec
434RSA     2048 private         2 ops took 3.804 sec, avg 1902.000 ms, 0.526 ops/sec
435DH      2048 key gen         2 ops took 1.772 sec, avg 886.000 ms, 1.129 ops/sec
436DH      2048 agree           2 ops took 1.773 sec, avg 886.500 ms, 1.128 ops/sec
437ECC      256 key gen        11 ops took 1.067 sec, avg 97.000 ms, 10.309 ops/sec
438ECDHE    256 agree          12 ops took 1.130 sec, avg 94.167 ms, 10.619 ops/sec
439ECDSA    256 sign           22 ops took 1.071 sec, avg 48.682 ms, 20.542 ops/sec
440ECDSA    256 verify         12 ops took 1.125 sec, avg 93.750 ms, 10.667 ops/sec
441Benchmark complete
442Benchmark Test: Return code 0
443```
444
445### STM32L562E (No HW Crypto, -Os, FastMath)
446
447```
448------------------------------------------------------------------------------
449 wolfSSL version 4.4.1
450------------------------------------------------------------------------------
451wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
452RNG                 75 KB took 1.274 seconds,   58.870 KB/s
453AES-128-CBC-enc    475 KB took 1.036 seconds,  458.494 KB/s
454AES-128-CBC-dec    450 KB took 1.007 seconds,  446.872 KB/s
455AES-192-CBC-enc    400 KB took 1.024 seconds,  390.625 KB/s
456AES-192-CBC-dec    400 KB took 1.047 seconds,  382.044 KB/s
457AES-256-CBC-enc    350 KB took 1.023 seconds,  342.131 KB/s
458AES-256-CBC-dec    350 KB took 1.051 seconds,  333.016 KB/s
459AES-128-GCM-enc     25 KB took 1.310 seconds,   19.084 KB/s
460AES-128-GCM-dec     25 KB took 1.306 seconds,   19.142 KB/s
461AES-192-GCM-enc     25 KB took 1.330 seconds,   18.797 KB/s
462AES-192-GCM-dec     25 KB took 1.329 seconds,   18.811 KB/s
463AES-256-GCM-enc     25 KB took 1.341 seconds,   18.643 KB/s
464AES-256-GCM-dec     25 KB took 1.345 seconds,   18.587 KB/s
465CHACHA               1 MB took 1.012 seconds,    1.230 MB/s
466CHA-POLY           850 KB took 1.000 seconds,  850.000 KB/s
467POLY1305             4 MB took 1.004 seconds,    3.672 MB/s
468SHA-256            750 KB took 1.020 seconds,  735.294 KB/s
469HMAC-SHA256        750 KB took 1.031 seconds,  727.449 KB/s
470RSA     2048 public         10 ops took 1.086 sec, avg 108.600 ms, 9.208 ops/sec
471RSA     2048 private         2 ops took 12.894 sec, avg 6447.000 ms, 0.155 ops/sec
472DH      2048 key gen         1 ops took 1.200 sec, avg 1200.000 ms, 0.833 ops/sec
473DH      2048 agree           2 ops took 4.867 sec, avg 2433.500 ms, 0.411 ops/sec
474ECC      256 key gen         1 ops took 1.514 sec, avg 1514.000 ms, 0.661 ops/sec
475ECDHE    256 agree           2 ops took 3.028 sec, avg 1514.000 ms, 0.661 ops/sec
476ECDSA    256 sign            2 ops took 3.066 sec, avg 1533.000 ms, 0.652 ops/sec
477ECDSA    256 verify          2 ops took 1.973 sec, avg 986.500 ms, 1.014 ops/sec
478Benchmark complete
479Benchmark Test: Return code 0
480```
481
482## STM32F777
483
484Supports RNG, AES-CBC/GCM and SHA-256 acceleration.
485Note: HW RNG on for all tests
486
487Board: Custom STM32F777
488CPU: Cortex-M7 at 216 MHz
489IDE: STM32CubeIDE
490RTOS: FreeRTOS
491
492### STM32F777 (STM AES-CBC/Hash Acceleration, -Os, SP-ASM Cortex-M)
493
494```
495------------------------------------------------------------------------------
496 wolfSSL version 4.4.1
497------------------------------------------------------------------------------
498wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
499RNG                525 KB took 1.012 seconds,  518.775 KB/s
500AES-128-CBC-enc      8 MB took 1.000 seconds,    8.350 MB/s
501AES-128-CBC-dec      8 MB took 1.000 seconds,    8.203 MB/s
502AES-192-CBC-enc      8 MB took 1.000 seconds,    8.325 MB/s
503AES-192-CBC-dec      8 MB took 1.000 seconds,    8.179 MB/s
504AES-256-CBC-enc      8 MB took 1.000 seconds,    8.325 MB/s
505AES-256-CBC-dec      8 MB took 1.000 seconds,    8.154 MB/s
506AES-128-GCM-enc      6 MB took 1.000 seconds,    6.494 MB/s
507AES-128-GCM-dec      6 MB took 1.000 seconds,    6.494 MB/s
508AES-192-GCM-enc      6 MB took 1.000 seconds,    6.470 MB/s
509AES-192-GCM-dec      6 MB took 1.000 seconds,    6.494 MB/s
510AES-256-GCM-enc      6 MB took 1.000 seconds,    6.494 MB/s
511AES-256-GCM-dec      6 MB took 1.000 seconds,    6.494 MB/s
512CHACHA               4 MB took 1.004 seconds,    4.182 MB/s
513CHA-POLY             3 MB took 1.004 seconds,    2.505 MB/s
514POLY1305             9 MB took 1.000 seconds,    9.204 MB/s
515SHA-256              3 MB took 1.000 seconds,    3.467 MB/s
516HMAC-SHA256          3 MB took 1.004 seconds,    3.404 MB/s
517RSA     2048 public         54 ops took 1.028 sec, avg 19.037 ms, 52.529 ops/sec
518RSA     2048 private         2 ops took 1.262 sec, avg 631.000 ms, 1.585 ops/sec
519DH      2048 key gen         4 ops took 1.220 sec, avg 305.000 ms, 3.279 ops/sec
520DH      2048 agree           4 ops took 1.215 sec, avg 303.750 ms, 3.292 ops/sec
521ECC      256 key gen       130 ops took 1.000 sec, avg 7.692 ms, 130.000 ops/sec
522ECDHE    256 agree          60 ops took 1.003 sec, avg 16.717 ms, 59.821 ops/sec
523ECDSA    256 sign           70 ops took 1.024 sec, avg 14.629 ms, 68.359 ops/sec
524ECDSA    256 verify         36 ops took 1.015 sec, avg 28.194 ms, 35.468 ops/sec
525Benchmark complete
526Benchmark Test: Return code 0
527```
528
529### STM32F777 (No HW Crypto, -Os, FastMath)
530
531```
532------------------------------------------------------------------------------
533 wolfSSL version 4.4.1
534------------------------------------------------------------------------------
535wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
536RNG                700 KB took 1.016 seconds,  688.976 KB/s
537AES-128-CBC-enc      1 MB took 1.019 seconds,    1.006 MB/s
538AES-128-CBC-dec    950 KB took 1.000 seconds,  950.000 KB/s
539AES-192-CBC-enc    900 KB took 1.016 seconds,  885.827 KB/s
540AES-192-CBC-dec    825 KB took 1.011 seconds,  816.024 KB/s
541AES-256-CBC-enc    800 KB took 1.028 seconds,  778.210 KB/s
542AES-256-CBC-dec    725 KB took 1.008 seconds,  719.246 KB/s
543AES-128-GCM-enc     50 KB took 1.223 seconds,   40.883 KB/s
544AES-128-GCM-dec     50 KB took 1.220 seconds,   40.984 KB/s
545AES-192-GCM-enc     50 KB took 1.251 seconds,   39.968 KB/s
546AES-192-GCM-dec     50 KB took 1.247 seconds,   40.096 KB/s
547AES-256-GCM-enc     50 KB took 1.267 seconds,   39.463 KB/s
548AES-256-GCM-dec     50 KB took 1.263 seconds,   39.588 KB/s
549CHACHA               4 MB took 1.000 seconds,    4.175 MB/s
550CHA-POLY             2 MB took 1.000 seconds,    2.417 MB/s
551POLY1305            10 MB took 1.000 seconds,   10.132 MB/s
552SHA-256              2 MB took 1.000 seconds,    1.782 MB/s
553HMAC-SHA256          2 MB took 1.004 seconds,    1.775 MB/s
554RSA     2048 public         22 ops took 1.067 sec, avg 48.500 ms, 20.619 ops/sec
555RSA     2048 private         2 ops took 5.549 sec, avg 2774.500 ms, 0.360 ops/sec
556DH      2048 key gen         3 ops took 1.483 sec, avg 494.333 ms, 2.023 ops/sec
557DH      2048 agree           2 ops took 1.866 sec, avg 933.000 ms, 1.072 ops/sec
558ECC      256 key gen         1 ops took 1.090 sec, avg 1090.000 ms, 0.917 ops/sec
559ECDHE    256 agree           2 ops took 2.180 sec, avg 1090.000 ms, 0.917 ops/sec
560ECDSA    256 sign            2 ops took 2.208 sec, avg 1104.000 ms, 0.906 ops/sec
561ECDSA    256 verify          2 ops took 1.463 sec, avg 731.500 ms, 1.367 ops/sec
562Benchmark complete
563Benchmark Test: Return code 0
564```
565