Crypto Benchmark on M487 MCU
ARM Cortex-M4 @ 192 MHz
This benchmark conducted on NuMaker-IoT-M487 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 Nuvoton M487 microcontroller.
M487 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
M487 @ 192 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 0.5 MB/s | 0.519 MB/s | 14.684 MB/s | 14.662 MB/s |
3DES-CTR | 0.498 MB/s | 0.498 MB/s | 14.534 MB/s | 14.534 MB/s |
AES128-CBC | 2.424 MB/s | 1.879 MB/s | 22.727 MB/s | 22.727 MB/s |
AES192-CBC | 2.131 MB/s | 1.698 MB/s | 20.449 MB/s | 20.491 MB/s |
AES256-CBC | 1.904 MB/s | 1.544 MB/s | 19.493 MB/s | 19.493 MB/s |
AES128-CTR | 2.331 MB/s | 2.331 MB/s | 22.172 MB/s | 22.172 MB/s |
AES192-CTR | 2.06 MB/s | 2.059 MB/s | 20.04 MB/s | 20 MB/s |
AES256-CTR | 1.845 MB/s | 1.845 MB/s | 19.047 MB/s | 19.12 MB/s |
SM4-CBC | 2.446 MB/s | 2.359 MB/s | - | - |
SM4-CTR | 2.336 MB/s | 2.336 MB/s | - | - |
AEAD Algorithms
M487 @ 192 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
---|---|---|---|---|
AES128-GCM | 1.198 MB/s | 1.273 MB/s | 2.344 MB/s | 2.34 MB/s |
AES192-GCM | 1.11 MB/s | 1.183 MB/s | 2.315 MB/s | 2.314 MB/s |
AES256-GCM | 1.045 MB/s | 1.109 MB/s | 2.303 MB/s | 2.299 MB/s |
AES128-CCM | 1.23 MB/s | 1.199 MB/s | 3.456 MB/s | 3.229 MB/s |
AES192-CCM | 1.075 MB/s | 1.05 MB/s | 3.316 MB/s | 3.112 MB/s |
AES256-CCM | 0.956 MB/s | 0.936 MB/s | 3.232 MB/s | 3.084 MB/s |
SM4-GCM | 1.275 MB/s | 1.31 MB/s | - | - |
SM4-CCM | 1.29 MB/s | 1.292 MB/s | - | - |
Ascon-AEAD128 | 2.516 MB/s | 2.511 MB/s | - | - |
ChaCha20Poly1305 | 1.786 MB/s | 1.766 MB/s | - | - |
Hash Algorithms
M487 @ 192 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) |
Speed (Hardware) |
---|---|---|
MD5 | 11.198 MB/s | - |
SHA-1 | 2.668 MB/s | 34.843 MB/s |
SHA-224 | 2.556 MB/s | 37.174 MB/s |
SHA-256 | 2.557 MB/s | 37.313 MB/s |
SHA-384 | 1.298 MB/s | 37.313 MB/s |
SHA-512 | 1.297 MB/s | 37.174 MB/s |
SHA3-224 | 0.857 MB/s | - |
SHA3-256 | 0.812 MB/s | - |
SHA3-384 | 0.625 MB/s | - |
SHA3-512 | 0.435 MB/s | - |
SM3 | 2.234 MB/s | - |
Ascon-Hash256 | 0.952 MB/s | - |
Signature Algorithms
M487 @ 192 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
---|---|---|
RSA (1024 bits) | 90.1 ms | 16.7 ms |
RSA (2048 bits) | 462.3 ms | 61.1 ms |
RSA (3072 bits) | 1301 ms | 130.8 ms |
RSA (4096 bits) | 2798.8 ms | 230.7 ms |
DSA (1024 bits) | 51 ms | 107.3 ms |
DSA (2048 bits) | 231.1 ms | 490.8 ms |
DSA (3072 bits) | 493.7 ms | 1055.5 ms |
EC Signature Algorithms
M487 @ 192 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
Generation (Hardware) |
Verification (Hardware) |
---|---|---|---|---|
ECDSA (secp256r1) | 63 ms | 56.8 ms | 15.1 ms | 21.6 ms |
ECDSA (secp384r1) | 148.5 ms | 133.7 ms | 37.3 ms | 51.3 ms |
ECDSA (secp521r1) | 316 ms | 275.9 ms | 79.9 ms | 104.7 ms |
ECDSA (brainpoolP256r1) | 110.5 ms | 109.6 ms | 21.7 ms | 27.9 ms |
ECDSA (brainpoolP384r1) | 303.5 ms | 317.6 ms | 54.8 ms | 69 ms |
ECDSA (brainpoolP512r1) | 607.9 ms | 614.2 ms | 111.4 ms | 136.4 ms |
SM2 | 55.1 ms | 55.1 ms | 8.7 ms | 8.7 ms |
EdDSA (Ed25519) | 15.1 ms | 13.2 ms | - | - |
EdDSA (Ed448) | 76.4 ms | 67.7 ms | - | - |
Key Exchange Algorithms
M487 @ 192 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) |
Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 174.8 ms | 175 ms |
Diffie-Hellman (2048 bits) | 1191 ms | 1191.2 ms |
EC Key Exchange Algorithms
M487 @ 192 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) |
Shared Secret Computation (Software) |
Public Key Generation (Hardware) |
Shared Secret Computation (Hardware) |
---|---|---|---|---|
ECDH (secp256r1) | 56.4 ms | 56.3 ms | 8.6 ms | 8.4 ms |
ECDH (secp384r1) | 131.1 ms | 130.4 ms | 20.1 ms | 19.8 ms |
ECDH (secp521r1) | 273.4 ms | 273.5 ms | 38.1 ms | 37.7 ms |
ECDH (brainpoolP256r1) | 103.1 ms | 102.5 ms | 13.9 ms | 13.7 ms |
ECDH (brainpoolP384r1) | 298.1 ms | 283 ms | 34.2 ms | 34 ms |
ECDH (brainpoolP512r1) | 564.7 ms | 565.2 ms | 68 ms | 67.8 ms |
ECDH (SM2) | 54.9 ms | 54.8 ms | 8.8 ms | 8.5 ms |
ECDH (X25519) | 8.2 ms | 8.3 ms | - | - |
ECDH (X448) | 38.8 ms | 38.8 ms | - | - |