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.2.4
- • Compiled using GCC 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.336 MB/s | 0.334 MB/s | - | - | - | - |
AES-128 | 1.492 MB/s | 1.274 MB/s | 0.801 MB/s | 0.776 MB/s | 0.789 MB/s | 0.788 MB/s |
AES-192 | 1.307 MB/s | 1.108 MB/s | 0.692 MB/s | 0.671 MB/s | 0.734 MB/s | 0.732 MB/s |
AES-256 | 1.162 MB/s | 0.981 MB/s | 0.609 MB/s | 0.591 MB/s | 0.684 MB/s | 0.685 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 16.26 MB/s | 16.26 MB/s | - | - | 14.771 MB/s | 14.771 MB/s |
AES-192 | 15.313 MB/s | 15.243 MB/s | - | - | 13.908 MB/s | 13.908 MB/s |
AES-256 | 14.45 MB/s | 14.388 MB/s | - | - | 13.157 MB/s | 13.157 MB/s |
Hash Algorithms
PIC32CX-SG @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • Compiled using GCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 9.066 MB/s | - |
SHA-1 | 1.795 MB/s | 62.111 MB/s |
SHA-224 | 1.413 MB/s | 68.493 MB/s |
SHA-256 | 1.413 MB/s | 68.965 MB/s |
SHA-384 | 0.598 MB/s | - |
SHA-512 | 0.598 MB/s | - |
SHA3-224 | 0.472 MB/s | - |
SHA3-256 | 0.446 MB/s | - |
SHA3-384 | 0.342 MB/s | - |
SHA3-512 | 0.237 MB/s | - |
Signature Algorithms
PIC32CX-SG @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • Compiled using GCC with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
RSA (1024 bits) | 143.2 ms | 22 ms |
RSA (2048 bits) | 849.9 ms | 81.6 ms |
RSA (3072 bits) | 2570.4 ms | 176.3 ms |
RSA (4096 bits) | 5763.6 ms | 311.8 ms |
DSA (1024 bits) | 87.3 ms | 178 ms |
DSA (2048 bits) | 434.6 ms | 902 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
RSA (1024 bits) | 11.6 ms | 1 ms |
RSA (2048 bits) | 67.8 ms | 3.2 ms |
RSA (3072 bits) | 205.7 ms | 6.8 ms |
RSA (4096 bits) | 466.2 ms | 11.6 ms |
DSA (1024 bits) | 15.6 ms | 40.4 ms |
DSA (2048 bits) | 64 ms | 169.8 ms |
EC Signature Algorithms
PIC32CX-SG @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • Compiled using GCC with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
ECDSA (P-256) | 271.9 ms | 337.6 ms |
ECDSA (P-384) | 521.6 ms | 631.1 ms |
ECDSA (P-521) | 632.1 ms | 747.5 ms |
EdDSA (Ed25519) | 90.3 ms | 178.2 ms |
EdDSA (Ed448) | 414.5 ms | 824.2 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
ECDSA (P-256) | 22.9 ms | 45.6 ms |
ECDSA (P-384) | 52.7 ms | 104.8 ms |
ECDSA (P-521) | 112.5 ms | 224.4 ms |
Key Exchange Algorithms
PIC32CX-SG @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • Compiled using GCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 360 ms | 360.1 ms |
Diffie-Hellman (2048 bits) | 2641.5 ms | 2641.9 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
Diffie-Hellman (1024 bits) | 32.2 ms | 32.3 ms |
Diffie-Hellman (2048 bits) | 227.4 ms | 227.4 ms |
EC Key Exchange Algorithms
PIC32CX-SG @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • Compiled using GCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (P-256) | 268.8 ms | 269 ms |
ECDH (P-384) | 485.4 ms | 486.1 ms |
ECDH (P-521) | 619 ms | 613.7 ms |
ECDH (X25519) | 50.2 ms | 50.2 ms |
ECDH (X448) | 218.7 ms | 218.7 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
ECDH (P-256) | 22.5 ms | 22.5 ms |
ECDH (P-384) | 51.4 ms | 51.3 ms |
ECDH (P-521) | 110.9 ms | 110.9 ms |