Crypto Benchmark on PIC32MZ EF MCU
MIPS32 M-Class Core @ 200 MHz

This benchmark conducted on Curiosity PIC32MZ EF 2.0 Development Board (DM320209) 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 PIC32MZ EF microcontroller.

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

Cipher Algorithms

PIC32MZ2048EF @ 200 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
Algorithm Encryption
(Software)
Decryption
(Software)
Encryption
(Hardware)
Decryption
(Hardware)
3DES-CBC0.636 MB/s0.619 MB/s19.88 MB/s19.88 MB/s
3DES-CTR0.646 MB/s0.646 MB/s--
AES128-CBC2.776 MB/s2.642 MB/s24.63 MB/s24.154 MB/s
AES192-CBC2.414 MB/s2.305 MB/s23.419 MB/s22.935 MB/s
AES256-CBC2.136 MB/s2.047 MB/s23.041 MB/s22.222 MB/s
AES128-CTR2.916 MB/s2.916 MB/s--
AES192-CTR2.52 MB/s2.52 MB/s--
AES256-CTR2.218 MB/s2.218 MB/s--
SM4-CBC2.672 MB/s2.579 MB/s--
SM4-CTR2.809 MB/s2.81 MB/s--

AEAD Algorithms

PIC32MZ2048EF @ 200 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
Algorithm Encryption
(Software)
Decryption
(Software)
Encryption
(Hardware)
Decryption
(Hardware)
AES128-GCM1.486 MB/s1.487 MB/s20.833 MB/s20.833 MB/s
AES192-GCM1.373 MB/s1.375 MB/s20.04 MB/s20.04 MB/s
AES256-GCM1.276 MB/s1.277 MB/s19.607 MB/s19.607 MB/s
AES128-CCM1.58 MB/s1.576 MB/s--
AES192-CCM1.342 MB/s1.34 MB/s--
AES256-CCM1.169 MB/s1.167 MB/s--
SM4-GCM1.467 MB/s1.468 MB/s--
SM4-CCM1.511 MB/s1.509 MB/s--
Ascon-AEAD1282.446 MB/s2.428 MB/s--
ChaCha20Poly13053.993 MB/s3.99 MB/s--

Hash Algorithms

PIC32MZ2048EF @ 200 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
Algorithm Speed
(Software)
Speed
(Hardware)
MD512.919 MB/s60.606 MB/s
SHA-13.189 MB/s60.24 MB/s
SHA-2242.751 MB/s-
SHA-2562.751 MB/s40.65 MB/s
SHA-3841.511 MB/s-
SHA-5121.511 MB/s-
SHA3-2240.95 MB/s-
SHA3-2560.898 MB/s-
SHA3-3840.69 MB/s-
SHA3-5120.48 MB/s-
SM32.398 MB/s-
Ascon-Hash2560.897 MB/s-

Signature Algorithms

PIC32MZ2048EF @ 200 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
Algorithm Generation
(Software)
Verification
(Software)
RSA (1024 bits)93.1 ms12.4 ms
RSA (2048 bits)566.8 ms46.9 ms
DSA (1024 bits)53.3 ms110.5 ms
DSA (2048 bits)279 ms580 ms

EC Signature Algorithms

PIC32MZ2048EF @ 200 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
Algorithm Generation
(Software)
Verification
(Software)
ECDSA (secp256r1)65.6 ms59.8 ms
ECDSA (secp384r1)175 ms160 ms
ECDSA (secp521r1)393.8 ms349.4 ms
ECDSA (brainpoolP256r1)131.8 ms132.8 ms
ECDSA (brainpoolP384r1)369.8 ms371.8 ms
ECDSA (brainpoolP512r1)795.3 ms811.6 ms
SM257.7 ms57.7 ms
EdDSA (Ed25519)15.8 ms14.5 ms
EdDSA (Ed448)75.7 ms68 ms

Key Exchange Algorithms

PIC32MZ2048EF @ 200 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
Algorithm Public Key Generation
(Software)
Shared Secret Computation
(Software)
Diffie-Hellman (1024 bits)243.2 ms243.3 ms
Diffie-Hellman (2048 bits)1785.1 ms1785.4 ms

EC Key Exchange Algorithms

PIC32MZ2048EF @ 200 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
Algorithm Public Key Generation
(Software)
Shared Secret Computation
(Software)
ECDH (secp256r1)57.3 ms57.2 ms
ECDH (secp384r1)151.9 ms151.8 ms
ECDH (secp521r1)337.7 ms337.3 ms
ECDH (brainpoolP256r1)122.2 ms122.1 ms
ECDH (brainpoolP384r1)342.7 ms342.5 ms
ECDH (brainpoolP512r1)736.6 ms736.5 ms
ECDH (SM2)57.7 ms57.5 ms
ECDH (X25519)8.8 ms8.7 ms
ECDH (X448)38.9 ms38.8 ms