Crypto Benchmark on M467 MCU
ARM Cortex-M4 @ 200 MHz
This benchmark conducted on NuMaker-IoT-M467 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 M467 microcontroller.
M467 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
M467 @ 200 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.502 MB/s | 0.492 MB/s | - | - |
3DES-CTR | 0.505 MB/s | 0.506 MB/s | - | - |
AES128-CBC | 2.502 MB/s | 2.424 MB/s | 16.75 MB/s | 16.722 MB/s |
AES192-CBC | 2.192 MB/s | 2.145 MB/s | 16.103 MB/s | 16.103 MB/s |
AES256-CBC | 1.952 MB/s | 1.931 MB/s | 15.527 MB/s | 15.552 MB/s |
AES128-CTR | 2.218 MB/s | 2.22 MB/s | 16.339 MB/s | 16.26 MB/s |
AES192-CTR | 1.972 MB/s | 1.973 MB/s | 15.723 MB/s | 15.673 MB/s |
AES256-CTR | 1.774 MB/s | 1.775 MB/s | 15.151 MB/s | 15.128 MB/s |
SM4-CBC | 2.449 MB/s | 2.362 MB/s | - | - |
SM4-CTR | 2.176 MB/s | 2.178 MB/s | - | - |
AEAD Algorithms
M467 @ 200 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.267 MB/s | 1.228 MB/s | 2.188 MB/s | 2.184 MB/s |
AES192-GCM | 1.182 MB/s | 1.148 MB/s | 2.177 MB/s | 2.162 MB/s |
AES256-GCM | 1.107 MB/s | 1.076 MB/s | 2.166 MB/s | 2.163 MB/s |
AES128-CCM | 1.251 MB/s | 1.248 MB/s | 2.679 MB/s | 2.746 MB/s |
AES192-CCM | 1.092 MB/s | 1.09 MB/s | 2.613 MB/s | 2.68 MB/s |
AES256-CCM | 0.968 MB/s | 0.966 MB/s | 2.57 MB/s | 2.634 MB/s |
SM4-GCM | 1.256 MB/s | 1.253 MB/s | - | - |
SM4-CCM | 1.223 MB/s | 1.222 MB/s | - | - |
Ascon-AEAD128 | 2.152 MB/s | 2.142 MB/s | - | - |
ChaCha20Poly1305 | 1.766 MB/s | 1.763 MB/s | - | - |
Hash Algorithms
M467 @ 200 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) |
Speed (Hardware) |
---|---|---|
MD5 | 11.494 MB/s | - |
SHA-1 | 2.806 MB/s | 40.16 MB/s |
SHA-224 | 2.554 MB/s | 41.493 MB/s |
SHA-256 | 2.554 MB/s | 41.493 MB/s |
SHA-384 | 1.353 MB/s | 42.735 MB/s |
SHA-512 | 1.353 MB/s | 42.735 MB/s |
SHA3-224 | 0.82 MB/s | 19.801 MB/s |
SHA3-256 | 0.776 MB/s | 19.417 MB/s |
SHA3-384 | 0.598 MB/s | 19.531 MB/s |
SHA3-512 | 0.415 MB/s | 19.607 MB/s |
SM3 | 2.177 MB/s | - |
Ascon-Hash256 | 0.813 MB/s | - |
Signature Algorithms
M467 @ 200 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
Generation (Hardware) |
Verification (Hardware) |
---|---|---|---|---|
RSA (1024 bits) | 83.9 ms | 15.3 ms | 4.7 ms | 0.5 ms |
RSA (2048 bits) | 438.2 ms | 56.7 ms | 46.7 ms | 1.3 ms |
RSA (3072 bits) | 1239.6 ms | 121.8 ms | 75.1 ms | 2.7 ms |
RSA (4096 bits) | 2673.7 ms | 215.6 ms | 190.4 ms | 4.6 ms |
DSA (1024 bits) | 47.3 ms | 99.1 ms | 10.8 ms | 26.3 ms |
DSA (2048 bits) | 217.4 ms | 461 ms | 34.6 ms | 95 ms |
DSA (3072 bits) | 465.6 ms | 993.8 ms | 68 ms | 201.6 ms |
EC Signature Algorithms
M467 @ 200 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) | 66.4 ms | 59.3 ms | 14.4 ms | 19.2 ms |
ECDSA (secp384r1) | 162.2 ms | 145.6 ms | 35 ms | 45 ms |
ECDSA (secp521r1) | 336.9 ms | 294 ms | 76.3 ms | 94 ms |
ECDSA (brainpoolP256r1) | 119.1 ms | 117.9 ms | 21 ms | 25.9 ms |
ECDSA (brainpoolP384r1) | 309.7 ms | 306.3 ms | 53 ms | 63.3 ms |
ECDSA (brainpoolP512r1) | 636.2 ms | 641 ms | 107.1 ms | 124.8 ms |
SM2 | 58.4 ms | 58.4 ms | 7.5 ms | 7.5 ms |
EdDSA (Ed25519) | 14.8 ms | 13.2 ms | - | - |
EdDSA (Ed448) | 72 ms | 63.1 ms | - | - |
Key Exchange Algorithms
M467 @ 200 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) |
---|---|---|---|---|
Diffie-Hellman (1024 bits) | 167.4 ms | 167.5 ms | 4.3 ms | 4.3 ms |
Diffie-Hellman (2048 bits) | 1143.6 ms | 1143.6 ms | 24.3 ms | 24.3 ms |
Diffie-Hellman (3072 bits) | 3648 ms | 3649.3 ms | 71.6 ms | 71.7 ms |
Diffie-Hellman (4096 bits) | 8418.9 ms | 8420.1 ms | 158.4 ms | 158.4 ms |
EC Key Exchange Algorithms
M467 @ 200 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) | 59.4 ms | 59.2 ms | 7.5 ms | 7.3 ms |
ECDH (secp384r1) | 144 ms | 143.8 ms | 16.8 ms | 16.5 ms |
ECDH (secp521r1) | 292.1 ms | 291.6 ms | 31.6 ms | 31.1 ms |
ECDH (brainpoolP256r1) | 111 ms | 110.9 ms | 13.8 ms | 13.7 ms |
ECDH (brainpoolP384r1) | 288.2 ms | 287.9 ms | 31.5 ms | 31.3 ms |
ECDH (brainpoolP512r1) | 591.4 ms | 591.1 ms | 62.4 ms | 62.1 ms |
ECDH (SM2) | 58.4 ms | 58.2 ms | 7.5 ms | 7.3 ms |
ECDH (X25519) | 8.2 ms | 8.2 ms | - | - |
ECDH (X448) | 36.8 ms | 36.7 ms | - | - |