Crypto Benchmark on Tiva TM4C129 MCU
ARM Cortex-M4F @ 120 MHz
This benchmark conducted on TM4C1294 Connected LaunchPad™ Evaluation Kit (EK-TM4C1294XL) 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 Texas Instruments Tiva TM4C129 microcontroller.
Tiva TM4C129 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
TM4C129 @ 120 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 | 0.159 MB/s | 0.162 MB/s | 10.905 MB/s | 10.905 MB/s |
3DES-CTR | 0.162 MB/s | 0.161 MB/s | 1.927 MB/s | 1.927 MB/s |
AES128-CBC | 0.752 MB/s | 0.76 MB/s | 13.44 MB/s | 13.386 MB/s |
AES192-CBC | 0.65 MB/s | 0.662 MB/s | 12.853 MB/s | 12.787 MB/s |
AES256-CBC | 0.572 MB/s | 0.587 MB/s | 12.345 MB/s | 12.285 MB/s |
AES128-CTR | 0.776 MB/s | 0.776 MB/s | 13.175 MB/s | 13.123 MB/s |
AES192-CTR | 0.668 MB/s | 0.668 MB/s | 12.61 MB/s | 12.578 MB/s |
AES256-CTR | 0.586 MB/s | 0.586 MB/s | 12.121 MB/s | 12.062 MB/s |
SM4-CBC | 0.825 MB/s | 0.78 MB/s | - | - |
SM4-CTR | 0.854 MB/s | 0.854 MB/s | - | - |
AEAD Algorithms
TM4C129 @ 120 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 | 0.501 MB/s | 0.5 MB/s | 12.87 MB/s | 12.87 MB/s |
AES192-GCM | 0.452 MB/s | 0.452 MB/s | 12.33 MB/s | 12.33 MB/s |
AES256-GCM | 0.413 MB/s | 0.412 MB/s | 11.862 MB/s | 11.862 MB/s |
AES128-CCM | 0.401 MB/s | 0.398 MB/s | - | - |
AES192-CCM | 0.342 MB/s | 0.34 MB/s | - | - |
AES256-CCM | 0.298 MB/s | 0.296 MB/s | - | - |
SM4-GCM | 0.533 MB/s | 0.532 MB/s | - | - |
SM4-CCM | 0.445 MB/s | 0.441 MB/s | - | - |
Ascon-AEAD128 | 1.259 MB/s | 1.268 MB/s | - | - |
ChaCha20Poly1305 | 1.093 MB/s | 1.092 MB/s | - | - |
Hash Algorithms
TM4C129 @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) |
Speed (Hardware) |
---|---|---|
MD5 | 4.692 MB/s | 40.16 MB/s |
SHA-1 | 1.019 MB/s | 40 MB/s |
SHA-224 | 1.11 MB/s | 39.525 MB/s |
SHA-256 | 1.11 MB/s | 39.682 MB/s |
SHA-384 | 0.693 MB/s | - |
SHA-512 | 0.693 MB/s | - |
SHA3-224 | 0.541 MB/s | - |
SHA3-256 | 0.512 MB/s | - |
SHA3-384 | 0.394 MB/s | - |
SHA3-512 | 0.275 MB/s | - |
SM3 | 0.974 MB/s | - |
Ascon-Hash256 | 0.476 MB/s | - |
Signature Algorithms
TM4C129 @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
---|---|---|
RSA (1024 bits) | 167.9 ms | 29.5 ms |
RSA (2048 bits) | 836.7 ms | 104.1 ms |
DSA (1024 bits) | 94.1 ms | 194.1 ms |
DSA (2048 bits) | 412 ms | 866.7 ms |
EC Signature Algorithms
TM4C129 @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
---|---|---|
ECDSA (secp256r1) | 106.2 ms | 95.7 ms |
ECDSA (secp384r1) | 256.3 ms | 232 ms |
ECDSA (secp521r1) | 531.6 ms | 467.7 ms |
ECDSA (brainpoolP256r1) | 215.1 ms | 215.4 ms |
ECDSA (brainpoolP384r1) | 569.7 ms | 570.8 ms |
ECDSA (brainpoolP512r1) | 1188.1 ms | 1211.2 ms |
SM2 | 93.7 ms | 93.7 ms |
EdDSA (Ed25519) | 25.4 ms | 22.1 ms |
EdDSA (Ed448) | 134.8 ms | 111.9 ms |
Key Exchange Algorithms
TM4C129 @ 120 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) | 322.1 ms | 322.2 ms |
Diffie-Hellman (2048 bits) | 2151.5 ms | 2151.5 ms |
EC Key Exchange Algorithms
TM4C129 @ 120 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) | 93.1 ms | 92.9 ms |
ECDH (secp384r1) | 222.1 ms | 221.7 ms |
ECDH (secp521r1) | 454.6 ms | 454 ms |
ECDH (brainpoolP256r1) | 200.3 ms | 200 ms |
ECDH (brainpoolP384r1) | 529.4 ms | 528.9 ms |
ECDH (brainpoolP512r1) | 1102.8 ms | 1102.3 ms |
ECDH (SM2) | 93.6 ms | 93.3 ms |
ECDH (X25519) | 13.2 ms | 13.3 ms |
ECDH (X448) | 61.5 ms | 61.5 ms |