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

This benchmark conducted on PIC32MZ-W1 and WFI32 2.0 Curiosity Board (EV67T15A) 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 W1 microcontroller.

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

Cipher Algorithms

PIC32MZ2051W1 @ 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.637 MB/s0.62 MB/s18.018 MB/s17.985 MB/s
3DES-CTR0.65 MB/s0.65 MB/s--
AES128-CBC2.79 MB/s2.676 MB/s21.645 MB/s21.367 MB/s
AES192-CBC2.425 MB/s2.336 MB/s20.833 MB/s20.576 MB/s
AES256-CBC2.145 MB/s2.072 MB/s20.491 MB/s19.96 MB/s
AES128-CTR2.94 MB/s2.94 MB/s21.276 MB/s21.276 MB/s
AES192-CTR2.538 MB/s2.538 MB/s20.533 MB/s20.576 MB/s
AES256-CTR2.233 MB/s2.233 MB/s20.202 MB/s20.202 MB/s
SM4-CBC2.672 MB/s2.579 MB/s--
SM4-CTR2.809 MB/s2.809 MB/s--

AEAD Algorithms

PIC32MZ2051W1 @ 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.503 MB/s1.504 MB/s18.832 MB/s18.867 MB/s
AES192-GCM1.389 MB/s1.39 MB/s18.148 MB/s18.181 MB/s
AES256-GCM1.291 MB/s1.292 MB/s17.889 MB/s17.921 MB/s
AES128-CCM1.589 MB/s1.587 MB/s--
AES192-CCM1.35 MB/s1.349 MB/s--
AES256-CCM1.174 MB/s1.173 MB/s--
SM4-GCM1.468 MB/s1.469 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

PIC32MZ2051W1 @ 200 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
Algorithm Speed
(Software)
Speed
(Hardware)
MD512.919 MB/s47.846 MB/s
SHA-13.189 MB/s51.546 MB/s
SHA-2242.751 MB/s-
SHA-2562.751 MB/s38.61 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

PIC32MZ2051W1 @ 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.5 ms
RSA (2048 bits)566.6 ms46.9 ms
DSA (1024 bits)53.2 ms110.5 ms
DSA (2048 bits)278.9 ms579.9 ms

EC Signature Algorithms

PIC32MZ2051W1 @ 200 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
Algorithm Generation
(Software)
Verification
(Software)
Generation
(Hardware)
Verification
(Hardware)
ECDSA (secp256r1)65.7 ms59.7 ms4.3 ms8.5 ms
ECDSA (secp384r1)175 ms160 ms16 ms31.8 ms
ECDSA (secp521r1)393.8 ms349.3 ms--
ECDSA (brainpoolP256r1)131.8 ms132.8 ms4.3 ms8.7 ms
ECDSA (brainpoolP384r1)369.8 ms371.7 ms15.8 ms31.6 ms
ECDSA (brainpoolP512r1)795.3 ms811.6 ms20.6 ms42.2 ms
SM257.7 ms57.7 ms7.3 ms7.3 ms
EdDSA (Ed25519)15.8 ms14.5 ms4.3 ms7.5 ms
EdDSA (Ed448)75.8 ms68.1 ms--

Key Exchange Algorithms

PIC32MZ2051W1 @ 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.3 ms243.2 ms
Diffie-Hellman (2048 bits)1785.1 ms1785.3 ms

EC Key Exchange Algorithms

PIC32MZ2051W1 @ 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)
Public Key Generation
(Hardware)
Shared Secret Computation
(Hardware)
ECDH (secp256r1)57.3 ms57.1 ms7.2 ms7.2 ms
ECDH (secp384r1)152 ms151.8 ms23.3 ms23.1 ms
ECDH (secp521r1)337.6 ms337.3 ms--
ECDH (brainpoolP256r1)122.2 ms122.1 ms13.9 ms13.6 ms
ECDH (brainpoolP384r1)342.7 ms342.5 ms42.4 ms42.1 ms
ECDH (brainpoolP512r1)736.6 ms736.4 ms79.5 ms79.3 ms
ECDH (SM2)57.7 ms57.6 ms7.3 ms7.2 ms
ECDH (X25519)8.7 ms8.7 ms2.5 ms2.5 ms
ECDH (X448)38.9 ms38.9 ms--