Crypto Benchmark on PIC32CX-MT MCU
ARM Cortex-M4F @ 196 MHz

This benchmark conducted on PIC32CXMTG-EK Evaluation Kit (EV11K09A) 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-MT microcontroller.

PIC32CX-MT 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-MT @ 196 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.148 MB/s0.149 MB/s--
3DES-CTR0.147 MB/s0.147 MB/s--
AES128-CBC0.747 MB/s0.728 MB/s17.301 MB/s17.331 MB/s
AES192-CBC0.641 MB/s0.628 MB/s16.722 MB/s16.694 MB/s
AES256-CBC0.562 MB/s0.553 MB/s16.155 MB/s16.155 MB/s
AES128-CTR0.724 MB/s0.717 MB/s16.474 MB/s16.393 MB/s
AES192-CTR0.624 MB/s0.619 MB/s15.873 MB/s15.822 MB/s
AES256-CTR0.549 MB/s0.545 MB/s15.36 MB/s15.29 MB/s
SM4-CBC0.792 MB/s0.742 MB/s--
SM4-CTR0.74 MB/s0.74 MB/s--

AEAD Algorithms

PIC32CX-MT @ 196 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.501 MB/s0.5 MB/s17.825 MB/s17.793 MB/s
AES192-GCM0.447 MB/s0.446 MB/s17.064 MB/s17.035 MB/s
AES256-GCM0.411 MB/s0.41 MB/s16.474 MB/s16.393 MB/s
AES128-CCM0.383 MB/s0.385 MB/s--
AES192-CCM0.324 MB/s0.325 MB/s--
AES256-CCM0.285 MB/s0.286 MB/s--
SM4-GCM0.503 MB/s0.501 MB/s--
SM4-CCM0.397 MB/s0.398 MB/s--
Ascon-AEAD1281.249 MB/s1.254 MB/s--
ChaCha20Poly13051.267 MB/s1.264 MB/s--

Hash Algorithms

PIC32CX-MT @ 196 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
Algorithm Speed
(Software)
Speed
(Hardware)
MD55.192 MB/s-
SHA-11.149 MB/s30.395 MB/s
SHA-2241.196 MB/s32.362 MB/s
SHA-2561.196 MB/s32.362 MB/s
SHA-3840.769 MB/s36.363 MB/s
SHA-5120.769 MB/s36.496 MB/s
SHA3-2240.638 MB/s-
SHA3-2560.604 MB/s-
SHA3-3840.465 MB/s-
SHA3-5120.324 MB/s-
SM31.141 MB/s-
Ascon-Hash2560.455 MB/s-

Signature Algorithms

PIC32CX-MT @ 196 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)158.2 ms27 ms7.8 ms0.7 ms
RSA (2048 bits)778.9 ms92.5 ms42.7 ms2.1 ms
RSA (3072 bits)2125.4 ms192.9 ms127.6 ms4.4 ms
RSA (4096 bits)4494.3 ms335.8 ms287.4 ms7.4 ms
DSA (1024 bits)88.4 ms180.6 ms19 ms48.9 ms
DSA (2048 bits)372.2 ms778.2 ms66.8 ms181.8 ms
DSA (3072 bits)769.7 ms1626.6 ms138.1 ms387.6 ms

EC Signature Algorithms

PIC32CX-MT @ 196 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)138.7 ms126 ms15.4 ms30 ms
ECDSA (secp384r1)352.8 ms321.3 ms33.8 ms66.2 ms
ECDSA (secp521r1)784.5 ms692.6 ms70.8 ms139.8 ms
ECDSA (brainpoolP256r1)282.3 ms283.8 ms15.3 ms29.8 ms
ECDSA (brainpoolP384r1)770.3 ms772.7 ms33.5 ms66.1 ms
ECDSA (brainpoolP512r1)1634.2 ms1663.8 ms63.4 ms127.3 ms
SM2121.5 ms121.5 ms14.8 ms14.8 ms
EdDSA (Ed25519)22.8 ms19.6 ms--
EdDSA (Ed448)109.8 ms91 ms--

Key Exchange Algorithms

PIC32CX-MT @ 196 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)303.6 ms303.8 ms20.2 ms20.3 ms
Diffie-Hellman (2048 bits)1945.7 ms1945.7 ms140.1 ms140.1 ms

EC Key Exchange Algorithms

PIC32CX-MT @ 196 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)121.5 ms121.1 ms14.9 ms14.6 ms
ECDH (secp384r1)306.3 ms305.6 ms32.8 ms32.3 ms
ECDH (secp521r1)676.3 ms675.6 ms69.6 ms68.9 ms
ECDH (brainpoolP256r1)262.4 ms262.1 ms14.7 ms14.3 ms
ECDH (brainpoolP384r1)715.3 ms714.7 ms32.5 ms32 ms
ECDH (brainpoolP512r1)1516.5 ms1516 ms63.3 ms62.8 ms
ECDH (SM2)121.7 ms121.1 ms14.9 ms14.6 ms
ECDH (X25519)12.2 ms12.1 ms--
ECDH (X448)51 ms50.9 ms--