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.5.0
- • Compiled using XC32 with optimization level 3
Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 0.183 MB/s | 0.18 MB/s | - | - |
3DES-CTR | 0.188 MB/s | 0.188 MB/s | - | - |
AES128-CBC | 0.772 MB/s | 0.626 MB/s | 8.333 MB/s | 8.333 MB/s |
AES192-CBC | 0.68 MB/s | 0.549 MB/s | 7.886 MB/s | 7.836 MB/s |
AES256-CBC | 0.607 MB/s | 0.489 MB/s | 7.457 MB/s | 7.423 MB/s |
AES128-CTR | 0.871 MB/s | 0.871 MB/s | - | - |
AES192-CTR | 0.756 MB/s | 0.755 MB/s | - | - |
AES256-CTR | 0.668 MB/s | 0.667 MB/s | - | - |
SM4-CBC | 0.81 MB/s | 0.76 MB/s | - | - |
SM4-CTR | 0.906 MB/s | 0.906 MB/s | - | - |
AEAD Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using XC32 with optimization level 3
Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
---|---|---|---|---|
AES128-GCM | 0.482 MB/s | 0.479 MB/s | 7.496 MB/s | 7.552 MB/s |
AES192-GCM | 0.443 MB/s | 0.441 MB/s | 7.067 MB/s | 7.127 MB/s |
AES256-GCM | 0.411 MB/s | 0.409 MB/s | 6.734 MB/s | 6.756 MB/s |
AES128-CCM | 0.479 MB/s | 0.478 MB/s | - | - |
AES192-CCM | 0.407 MB/s | 0.407 MB/s | - | - |
AES256-CCM | 0.354 MB/s | 0.354 MB/s | - | - |
SM4-GCM | 0.497 MB/s | 0.496 MB/s | - | - |
SM4-CCM | 0.505 MB/s | 0.505 MB/s | - | - |
Ascon-AEAD128 | 0.746 MB/s | 0.756 MB/s | - | - |
ChaCha20Poly1305 | 0.933 MB/s | 0.933 MB/s | - | - |
Hash Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using XC32 with optimization level 3
Algorithm | Speed (Software) |
Speed (Hardware) |
---|---|---|
MD5 | 3.011 MB/s | - |
SHA-1 | 0.952 MB/s | 28.571 MB/s |
SHA-224 | 0.719 MB/s | 31.347 MB/s |
SHA-256 | 0.719 MB/s | 31.347 MB/s |
SHA-384 | 0.424 MB/s | - |
SHA-512 | 0.424 MB/s | - |
SHA3-224 | 0.354 MB/s | - |
SHA3-256 | 0.335 MB/s | - |
SHA3-384 | 0.26 MB/s | - |
SHA3-512 | 0.182 MB/s | - |
SM3 | 0.55 MB/s | - |
Ascon-Hash256 | 0.278 MB/s | - |
Signature Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using XC32 with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
Generation (Hardware) |
Verification (Hardware) |
---|---|---|---|---|
RSA (1024 bits) | 247.6 ms | 38.7 ms | 22.1 ms | 2 ms |
RSA (2048 bits) | 1326.7 ms | 142.5 ms | 127.7 ms | 6.3 ms |
RSA (3072 bits) | 3799.6 ms | 305.8 ms | 386.3 ms | 13 ms |
RSA (4096 bits) | 8251.7 ms | 540.3 ms | 874.7 ms | 22.2 ms |
DSA (1024 bits) | 137.5 ms | 287.1 ms | 29.8 ms | 79.6 ms |
DSA (2048 bits) | 644 ms | 1362.3 ms | 123.8 ms | 335.6 ms |
EC Signature Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using XC32 with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
Generation (Hardware) |
Verification (Hardware) |
---|---|---|---|---|
ECDSA (secp256r1) | 223.7 ms | 201.6 ms | 43.8 ms | 86.7 ms |
ECDSA (secp384r1) | 559.3 ms | 507.6 ms | 100 ms | 197.9 ms |
ECDSA (secp521r1) | 1165.4 ms | 1027.1 ms | 213.6 ms | 424.6 ms |
ECDSA (brainpoolP256r1) | 421.6 ms | 420.7 ms | 43.7 ms | 86.2 ms |
ECDSA (brainpoolP384r1) | 1106.6 ms | 1104.5 ms | 99.4 ms | 197.7 ms |
ECDSA (brainpoolP512r1) | 2294 ms | 2328.1 ms | 189.9 ms | 383.4 ms |
SM2 | 197.1 ms | 197.1 ms | 42.6 ms | 42.6 ms |
EdDSA (Ed25519) | 59.9 ms | 54.4 ms | - | - |
EdDSA (Ed448) | 247.2 ms | 219.7 ms | - | - |
Key Exchange Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using XC32 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) | 526.8 ms | 526.9 ms | 60.7 ms | 60.6 ms |
Diffie-Hellman (2048 bits) | 3615.3 ms | 3615.6 ms | 426.5 ms | 426.4 ms |
EC Key Exchange Algorithms
PIC32CX-BZ @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using XC32 with optimization level 3
Algorithm | Public Key Generation (Software) |
Shared Secret Computation (Software) |
Public Key Generation (Hardware) |
Shared Secret Computation (Hardware) |
---|---|---|---|---|
ECDH (secp256r1) | 198.1 ms | 197.7 ms | 42.9 ms | 42.6 ms |
ECDH (secp384r1) | 492.6 ms | 491.9 ms | 97.4 ms | 96.8 ms |
ECDH (secp521r1) | 1006.5 ms | 1005.4 ms | 210.7 ms | 209.7 ms |
ECDH (brainpoolP256r1) | 392 ms | 391.6 ms | 42.1 ms | 41.6 ms |
ECDH (brainpoolP384r1) | 1027.8 ms | 1027.1 ms | 96.6 ms | 96 ms |
ECDH (brainpoolP512r1) | 2128.8 ms | 2128.1 ms | 190.5 ms | 189.8 ms |
ECDH (SM2) | 197 ms | 196.6 ms | 42.9 ms | 42.5 ms |
ECDH (X25519) | 32.5 ms | 32.4 ms | - | - |
ECDH (X448) | 124.7 ms | 124.6 ms | - | - |