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.2.2
- • Compiled using ARMCC with optimization level 3
Algorithm | CBC Encrypt (Software) | CBC Decrypt (Software) | CCM Encrypt (Software) | CCM Decrypt (Software) | GCM Encrypt (Software) | GCM Decrypt (Software) |
---|---|---|---|---|---|---|
3DES | 0.141 MB/s | 0.145 MB/s | - | - | - | - |
AES-128 | 0.763 MB/s | 0.728 MB/s | 0.405 MB/s | 0.405 MB/s | 0.475 MB/s | 0.475 MB/s |
AES-192 | 0.657 MB/s | 0.634 MB/s | 0.342 MB/s | 0.342 MB/s | 0.427 MB/s | 0.428 MB/s |
AES-256 | 0.577 MB/s | 0.562 MB/s | 0.3 MB/s | 0.299 MB/s | 0.396 MB/s | 0.396 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 17.421 MB/s | 17.391 MB/s | - | - | 15.873 MB/s | 15.772 MB/s |
AES-192 | 16.778 MB/s | 16.722 MB/s | - | - | 15.337 MB/s | 15.267 MB/s |
AES-256 | 16.207 MB/s | 16.155 MB/s | - | - | 14.88 MB/s | 14.814 MB/s |
Hash Algorithms
PIC32CX-MT @ 196 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.2
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 6.844 MB/s | - |
SHA-1 | 1.047 MB/s | 25.641 MB/s |
SHA-224 | 1.472 MB/s | 26.455 MB/s |
SHA-256 | 1.472 MB/s | 26.525 MB/s |
SHA-384 | 0.866 MB/s | 34.482 MB/s |
SHA-512 | 0.866 MB/s | 34.722 MB/s |
SHA3-224 | 0.652 MB/s | - |
SHA3-256 | 0.616 MB/s | - |
SHA3-384 | 0.472 MB/s | - |
SHA3-512 | 0.328 MB/s | - |
Signature Algorithms
PIC32CX-MT @ 196 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.2
- • Compiled using ARMCC with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
RSA (1024 bits) | 148.5 ms | 26.4 ms |
RSA (2048 bits) | 748.8 ms | 93.1 ms |
RSA (3072 bits) | 2064.9 ms | 196.8 ms |
RSA (4096 bits) | 4392.7 ms | 344.2 ms |
DSA (1024 bits) | 86.5 ms | 176.6 ms |
DSA (2048 bits) | 368.9 ms | 772.7 ms |
EC Signature Algorithms
PIC32CX-MT @ 196 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.2
- • Compiled using ARMCC with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
ECDSA (P-256) | 362.3 ms | 455.5 ms |
ECDSA (P-384) | 622.6 ms | 784.7 ms |
ECDSA (P-521) | 627 ms | 748.4 ms |
EdDSA (Ed25519) | 79.2 ms | 155.4 ms |
EdDSA (Ed448) | 432.3 ms | 854.9 ms |
Key Exchange Algorithms
PIC32CX-MT @ 196 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.2
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 295.1 ms | 295.3 ms |
Diffie-Hellman (2048 bits) | 1913 ms | 1913 ms |
EC Key Exchange Algorithms
PIC32CX-MT @ 196 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.2
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (P-256) | 344.3 ms | 343.2 ms |
ECDH (P-384) | 593.5 ms | 607.7 ms |
ECDH (P-521) | 615.8 ms | 613.8 ms |
ECDH (X25519) | 43.6 ms | 43.6 ms |
ECDH (X448) | 217.4 ms | 217.4 ms |