Crypto Benchmark on M2354 MCU
ARM Cortex-M23 @ 96 MHz
This benchmark conducted on NuMaker-M2354 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 M2354 microcontroller.
M2354 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
M2354 @ 96 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 | 0.131 MB/s | 0.125 MB/s | - | - |
3DES-CTR | 0.13 MB/s | 0.13 MB/s | - | - |
AES128-CBC | 0.544 MB/s | 0.505 MB/s | 6.123 MB/s | 6.142 MB/s |
AES192-CBC | 0.475 MB/s | 0.438 MB/s | 5.959 MB/s | 5.973 MB/s |
AES256-CBC | 0.422 MB/s | 0.39 MB/s | 5.743 MB/s | 5.757 MB/s |
AES128-CTR | 0.533 MB/s | 0.531 MB/s | 5.977 MB/s | 5.973 MB/s |
AES192-CTR | 0.463 MB/s | 0.462 MB/s | 5.813 MB/s | 5.807 MB/s |
AES256-CTR | 0.409 MB/s | 0.409 MB/s | 5.611 MB/s | 5.605 MB/s |
SM4-CBC | 0.585 MB/s | 0.563 MB/s | 6.238 MB/s | 6.257 MB/s |
SM4-CTR | 0.611 MB/s | 0.61 MB/s | 6.067 MB/s | 6.06 MB/s |
AEAD Algorithms
M2354 @ 96 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 | 0.319 MB/s | 0.305 MB/s | 0.61 MB/s | 0.608 MB/s |
AES192-GCM | 0.294 MB/s | 0.28 MB/s | 0.608 MB/s | 0.606 MB/s |
AES256-GCM | 0.273 MB/s | 0.26 MB/s | 0.606 MB/s | 0.604 MB/s |
AES128-CCM | 0.301 MB/s | 0.281 MB/s | 0.952 MB/s | 1.113 MB/s |
AES192-CCM | 0.259 MB/s | 0.243 MB/s | 0.929 MB/s | 1.088 MB/s |
AES256-CCM | 0.227 MB/s | 0.215 MB/s | 0.903 MB/s | 1.057 MB/s |
SM4-GCM | 0.311 MB/s | 0.31 MB/s | 0.611 MB/s | 0.609 MB/s |
SM4-CCM | 0.311 MB/s | 0.323 MB/s | 1.012 MB/s | 1.222 MB/s |
Ascon-AEAD128 | 0.588 MB/s | 0.576 MB/s | - | - |
ChaCha20Poly1305 | 0.554 MB/s | 0.554 MB/s | - | - |
Hash Algorithms
M2354 @ 96 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Speed (Software) |
Speed (Hardware) |
---|---|---|
MD5 | 3.785 MB/s | - |
SHA-1 | 0.85 MB/s | 11.35 MB/s |
SHA-224 | 0.559 MB/s | 11.56 MB/s |
SHA-256 | 0.559 MB/s | 11.56 MB/s |
SHA-384 | 0.441 MB/s | 11.173 MB/s |
SHA-512 | 0.44 MB/s | 11.198 MB/s |
SHA3-224 | 0.453 MB/s | - |
SHA3-256 | 0.427 MB/s | - |
SHA3-384 | 0.329 MB/s | - |
SHA3-512 | 0.229 MB/s | - |
SM3 | 0.589 MB/s | 11.6 MB/s |
Ascon-Hash256 | 0.22 MB/s | - |
Signature Algorithms
M2354 @ 96 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) | 537.9 ms | 53 ms | 9.6 ms | 0.9 ms |
RSA (2048 bits) | 3671.4 ms | 202.1 ms | 90.3 ms | 2.7 ms |
DSA (1024 bits) | 316.6 ms | 639.1 ms | 22.4 ms | 55.5 ms |
DSA (2048 bits) | 1806 ms | 3671.1 ms | 71.5 ms | 201.5 ms |
RSA (3072 bits) | - | - | 156.3 ms | 5.7 ms |
RSA (4096 bits) | - | - | 368.5 ms | 9.6 ms |
DSA (3072 bits) | - | - | 140.3 ms | 428.8 ms |
EC Signature Algorithms
M2354 @ 96 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) | 380.8 ms | 352.4 ms | 93.2 ms | 111.9 ms |
ECDSA (secp384r1) | 1073.2 ms | 992.4 ms | 246.5 ms | 286.6 ms |
ECDSA (secp521r1) | 2489.4 ms | 2227.6 ms | 564.3 ms | 636.6 ms |
ECDSA (brainpoolP256r1) | 895.9 ms | 915.2 ms | 152.5 ms | 172.6 ms |
ECDSA (brainpoolP384r1) | 2558.3 ms | 2600.8 ms | 419 ms | 462.1 ms |
ECDSA (brainpoolP512r1) | 5497.3 ms | 5658 ms | 894.3 ms | 969.3 ms |
SM2 | 323.2 ms | 323.2 ms | 35 ms | 35 ms |
EdDSA (Ed25519) | 245.5 ms | 232.5 ms | - | - |
EdDSA (Ed448) | 1010.1 ms | 918.3 ms | - | - |
Key Exchange Algorithms
M2354 @ 96 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) | 1687 ms | 1687.5 ms | 9 ms | 8.9 ms |
Diffie-Hellman (2048 bits) | 12954.1 ms | 12956.2 ms | 50.8 ms | 50.7 ms |
Diffie-Hellman (3072 bits) | - | - | 149.3 ms | 149.1 ms |
Diffie-Hellman (4096 bits) | - | - | 330 ms | 329.8 ms |
EC Key Exchange Algorithms
M2354 @ 96 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) | 321.7 ms | 321.5 ms | 35.4 ms | 35.1 ms |
ECDH (secp384r1) | 911.4 ms | 911 ms | 86.6 ms | 86.3 ms |
ECDH (secp521r1) | 2100.7 ms | 2100.1 ms | 182.9 ms | 182.3 ms |
ECDH (brainpoolP256r1) | 828.5 ms | 828.3 ms | 85.5 ms | 85.3 ms |
ECDH (brainpoolP384r1) | 2362.6 ms | 2362.2 ms | 226.9 ms | 226.5 ms |
ECDH (brainpoolP512r1) | 5079 ms | 5078.7 ms | 481 ms | 480.5 ms |
ECDH (SM2) | 323.2 ms | 323 ms | 35 ms | 34.7 ms |
ECDH (X25519) | 137.7 ms | 137.8 ms | - | - |
ECDH (X448) | 514.4 ms | 514.3 ms | - | - |