Crypto Benchmark on i.MX RT1040 MCU
ARM Cortex-M7 @ 600 MHz
This benchmark conducted on MIMXRT1040-EVK i.MX RT1040 Evaluation Kit 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 NXP i.MX RT1040 microcontroller.
i.MX RT1040 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
i.MXRT1042 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.3.2
- • Compiled using ARMCC with optimization level 3
Algorithm | CBC Encrypt (Software) | CBC Decrypt (Software) | CCM Encrypt (Software) | CCM Decrypt (Software) | GCM Encrypt (Software) | GCM Decrypt (Software) |
---|---|---|---|---|---|---|
3DES | 2.56 MB/s | 2.52 MB/s | - | - | - | - |
AES-128 | 12.642 MB/s | 12.547 MB/s | 6.402 MB/s | 6.455 MB/s | 7.262 MB/s | 7.251 MB/s |
AES-192 | 11.001 MB/s | 11.049 MB/s | 5.537 MB/s | 5.577 MB/s | 6.684 MB/s | 6.671 MB/s |
AES-256 | 9.737 MB/s | 9.871 MB/s | 4.882 MB/s | 4.911 MB/s | 6.188 MB/s | 6.176 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 60.24 MB/s | 60.24 MB/s | - | - | - | - |
Hash Algorithms
i.MXRT1042 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.3.2
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 61.349 MB/s | - |
SHA-1 | 17.761 MB/s | 76.335 MB/s |
SHA-224 | 16.638 MB/s | - |
SHA-256 | 16.611 MB/s | 87.719 MB/s |
SHA-384 | 6.734 MB/s | - |
SHA-512 | 6.734 MB/s | - |
SHA3-224 | 3.696 MB/s | - |
SHA3-256 | 3.491 MB/s | - |
SHA3-384 | 2.675 MB/s | - |
SHA3-512 | 1.854 MB/s | - |
Signature Algorithms
i.MXRT1042 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.3.2
- • Compiled using ARMCC with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
RSA (1024 bits) | 16.6 ms | 2.7 ms |
RSA (2048 bits) | 87.2 ms | 9.7 ms |
RSA (3072 bits) | 249.8 ms | 20.5 ms |
RSA (4096 bits) | 544.6 ms | 36 ms |
DSA (1024 bits) | 9.5 ms | 19.4 ms |
DSA (2048 bits) | 43.2 ms | 90.1 ms |
EC Signature Algorithms
i.MXRT1042 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.3.2
- • Compiled using ARMCC with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
ECDSA (P-256) | 52.8 ms | 66.8 ms |
ECDSA (P-384) | 78.7 ms | 90 ms |
ECDSA (P-521) | 75.1 ms | 93.4 ms |
EdDSA (Ed25519) | 9.1 ms | 18 ms |
EdDSA (Ed448) | 39.1 ms | 77.8 ms |
Key Exchange Algorithms
i.MXRT1042 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.3.2
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 35.6 ms | 35.5 ms |
Diffie-Hellman (2048 bits) | 243.4 ms | 243.1 ms |
EC Key Exchange Algorithms
i.MXRT1042 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.3.2
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (P-256) | 52.3 ms | 52.2 ms |
ECDH (P-384) | 73.9 ms | 74.6 ms |
ECDH (P-521) | 73.3 ms | 72.8 ms |
ECDH (X25519) | 5.1 ms | 5 ms |
ECDH (X448) | 20 ms | 19.9 ms |