Crypto Benchmark on SAMD51 MCU
ARM Cortex-M4F @ 120 MHz

This benchmark conducted on Adafruit Metro M4 Evaluation Board featuring ATSAMD51 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 SAMD51 microcontroller.

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

Cipher Algorithms

SAMD51 @ 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.328 MB/s0.328 MB/s--
3DES-CTR0.33 MB/s0.33 MB/s--
AES128-CBC1.561 MB/s1.573 MB/s16.26 MB/s16.207 MB/s
AES192-CBC1.369 MB/s1.392 MB/s15.267 MB/s15.22 MB/s
AES256-CBC1.219 MB/s1.246 MB/s14.409 MB/s14.367 MB/s
AES128-CTR1.49 MB/s1.49 MB/s15.898 MB/s15.847 MB/s
AES192-CTR1.314 MB/s1.314 MB/s14.992 MB/s14.925 MB/s
AES256-CTR1.176 MB/s1.175 MB/s14.144 MB/s14.124 MB/s
SM4-CBC1.529 MB/s1.473 MB/s--
SM4-CTR1.461 MB/s1.461 MB/s--

AEAD Algorithms

SAMD51 @ 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.807 MB/s0.81 MB/s14.471 MB/s14.388 MB/s
AES192-GCM0.755 MB/s0.755 MB/s13.642 MB/s13.586 MB/s
AES256-GCM0.703 MB/s0.704 MB/s12.936 MB/s12.87 MB/s
AES128-CCM0.825 MB/s0.824 MB/s--
AES192-CCM0.716 MB/s0.715 MB/s--
AES256-CCM0.632 MB/s0.631 MB/s--
SM4-GCM0.821 MB/s0.819 MB/s--
SM4-CCM0.807 MB/s0.806 MB/s--
Ascon-AEAD1281.561 MB/s1.575 MB/s--
ChaCha20Poly13051.162 MB/s1.16 MB/s--

Hash Algorithms

SAMD51 @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
Algorithm Speed
(Software)
Speed
(Hardware)
MD57.027 MB/s-
SHA-11.668 MB/s60.606 MB/s
SHA-2241.606 MB/s67.114 MB/s
SHA-2561.606 MB/s67.114 MB/s
SHA-3840.826 MB/s-
SHA-5120.826 MB/s-
SHA3-2240.554 MB/s-
SHA3-2560.523 MB/s-
SHA3-3840.403 MB/s-
SHA3-5120.281 MB/s-
SM31.406 MB/s-
Ascon-Hash2560.602 MB/s-

Signature Algorithms

SAMD51 @ 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)143.7 ms26.8 ms11.7 ms1 ms
RSA (2048 bits)739.2 ms97.8 ms67.8 ms3.3 ms
RSA (3072 bits)2081.4 ms209.6 ms205.7 ms6.8 ms
RSA (4096 bits)4479.1 ms369.4 ms466.4 ms11.7 ms
DSA (1024 bits)81.5 ms171.1 ms19.2 ms50.4 ms
DSA (2048 bits)369.6 ms785 ms75.9 ms204.7 ms
DSA (3072 bits)790 ms1689.4 ms162.2 ms446.1 ms

EC Signature Algorithms

SAMD51 @ 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)94.7 ms85.2 ms23.1 ms45.7 ms
ECDSA (secp384r1)234.2 ms211.6 ms53 ms104.9 ms
ECDSA (secp521r1)495.2 ms434.1 ms113 ms224.6 ms
ECDSA (brainpoolP256r1)175.3 ms174.3 ms23.1 ms45.5 ms
ECDSA (brainpoolP384r1)465.7 ms463.4 ms52.7 ms104.8 ms
ECDSA (brainpoolP512r1)968.9 ms979.9 ms100.8 ms203.5 ms
SM284.9 ms84.9 ms22.4 ms22.4 ms
EdDSA (Ed25519)22.9 ms20.5 ms--
EdDSA (Ed448)116.3 ms102.8 ms--

Key Exchange Algorithms

SAMD51 @ 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)279.6 ms279.8 ms32.3 ms32.3 ms
Diffie-Hellman (2048 bits)1906.3 ms1906.6 ms227.4 ms227.4 ms

EC Key Exchange Algorithms

SAMD51 @ 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)84.2 ms84 ms22.6 ms22.4 ms
ECDH (secp384r1)206.4 ms206.2 ms51.6 ms51.3 ms
ECDH (secp521r1)428.2 ms427.7 ms111.4 ms110.9 ms
ECDH (brainpoolP256r1)163.2 ms162.9 ms22.3 ms22 ms
ECDH (brainpoolP384r1)433 ms432.7 ms51.2 ms50.9 ms
ECDH (brainpoolP512r1)899.9 ms899.3 ms101 ms100.8 ms
ECDH (SM2)84.8 ms84.6 ms22.6 ms22.3 ms
ECDH (X25519)12.5 ms12.5 ms--
ECDH (X448)59.2 ms59.2 ms--