Crypto Benchmark on SAM4C MCU
ARM Cortex-M4 @ 120 MHz

This benchmark conducted on ATSAM4C32 Evaluation Kit (ATSAM4C32-EK) 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 Microchip SAM4C microcontroller.

SAM4C MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.

Cipher Algorithms

SAM4C @ 120 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-CBC0.149 MB/s0.148 MB/s--
3DES-CTR0.15 MB/s0.15 MB/s--
AES128-CBC0.715 MB/s0.72 MB/s21.929 MB/s21.929 MB/s
AES192-CBC0.617 MB/s0.626 MB/s21.097 MB/s20.964 MB/s
AES256-CBC0.542 MB/s0.553 MB/s20.283 MB/s20.242 MB/s
AES128-CTR0.733 MB/s0.73 MB/s21.186 MB/s21.052 MB/s
AES192-CTR0.63 MB/s0.628 MB/s20.325 MB/s20.242 MB/s
AES256-CTR0.553 MB/s0.551 MB/s19.531 MB/s19.531 MB/s
SM4-CBC0.774 MB/s0.776 MB/s--
SM4-CTR0.773 MB/s0.773 MB/s--

AEAD Algorithms

SAM4C @ 120 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-GCM0.474 MB/s0.472 MB/s20.533 MB/s20.449 MB/s
AES192-GCM0.425 MB/s0.424 MB/s19.723 MB/s19.646 MB/s
AES256-GCM0.391 MB/s0.39 MB/s19.047 MB/s18.939 MB/s
AES128-CCM0.38 MB/s0.38 MB/s--
AES192-CCM0.321 MB/s0.322 MB/s--
AES256-CCM0.281 MB/s0.282 MB/s--
SM4-GCM0.485 MB/s0.483 MB/s--
SM4-CCM0.404 MB/s0.405 MB/s--
Ascon-AEAD1281.198 MB/s1.198 MB/s--
ChaCha20Poly13050.923 MB/s0.922 MB/s--

Hash Algorithms

SAM4C @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
Algorithm Speed
(Software)
Speed
(Hardware)
MD55.07 MB/s-
SHA-10.912 MB/s57.142 MB/s
SHA-2241.095 MB/s62.5 MB/s
SHA-2561.095 MB/s62.893 MB/s
SHA-3840.604 MB/s-
SHA-5120.604 MB/s-
SHA3-2240.432 MB/s-
SHA3-2560.408 MB/s-
SHA3-3840.314 MB/s-
SHA3-5120.219 MB/s-
SM31.038 MB/s-
Ascon-Hash2560.45 MB/s-

Signature Algorithms

SAM4C @ 120 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)198.7 ms35.1 ms15.4 ms1.2 ms
RSA (2048 bits)995.1 ms124.9 ms73.3 ms3.4 ms
RSA (3072 bits)2776.4 ms264.7 ms214.7 ms7.1 ms
RSA (4096 bits)5948 ms464.3 ms478.1 ms12 ms
DSA (1024 bits)111.3 ms232.5 ms25.4 ms64.9 ms
DSA (2048 bits)491.8 ms1044.2 ms92.1 ms247.8 ms
DSA (3072 bits)1040.3 ms2228 ms192.1 ms531.4 ms

EC Signature Algorithms

SAM4C @ 120 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)128 ms114.9 ms34.3 ms68 ms
ECDSA (secp384r1)309.2 ms279.3 ms62.8 ms124 ms
ECDSA (secp521r1)644.9 ms566.7 ms124.8 ms247.9 ms
ECDSA (brainpoolP256r1)243.2 ms242.1 ms34.3 ms67.5 ms
ECDSA (brainpoolP384r1)637.1 ms635.2 ms62.4 ms124 ms
ECDSA (brainpoolP512r1)1321.5 ms1340.5 ms111.8 ms225.6 ms
SM2114 ms114 ms33.1 ms33.1 ms
EdDSA (Ed25519)30.2 ms26.8 ms--
EdDSA (Ed448)152.7 ms130.7 ms--

Key Exchange Algorithms

SAM4C @ 120 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)380.4 ms380.7 ms34.8 ms34.8 ms
Diffie-Hellman (2048 bits)2548.3 ms2548.5 ms233.1 ms233.1 ms

EC Key Exchange Algorithms

SAM4C @ 120 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)113.4 ms113.1 ms33.4 ms33 ms
ECDH (secp384r1)271.1 ms270.6 ms60.6 ms60.1 ms
ECDH (secp521r1)555.5 ms554.8 ms122.3 ms121.6 ms
ECDH (brainpoolP256r1)226.5 ms226.2 ms32.8 ms32.4 ms
ECDH (brainpoolP384r1)592.2 ms591.7 ms60.1 ms59.6 ms
ECDH (brainpoolP512r1)1227 ms1226.4 ms111.3 ms110.9 ms
ECDH (SM2)114 ms113.6 ms33.3 ms33 ms
ECDH (X25519)16.3 ms16.3 ms--
ECDH (X448)73.7 ms73.7 ms--