Crypto Benchmark on PIC32CZ-CA MCU
ARM Cortex-M7 @ 300 MHz
This benchmark conducted on PIC32CZ CA70 Curiosity Ultra Board (EA60E74A) 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 PIC32CZ-CA microcontroller.
PIC32CZ-CA MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
PIC32CZ-CA @ 300 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 1.259 MB/s | 1.233 MB/s | - | - |
3DES-CTR | 1.263 MB/s | 1.264 MB/s | - | - |
AES128-CBC | 6.218 MB/s | 6.226 MB/s | 29.761 MB/s | 29.673 MB/s |
AES192-CBC | 5.417 MB/s | 5.482 MB/s | 28.571 MB/s | 28.571 MB/s |
AES256-CBC | 4.805 MB/s | 4.909 MB/s | 27.397 MB/s | 27.322 MB/s |
AES128-CTR | 5.97 MB/s | 5.966 MB/s | 29.411 MB/s | 29.239 MB/s |
AES192-CTR | 5.23 MB/s | 5.227 MB/s | 28.328 MB/s | 28.169 MB/s |
AES256-CTR | 4.655 MB/s | 4.655 MB/s | 27.173 MB/s | 27.1 MB/s |
SM4-CBC | 5.115 MB/s | 4.94 MB/s | - | - |
SM4-CTR | 5.042 MB/s | 5.055 MB/s | - | - |
AEAD Algorithms
PIC32CZ-CA @ 300 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
---|---|---|---|---|
AES128-GCM | 3.542 MB/s | 3.541 MB/s | 28.409 MB/s | 28.328 MB/s |
AES192-GCM | 3.262 MB/s | 3.261 MB/s | 27.397 MB/s | 27.247 MB/s |
AES256-GCM | 3.025 MB/s | 3.024 MB/s | 26.315 MB/s | 26.178 MB/s |
AES128-CCM | 3.172 MB/s | 3.173 MB/s | - | - |
AES192-CCM | 2.746 MB/s | 2.747 MB/s | - | - |
AES256-CCM | 2.423 MB/s | 2.424 MB/s | - | - |
SM4-GCM | 3.194 MB/s | 3.198 MB/s | - | - |
SM4-CCM | 2.646 MB/s | 2.644 MB/s | - | - |
Ascon-AEAD128 | 6.297 MB/s | 6.218 MB/s | - | - |
ChaCha20Poly1305 | 4.759 MB/s | 4.746 MB/s | - | - |
Hash Algorithms
PIC32CZ-CA @ 300 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) |
Speed (Hardware) |
---|---|---|
MD5 | 25.062 MB/s | - |
SHA-1 | 8.583 MB/s | 70.422 MB/s |
SHA-224 | 8.051 MB/s | 76.335 MB/s |
SHA-256 | 8.051 MB/s | 76.335 MB/s |
SHA-384 | 3.19 MB/s | - |
SHA-512 | 3.19 MB/s | - |
SHA3-224 | 1.348 MB/s | - |
SHA3-256 | 1.274 MB/s | - |
SHA3-384 | 0.977 MB/s | - |
SHA3-512 | 0.679 MB/s | - |
SM3 | 6.91 MB/s | - |
Ascon-Hash256 | 2.402 MB/s | - |
Signature Algorithms
PIC32CZ-CA @ 300 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
---|---|---|
RSA (1024 bits) | 34.7 ms | 5.6 ms |
RSA (2048 bits) | 179.1 ms | 19.4 ms |
RSA (3072 bits) | 509.3 ms | 41 ms |
RSA (4096 bits) | 1105.5 ms | 71.7 ms |
DSA (1024 bits) | 19.2 ms | 39.3 ms |
DSA (2048 bits) | 87.1 ms | 181.4 ms |
EC Signature Algorithms
PIC32CZ-CA @ 300 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
---|---|---|
ECDSA (secp256r1) | 26.5 ms | 24.5 ms |
ECDSA (secp384r1) | 68.3 ms | 61.8 ms |
ECDSA (secp521r1) | 134.6 ms | 119.1 ms |
ECDSA (brainpoolP256r1) | 51.7 ms | 51.4 ms |
ECDSA (brainpoolP384r1) | 131.8 ms | 131.5 ms |
ECDSA (brainpoolP512r1) | 264 ms | 267.9 ms |
SM2 | 27.8 ms | 27.8 ms |
EdDSA (Ed25519) | 7.7 ms | 7.1 ms |
EdDSA (Ed448) | 44.7 ms | 39.9 ms |
Key Exchange Algorithms
PIC32CZ-CA @ 300 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) |
Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 71.7 ms | 71.7 ms |
Diffie-Hellman (2048 bits) | 490.7 ms | 489.2 ms |
EC Key Exchange Algorithms
PIC32CZ-CA @ 300 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) |
Shared Secret Computation (Software) |
---|---|---|
ECDH (secp256r1) | 23.4 ms | 23.3 ms |
ECDH (secp384r1) | 60.2 ms | 60.1 ms |
ECDH (secp521r1) | 116.2 ms | 116.1 ms |
ECDH (brainpoolP256r1) | 48.1 ms | 48.1 ms |
ECDH (brainpoolP384r1) | 122.4 ms | 122.4 ms |
ECDH (brainpoolP512r1) | 244.7 ms | 244.6 ms |
ECDH (SM2) | 27.7 ms | 27.7 ms |
ECDH (X25519) | 4.3 ms | 4.2 ms |
ECDH (X448) | 22.5 ms | 22.5 ms |