Crypto Benchmark on PIC32CX-BZ2 MCU
ARM Cortex-M4F @ 64 MHz
This benchmark conducted on PIC32CX-BZ2 and WBZ451 Curiosity Development Board (EV96B94A) 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-BZ2 microcontroller.
PIC32CX-BZ2 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-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using XC32 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.163 MB/s | 0.159 MB/s | - | - | - | - |
AES-128 | 0.744 MB/s | 0.6 MB/s | 0.462 MB/s | 0.462 MB/s | 0.455 MB/s | 0.454 MB/s |
AES-192 | 0.657 MB/s | 0.529 MB/s | 0.395 MB/s | 0.395 MB/s | 0.42 MB/s | 0.419 MB/s |
AES-256 | 0.589 MB/s | 0.472 MB/s | 0.345 MB/s | 0.345 MB/s | 0.391 MB/s | 0.39 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 8.333 MB/s | 8.333 MB/s | - | - | 7.473 MB/s | 7.552 MB/s |
AES-192 | 7.886 MB/s | 7.836 MB/s | - | - | 7.067 MB/s | 7.102 MB/s |
AES-256 | 7.457 MB/s | 7.396 MB/s | - | - | 6.715 MB/s | 6.761 MB/s |
Hash Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using XC32 with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 3.355 MB/s | - |
SHA-1 | 0.924 MB/s | 28.49 MB/s |
SHA-224 | 0.705 MB/s | 31.25 MB/s |
SHA-256 | 0.705 MB/s | 31.347 MB/s |
SHA-384 | 0.433 MB/s | - |
SHA-512 | 0.433 MB/s | - |
SHA3-224 | 0.357 MB/s | - |
SHA3-256 | 0.338 MB/s | - |
SHA3-384 | 0.261 MB/s | - |
SHA3-512 | 0.183 MB/s | - |
Signature Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using XC32 with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
RSA (1024 bits) | 258.6 ms | 39.8 ms |
RSA (2048 bits) | 1365.3 ms | 144.7 ms |
RSA (3072 bits) | 3885.5 ms | 309.5 ms |
RSA (4096 bits) | 8402.2 ms | 545.7 ms |
DSA (1024 bits) | 149.4 ms | 305.6 ms |
DSA (2048 bits) | 675.8 ms | 1414.6 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
RSA (1024 bits) | 22.4 ms | 2.1 ms |
RSA (2048 bits) | 128.4 ms | 6.6 ms |
RSA (3072 bits) | 387.3 ms | 13.3 ms |
RSA (4096 bits) | 876.2 ms | 22.7 ms |
DSA (1024 bits) | 30.1 ms | 80.3 ms |
DSA (2048 bits) | 124.5 ms | 337.2 ms |
EC Signature Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using XC32 with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
ECDSA (P-256) | 680.5 ms | 821.1 ms |
ECDSA (P-384) | 1362.1 ms | 1652.1 ms |
ECDSA (P-521) | 1634.3 ms | 1924 ms |
EdDSA (Ed25519) | 119.2 ms | 234.3 ms |
EdDSA (Ed448) | 598.2 ms | 1187.1 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
ECDSA (P-256) | 43.5 ms | 86.6 ms |
ECDSA (P-384) | 99.6 ms | 197.7 ms |
ECDSA (P-521) | 212.9 ms | 424.4 ms |
Key Exchange Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using XC32 with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 564.9 ms | 564.9 ms |
Diffie-Hellman (2048 bits) | 3767.9 ms | 3768.2 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
Diffie-Hellman (1024 bits) | 60.9 ms | 60.9 ms |
Diffie-Hellman (2048 bits) | 427.1 ms | 427 ms |
EC Key Exchange Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using XC32 with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (P-256) | 651.4 ms | 654.1 ms |
ECDH (P-384) | 1272.9 ms | 1271.9 ms |
ECDH (P-521) | 1598.5 ms | 1604.8 ms |
ECDH (X25519) | 65.4 ms | 65.4 ms |
ECDH (X448) | 304.9 ms | 304.9 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
ECDH (P-256) | 42.7 ms | 42.7 ms |
ECDH (P-384) | 97.1 ms | 96.9 ms |
ECDH (P-521) | 209.8 ms | 210 ms |