Crypto Benchmark on PIC32MX MCU
MIPS32 M4K Core @ 120 MHz

This benchmark conducted on Curiosity PIC32MX470 Development Board (DM320103) 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 PIC32MX microcontroller.

Cipher Algorithms

PIC32MX470 @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
3DES-CBC0.162 MB/s0.16 MB/s
3DES-CTR0.164 MB/s0.164 MB/s
AES128-CBC0.825 MB/s0.786 MB/s
AES192-CBC0.705 MB/s0.674 MB/s
AES256-CBC0.616 MB/s0.59 MB/s
AES128-CTR0.89 MB/s0.885 MB/s
AES192-CTR0.752 MB/s0.749 MB/s
AES256-CTR0.651 MB/s0.648 MB/s
SM4-CBC0.898 MB/s0.85 MB/s
SM4-CTR0.944 MB/s0.944 MB/s

AEAD Algorithms

PIC32MX470 @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
AES128-GCM0.551 MB/s0.551 MB/s
AES192-GCM0.493 MB/s0.494 MB/s
AES256-GCM0.448 MB/s0.449 MB/s
AES128-CCM0.452 MB/s0.452 MB/s
AES192-CCM0.378 MB/s0.378 MB/s
AES256-CCM0.327 MB/s0.327 MB/s
SM4-GCM0.569 MB/s0.57 MB/s
SM4-CCM0.488 MB/s0.488 MB/s
Ascon-AEAD1281.402 MB/s1.388 MB/s
ChaCha20Poly13052.2 MB/s2.199 MB/s

Hash Algorithms

PIC32MX470 @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
AlgorithmSpeed
(Software)
MD57.385 MB/s
SHA-11.681 MB/s
SHA-2241.379 MB/s
SHA-2561.379 MB/s
SHA-3840.835 MB/s
SHA-5120.835 MB/s
SHA3-2240.56 MB/s
SHA3-2560.529 MB/s
SHA3-3840.407 MB/s
SHA3-5120.283 MB/s
SM31.3 MB/s
Ascon-Hash2560.51 MB/s

Signature Algorithms

PIC32MX470 @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
RSA (1024 bits)172.6 ms22.5 ms
RSA (2048 bits)1010.7 ms81.9 ms
DSA (1024 bits)96.6 ms199.1 ms
DSA (2048 bits)489.3 ms1014.2 ms

EC Signature Algorithms

PIC32MX470 @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
ECDSA (secp256r1)115.8 ms105.9 ms
ECDSA (secp384r1)304.3 ms279.1 ms
ECDSA (secp521r1)679.1 ms604.2 ms
ECDSA (brainpoolP256r1)234.4 ms237.1 ms
ECDSA (brainpoolP384r1)649.9 ms655.1 ms
EdDSA (Ed25519)30 ms27.2 ms
EdDSA (Ed448)145.2 ms127 ms

Key Exchange Algorithms

PIC32MX470 @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
Diffie-Hellman (1024 bits)434.6 ms434.7 ms
Diffie-Hellman (2048 bits)3117.7 ms3118 ms

EC Key Exchange Algorithms

PIC32MX470 @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using XC32 with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
ECDH (secp256r1)100.8 ms100.7 ms
ECDH (secp384r1)263.9 ms263.6 ms
ECDH (secp521r1)581.6 ms581.2 ms
ECDH (brainpoolP256r1)217.3 ms217.2 ms
ECDH (brainpoolP384r1)602 ms601.7 ms
ECDH (brainpoolP512r1)1299.1 ms1298.8 ms
ECDH (SM2)101.6 ms101.4 ms
ECDH (X25519)16.2 ms16.2 ms
ECDH (X448)70.5 ms71 ms