Crypto Benchmark on PIC32CX-SG MCU
ARM Cortex-M4F @ 120 MHz

This benchmark conducted on PIC32CX SG41 Curiosity Ultra Evaluation Board (EV06X38A) 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 PIC32CX-SG microcontroller.

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

Cipher Algorithms

PIC32CX-SG @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
Algorithm Encryption
(Software)
Decryption
(Software)
Encryption
(Hardware)
Decryption
(Hardware)
3DES-CBC0.338 MB/s0.333 MB/s--
3DES-CTR0.339 MB/s0.339 MB/s--
AES128-CBC1.485 MB/s1.222 MB/s16.42 MB/s16.339 MB/s
AES192-CBC1.307 MB/s1.066 MB/s15.432 MB/s15.384 MB/s
AES256-CBC1.166 MB/s0.946 MB/s14.577 MB/s14.492 MB/s
AES128-CTR1.6 MB/s1.6 MB/s--
AES192-CTR1.395 MB/s1.394 MB/s--
AES256-CTR1.236 MB/s1.236 MB/s--
SM4-CBC1.58 MB/s1.502 MB/s--
SM4-CTR1.707 MB/s1.706 MB/s--

AEAD Algorithms

PIC32CX-SG @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
Algorithm Encryption
(Software)
Decryption
(Software)
Encryption
(Hardware)
Decryption
(Hardware)
AES128-GCM0.899 MB/s0.892 MB/s14.792 MB/s14.727 MB/s
AES192-GCM0.829 MB/s0.822 MB/s13.927 MB/s13.888 MB/s
AES256-GCM0.769 MB/s0.763 MB/s13.175 MB/s13.175 MB/s
AES128-CCM0.89 MB/s0.891 MB/s--
AES192-CCM0.762 MB/s0.762 MB/s--
AES256-CCM0.665 MB/s0.666 MB/s--
SM4-GCM0.934 MB/s0.934 MB/s--
SM4-CCM0.962 MB/s0.964 MB/s--
Ascon-AEAD1281.536 MB/s1.538 MB/s--
ChaCha20Poly13052.151 MB/s2.154 MB/s--

Hash Algorithms

PIC32CX-SG @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
Algorithm Speed
(Software)
Speed
(Hardware)
MD57.204 MB/s-
SHA-12.003 MB/s61.349 MB/s
SHA-2241.447 MB/s68.027 MB/s
SHA-2561.447 MB/s68.027 MB/s
SHA-3840.851 MB/s-
SHA-5120.851 MB/s-
SHA3-2240.693 MB/s-
SHA3-2560.656 MB/s-
SHA3-3840.505 MB/s-
SHA3-5120.352 MB/s-
SM31.166 MB/s-
Ascon-Hash2560.574 MB/s-

Signature Algorithms

PIC32CX-SG @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
Algorithm Generation
(Software)
Verification
(Software)
Generation
(Hardware)
Verification
(Hardware)
RSA (1024 bits)152.6 ms22.4 ms11.7 ms1 ms
RSA (2048 bits)920.3 ms84.1 ms67.8 ms3.2 ms
RSA (3072 bits)2798.7 ms182.1 ms205.7 ms6.8 ms
RSA (4096 bits)6295.5 ms322.9 ms466.3 ms11.6 ms
DSA (1024 bits)90.4 ms187.2 ms15.7 ms42.1 ms
DSA (2048 bits)464.6 ms969.3 ms65.5 ms178 ms

EC Signature Algorithms

PIC32CX-SG @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
Algorithm Generation
(Software)
Verification
(Software)
Generation
(Hardware)
Verification
(Hardware)
ECDSA (secp256r1)118.5 ms106 ms23 ms45.7 ms
ECDSA (secp384r1)297.3 ms267.1 ms53 ms104.9 ms
ECDSA (secp521r1)619.4 ms543.5 ms113 ms224.6 ms
ECDSA (brainpoolP256r1)223.8 ms222 ms23 ms45.4 ms
ECDSA (brainpoolP384r1)586.3 ms582.7 ms52.6 ms104.8 ms
ECDSA (brainpoolP512r1)1213.7 ms1228 ms100.7 ms203.5 ms
SM2105.5 ms105.5 ms22.4 ms22.4 ms
EdDSA (Ed25519)30.8 ms27.7 ms--
EdDSA (Ed448)131.2 ms116.2 ms--

Key Exchange Algorithms

PIC32CX-SG @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC 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)387.5 ms387.5 ms32.3 ms32.3 ms
Diffie-Hellman (2048 bits)2877 ms2877.4 ms227.4 ms227.3 ms

EC Key Exchange Algorithms

PIC32CX-SG @ 120 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
Algorithm Public Key Generation
(Software)
Shared Secret Computation
(Software)
Public Key Generation
(Hardware)
Shared Secret Computation
(Hardware)
ECDH (secp256r1)105 ms104.8 ms22.6 ms22.4 ms
ECDH (secp384r1)262.2 ms262 ms51.6 ms51.3 ms
ECDH (secp521r1)535 ms534.5 ms111.3 ms110.9 ms
ECDH (brainpoolP256r1)208.3 ms208.1 ms22.2 ms21.9 ms
ECDH (brainpoolP384r1)544.8 ms544.4 ms51.2 ms50.9 ms
ECDH (brainpoolP512r1)1126.8 ms1126.5 ms101 ms100.7 ms
ECDH (SM2)105.6 ms105.3 ms22.5 ms22.4 ms
ECDH (X25519)16.5 ms16.5 ms--
ECDH (X448)66.6 ms66.7 ms--