Crypto Benchmark on PIC32MZ MCU
MIPS32 M-Class Core @ 200 MHz
This benchmark conducted on Curiosity PIC32MZ EF 2.0 Development Board (DM320209) 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 PIC32MZ microcontroller.
PIC32MZ MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
PIC32MZ2048EF @ 200 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.0
- • 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.593 MB/s | 0.58 MB/s | - | - | - | - |
AES-128 | 2.594 MB/s | 2.518 MB/s | 1.339 MB/s | 1.357 MB/s | 1.371 MB/s | 1.368 MB/s |
AES-192 | 2.262 MB/s | 2.214 MB/s | 1.158 MB/s | 1.172 MB/s | 1.271 MB/s | 1.27 MB/s |
AES-256 | 2.005 MB/s | 1.973 MB/s | 1.02 MB/s | 1.031 MB/s | 1.185 MB/s | 1.184 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
3DES | 19.88 MB/s | 19.88 MB/s | - | - | - | - |
AES-128 | 24.57 MB/s | 24.154 MB/s | - | - | 20.833 MB/s | 20.833 MB/s |
AES-192 | 23.364 MB/s | 22.935 MB/s | - | - | 20 MB/s | 19.96 MB/s |
AES-256 | 22.988 MB/s | 22.222 MB/s | - | - | 19.685 MB/s | 19.646 MB/s |
Hash Algorithms
PIC32MZ2048EF @ 200 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.0
- • Compiled using XC32 with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 14.705 MB/s | 61.728 MB/s |
SHA-1 | 3.41 MB/s | 60.975 MB/s |
SHA-224 | 2.64 MB/s | - |
SHA-256 | 2.641 MB/s | 42.194 MB/s |
SHA-384 | 1.324 MB/s | - |
SHA-512 | 1.324 MB/s | - |
SHA3-224 | 0.806 MB/s | - |
SHA3-256 | 0.761 MB/s | - |
SHA3-384 | 0.583 MB/s | - |
SHA3-512 | 0.405 MB/s | - |
Signature Algorithms
PIC32MZ2048EF @ 200 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.0
- • Compiled using XC32 with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
RSA (1024 bits) | 90.3 ms | 12.4 ms |
RSA (2048 bits) | 553.4 ms | 46.3 ms |
DSA (1024 bits) | 53.6 ms | 110 ms |
DSA (2048 bits) | 277.3 ms | 574.6 ms |
EC Signature Algorithms
PIC32MZ2048EF @ 200 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.0
- • Compiled using XC32 with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
ECDSA (P-256) | 123.2 ms | 156.7 ms |
ECDSA (P-384) | 246 ms | 300.6 ms |
ECDSA (P-521) | 322.4 ms | 385.6 ms |
EdDSA (Ed25519) | 37.2 ms | 73.6 ms |
EdDSA (Ed448) | 205.8 ms | 410.4 ms |
Key Exchange Algorithms
PIC32MZ2048EF @ 200 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.0
- • Compiled using XC32 with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 241.1 ms | 241.1 ms |
Diffie-Hellman (2048 bits) | 1775.5 ms | 1775.6 ms |
EC Key Exchange Algorithms
PIC32MZ2048EF @ 200 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.0
- • Compiled using XC32 with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (P-256) | 122.2 ms | 121.7 ms |
ECDH (P-384) | 230.9 ms | 231.1 ms |
ECDH (P-521) | 318.1 ms | 316.6 ms |
ECDH (X25519) | 20.6 ms | 20.5 ms |
ECDH (X448) | 105 ms | 104.8 ms |