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-CBC0.131 MB/s0.125 MB/s--
3DES-CTR0.13 MB/s0.13 MB/s--
AES128-CBC0.544 MB/s0.505 MB/s6.123 MB/s6.142 MB/s
AES192-CBC0.475 MB/s0.438 MB/s5.959 MB/s5.973 MB/s
AES256-CBC0.422 MB/s0.39 MB/s5.743 MB/s5.757 MB/s
AES128-CTR0.533 MB/s0.531 MB/s5.977 MB/s5.973 MB/s
AES192-CTR0.463 MB/s0.462 MB/s5.813 MB/s5.807 MB/s
AES256-CTR0.409 MB/s0.409 MB/s5.611 MB/s5.605 MB/s
SM4-CBC0.585 MB/s0.563 MB/s6.238 MB/s6.257 MB/s
SM4-CTR0.611 MB/s0.61 MB/s6.067 MB/s6.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-GCM0.319 MB/s0.305 MB/s0.61 MB/s0.608 MB/s
AES192-GCM0.294 MB/s0.28 MB/s0.608 MB/s0.606 MB/s
AES256-GCM0.273 MB/s0.26 MB/s0.606 MB/s0.604 MB/s
AES128-CCM0.301 MB/s0.281 MB/s0.952 MB/s1.113 MB/s
AES192-CCM0.259 MB/s0.243 MB/s0.929 MB/s1.088 MB/s
AES256-CCM0.227 MB/s0.215 MB/s0.903 MB/s1.057 MB/s
SM4-GCM0.311 MB/s0.31 MB/s0.611 MB/s0.609 MB/s
SM4-CCM0.311 MB/s0.323 MB/s1.012 MB/s1.222 MB/s
Ascon-AEAD1280.588 MB/s0.576 MB/s--
ChaCha20Poly13050.554 MB/s0.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)
MD53.785 MB/s-
SHA-10.85 MB/s11.35 MB/s
SHA-2240.559 MB/s11.56 MB/s
SHA-2560.559 MB/s11.56 MB/s
SHA-3840.441 MB/s11.173 MB/s
SHA-5120.44 MB/s11.198 MB/s
SHA3-2240.453 MB/s-
SHA3-2560.427 MB/s-
SHA3-3840.329 MB/s-
SHA3-5120.229 MB/s-
SM30.589 MB/s11.6 MB/s
Ascon-Hash2560.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 ms53 ms9.6 ms0.9 ms
RSA (2048 bits)3671.4 ms202.1 ms90.3 ms2.7 ms
DSA (1024 bits)316.6 ms639.1 ms22.4 ms55.5 ms
DSA (2048 bits)1806 ms3671.1 ms71.5 ms201.5 ms
RSA (3072 bits)--156.3 ms5.7 ms
RSA (4096 bits)--368.5 ms9.6 ms
DSA (3072 bits)--140.3 ms428.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 ms352.4 ms93.2 ms111.9 ms
ECDSA (secp384r1)1073.2 ms992.4 ms246.5 ms286.6 ms
ECDSA (secp521r1)2489.4 ms2227.6 ms564.3 ms636.6 ms
ECDSA (brainpoolP256r1)895.9 ms915.2 ms152.5 ms172.6 ms
ECDSA (brainpoolP384r1)2558.3 ms2600.8 ms419 ms462.1 ms
ECDSA (brainpoolP512r1)5497.3 ms5658 ms894.3 ms969.3 ms
SM2323.2 ms323.2 ms35 ms35 ms
EdDSA (Ed25519)245.5 ms232.5 ms--
EdDSA (Ed448)1010.1 ms918.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 ms1687.5 ms9 ms8.9 ms
Diffie-Hellman (2048 bits)12954.1 ms12956.2 ms50.8 ms50.7 ms
Diffie-Hellman (3072 bits)--149.3 ms149.1 ms
Diffie-Hellman (4096 bits)--330 ms329.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 ms321.5 ms35.4 ms35.1 ms
ECDH (secp384r1)911.4 ms911 ms86.6 ms86.3 ms
ECDH (secp521r1)2100.7 ms2100.1 ms182.9 ms182.3 ms
ECDH (brainpoolP256r1)828.5 ms828.3 ms85.5 ms85.3 ms
ECDH (brainpoolP384r1)2362.6 ms2362.2 ms226.9 ms226.5 ms
ECDH (brainpoolP512r1)5079 ms5078.7 ms481 ms480.5 ms
ECDH (SM2)323.2 ms323 ms35 ms34.7 ms
ECDH (X25519)137.7 ms137.8 ms--
ECDH (X448)514.4 ms514.3 ms--