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.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 2.232 MB/s | 1.667 MB/s | - | - |
3DES-CTR | 2.555 MB/s | 2.555 MB/s | - | - |
AES128-CBC | 12.468 MB/s | 12.437 MB/s | 59.88 MB/s | 60.24 MB/s |
AES192-CBC | 10.881 MB/s | 10.964 MB/s | - | - |
AES256-CBC | 9.633 MB/s | 9.813 MB/s | - | - |
AES128-CTR | 11.976 MB/s | 11.976 MB/s | - | - |
AES192-CTR | 10.493 MB/s | 10.493 MB/s | - | - |
AES256-CTR | 9.345 MB/s | 9.337 MB/s | - | - |
SM4-CBC | 10.504 MB/s | 10.351 MB/s | - | - |
SM4-CTR | 10.152 MB/s | 10.152 MB/s | - | - |
AEAD Algorithms
i.MXRT1042 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) |
Decryption (Software) |
---|---|---|
AES128-GCM | 7.251 MB/s | 7.293 MB/s |
AES192-GCM | 6.671 MB/s | 6.706 MB/s |
AES256-GCM | 6.18 MB/s | 6.207 MB/s |
AES128-CCM | 6.385 MB/s | 6.393 MB/s |
AES192-CCM | 5.524 MB/s | 5.534 MB/s |
AES256-CCM | 4.87 MB/s | 4.875 MB/s |
SM4-GCM | 6.535 MB/s | 6.561 MB/s |
SM4-CCM | 5.327 MB/s | 5.336 MB/s |
Ascon-AEAD128 | 12.254 MB/s | 12.091 MB/s |
ChaCha20Poly1305 | 6.821 MB/s | 6.811 MB/s |
Hash Algorithms
i.MXRT1042 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) |
Speed (Hardware) |
---|---|---|
MD5 | 50.251 MB/s | - |
SHA-1 | 16.393 MB/s | 81.967 MB/s |
SHA-224 | 16.611 MB/s | - |
SHA-256 | 16.313 MB/s | 95.238 MB/s |
SHA-384 | 6.702 MB/s | - |
SHA-512 | 6.711 MB/s | - |
SHA3-224 | 3.649 MB/s | - |
SHA3-256 | 3.451 MB/s | - |
SHA3-384 | 2.651 MB/s | - |
SHA3-512 | 1.843 MB/s | - |
SM3 | 13.755 MB/s | - |
Ascon-Hash256 | 4.642 MB/s | - |
Signature Algorithms
i.MXRT1042 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
---|---|---|
RSA (1024 bits) | 17.5 ms | 2.8 ms |
RSA (2048 bits) | 89.8 ms | 9.8 ms |
RSA (3072 bits) | 254.9 ms | 20.6 ms |
RSA (4096 bits) | 553.1 ms | 36 ms |
DSA (1024 bits) | 9.7 ms | 19.8 ms |
DSA (2048 bits) | 43.7 ms | 91 ms |
EC Signature Algorithms
i.MXRT1042 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
---|---|---|
ECDSA (secp256r1) | 13 ms | 11.7 ms |
ECDSA (secp384r1) | 31.1 ms | 28.3 ms |
ECDSA (secp521r1) | 66.6 ms | 58.9 ms |
ECDSA (brainpoolP256r1) | 24.6 ms | 24.6 ms |
ECDSA (brainpoolP384r1) | 63.9 ms | 63.9 ms |
ECDSA (brainpoolP512r1) | 129.5 ms | 131.7 ms |
SM2 | 11.3 ms | 11.3 ms |
EdDSA (Ed25519) | 3.7 ms | 3.4 ms |
EdDSA (Ed448) | 22.1 ms | 19.8 ms |
Key Exchange Algorithms
i.MXRT1042 @ 600 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) | 36 ms | 35.9 ms |
Diffie-Hellman (2048 bits) | 244.9 ms | 244.7 ms |
EC Key Exchange Algorithms
i.MXRT1042 @ 600 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) | 11.7 ms | 11.4 ms |
ECDH (secp384r1) | 27.3 ms | 27.2 ms |
ECDH (secp521r1) | 57.5 ms | 57.4 ms |
ECDH (brainpoolP256r1) | 23 ms | 22.9 ms |
ECDH (brainpoolP384r1) | 59.4 ms | 59.3 ms |
ECDH (brainpoolP512r1) | 120.1 ms | 120 ms |
ECDH (SM2) | 11.4 ms | 11.3 ms |
ECDH (X25519) | 2.1 ms | 2 ms |
ECDH (X448) | 11.3 ms | 11.3 ms |