Crypto Benchmark on STM32N6 MCU
ARM Cortex-M55 @ 800 MHz
This benchmark conducted on NUCLEO-N657X0-Q development board with STM32N657X0 MCU will help you in qualifying performance of CycloneCRYPTO (Cryptography library), CycloneSSL (TLS 1.3 & DTLS 1.2 library), CycloneSSH (SSH library with SCP & SFTP protocols), CycloneIPSEC (IPsec/IKEv2 library) and CycloneTCP (TCP/IPv4/IPv6 stack with secure protocols like HTTPS, FTPS, MQTTS, Secure WebSocket, Secure CoAP, Secure Modbus/TCP, SNMPv3...) running on STMicroelectronics STM32N6 microcontroller.
STM32N6 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32N657 @ 800 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 2.805 MB/s | 2.773 MB/s | - | - |
3DES-CTR | 2.853 MB/s | 2.852 MB/s | - | - |
AES128-CBC | 15.22 MB/s | 14.641 MB/s | 54.054 MB/s | 53.475 MB/s |
AES192-CBC | 13.404 MB/s | 12.936 MB/s | 54.054 MB/s | 53.475 MB/s |
AES256-CBC | 11.976 MB/s | 11.6 MB/s | 48.78 MB/s | 48.309 MB/s |
AES128-CTR | 16.666 MB/s | 16.666 MB/s | 53.475 MB/s | 53.475 MB/s |
AES192-CTR | 14.513 MB/s | 14.513 MB/s | 53.475 MB/s | 53.475 MB/s |
AES256-CTR | 12.836 MB/s | 12.853 MB/s | 48.309 MB/s | 48.309 MB/s |
SM4-CBC | 10.537 MB/s | 9.91 MB/s | - | - |
SM4-CTR | 11.223 MB/s | 11.235 MB/s | - | - |
AEAD Algorithms
STM32N657 @ 800 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
AES128-GCM | 8.34 MB/s | 8.389 MB/s | 51.546 MB/s | 51.546 MB/s |
AES192-GCM | 7.757 MB/s | 7.794 MB/s | 51.546 MB/s | 51.546 MB/s |
AES256-GCM | 7.246 MB/s | 7.283 MB/s | 51.02 MB/s | 51.282 MB/s |
AES128-CCM | 9.082 MB/s | 9.057 MB/s | 50.505 MB/s | 50.505 MB/s |
AES192-CCM | 7.776 MB/s | 7.757 MB/s | 50.505 MB/s | 50.505 MB/s |
AES256-CCM | 6.798 MB/s | 6.788 MB/s | 50.505 MB/s | 50.505 MB/s |
SM4-GCM | 6.684 MB/s | 6.715 MB/s | - | - |
SM4-CCM | 5.861 MB/s | 5.851 MB/s | - | - |
Ascon-AEAD128 | 11.904 MB/s | 12.15 MB/s | - | - |
ChaCha20Poly1305 | 22.371 MB/s | 22.421 MB/s | - | - |
Hash Algorithms
STM32N657 @ 800 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 67.114 MB/s | - |
SHA-1 | 14.684 MB/s | 125 MB/s |
SHA-224 | 12.019 MB/s | 147.058 MB/s |
SHA-256 | 12.033 MB/s | 147.058 MB/s |
SHA-384 | 6.868 MB/s | 188.679 MB/s |
SHA-512 | 6.868 MB/s | 188.679 MB/s |
SHA3-224 | 6.455 MB/s | - |
SHA3-256 | 6.105 MB/s | - |
SHA3-384 | 4.679 MB/s | - |
SHA3-512 | 3.247 MB/s | - |
SM3 | 10.615 MB/s | - |
Ascon-Hash256 | 4.442 MB/s | - |
Signature Algorithms
STM32N657 @ 800 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Generation (Software) | Verification (Software) | Generation (Hardware) | Verification (Hardware) |
---|---|---|---|---|
RSA (1024 bits) | 16.8 ms | 2.5 ms | 3.3 ms | 0.4 ms |
RSA (2048 bits) | 95.3 ms | 9.2 ms | 17.9 ms | 0.8 ms |
RSA (3072 bits) | 282.1 ms | 19.8 ms | 53.5 ms | 2.2 ms |
RSA (4096 bits) | 624.7 ms | 34.9 ms | 117.7 ms | 3.5 ms |
DSA (1024 bits) | 9.5 ms | 19.9 ms | 3.2 ms | 7.4 ms |
DSA (2048 bits) | 46.9 ms | 99 ms | 12.8 ms | 30.8 ms |
DSA (3072 bits) | 101.8 ms | 215.2 ms | 26.5 ms | 65.8 ms |
EC Signature Algorithms
STM32N657 @ 800 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Generation (Software) | Verification (Software) | Generation (Hardware) | Verification (Hardware) |
---|---|---|---|---|
ECDSA (secp256r1) | 13.5 ms | 12.4 ms | 5.4 ms | 6.1 ms |
ECDSA (secp384r1) | 33 ms | 30.6 ms | 12.8 ms | 15 ms |
ECDSA (secp521r1) | 69.8 ms | 62.8 ms | 29.9 ms | 35.1 ms |
ECDSA (brainpoolP256r1) | 26.7 ms | 27.1 ms | 5.5 ms | 6.2 ms |
ECDSA (brainpoolP384r1) | 66.7 ms | 67.5 ms | 12.8 ms | 14.9 ms |
ECDSA (brainpoolP512r1) | 132.4 ms | 136.3 ms | 24.3 ms | 28.9 ms |
SM2 | 11.8 ms | 11.8 ms | 6.8 ms | 6.8 ms |
EdDSA (Ed25519) | 3.2 ms | 2.9 ms | - | - |
EdDSA (Ed448) | 13.6 ms | 12.2 ms | - | - |
Key Exchange Algorithms
STM32N657 @ 800 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|---|---|
Diffie-Hellman (1024 bits) | 39.4 ms | 39.4 ms | 8.6 ms | 8.6 ms |
Diffie-Hellman (2048 bits) | 281.5 ms | 281.5 ms | 56.8 ms | 56.9 ms |
Diffie-Hellman (3072 bits) | 913.1 ms | 913.4 ms | 179.3 ms | 179.2 ms |
Diffie-Hellman (4096 bits) | 2126.6 ms | 2126.8 ms | 413.1 ms | 413.1 ms |
EC Key Exchange Algorithms
STM32N657 @ 800 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|---|---|
ECDH (secp256r1) | 11.8 ms | 11.8 ms | 6.7 ms | 6.7 ms |
ECDH (secp384r1) | 28.9 ms | 28.9 ms | 16.8 ms | 16.8 ms |
ECDH (secp521r1) | 59.9 ms | 59.9 ms | 42.7 ms | 42.6 ms |
ECDH (brainpoolP256r1) | 24.8 ms | 24.7 ms | 8.1 ms | 8.1 ms |
ECDH (brainpoolP384r1) | 61.7 ms | 61.7 ms | 20 ms | 20 ms |
ECDH (brainpoolP512r1) | 122.4 ms | 122.4 ms | 40 ms | 39.9 ms |
ECDH (SM2) | 11.8 ms | 11.8 ms | 6.8 ms | 6.8 ms |
ECDH (X25519) | 1.8 ms | 1.7 ms | - | - |
ECDH (X448) | 7 ms | 7.1 ms | - | - |