-
Notifications
You must be signed in to change notification settings - Fork 1
mbed TLS benchmark
Dave Hylands edited this page Oct 7, 2016
·
4 revisions
I found this page: https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-tls-benchmark/ which runs a benchmark for various cryptographic algorithms.
##NUCLEO_F091RC - 48 MHz Cortex M0
SHA-256 : 397 Kb/s, 0 cycles/byte
SHA-512 : 188 Kb/s, 0 cycles/byte
AES-CBC-128 : 360 Kb/s, 0 cycles/byte
AES-CBC-192 : 313 Kb/s, 0 cycles/byte
AES-CBC-256 : 276 Kb/s, 0 cycles/byte
AES-GCM-128 : 160 Kb/s, 0 cycles/byte
AES-GCM-192 : 150 Kb/s, 0 cycles/byte
AES-GCM-256 : 141 Kb/s, 0 cycles/byte
AES-CCM-128 : 165 Kb/s, 0 cycles/byte
AES-CCM-192 : 145 Kb/s, 0 cycles/byte
AES-CCM-256 : 129 Kb/s, 0 cycles/byte
CTR_DRBG (NOPR) : 287 Kb/s, 0 cycles/byte
CTR_DRBG (PR) : 207 Kb/s, 0 cycles/byte
HMAC_DRBG SHA-256 (NOPR) : 48 Kb/s, 0 cycles/byte
HMAC_DRBG SHA-256 (PR) : 42 Kb/s, 0 cycles/byte
RSA-2048 : 173 ms/ public
RSA-2048 : FAILED: RSA - The private key operation failed : BIGNUM - Memory allocation failed
RSA-4096 : FAILED: RSA - The public key operation failed : BIGNUM - Memory allocation failed
RSA-4096 : FAILED: RSA - The private key operation failed : BIGNUM - Memory allocation failed
ECDSA : hung - no results
ECDH : hung - no results
##NUCLEO_F303RE - 72 MHz Cortex M4
SHA-256 : 1054 Kb/s, 66 cycles/byte
SHA-512 : 360 Kb/s, 196 cycles/byte
AES-CBC-128 : 758 Kb/s, 92 cycles/byte
AES-CBC-192 : 664 Kb/s, 106 cycles/byte
AES-CBC-256 : 592 Kb/s, 119 cycles/byte
AES-GCM-128 : 263 Kb/s, 268 cycles/byte
AES-GCM-192 : 251 Kb/s, 281 cycles/byte
AES-GCM-256 : 240 Kb/s, 294 cycles/byte
AES-CCM-128 : 339 Kb/s, 208 cycles/byte
AES-CCM-192 : 301 Kb/s, 234 cycles/byte
AES-CCM-256 : 271 Kb/s, 261 cycles/byte
CTR_DRBG (NOPR) : 632 Kb/s, 111 cycles/byte
CTR_DRBG (PR) : 448 Kb/s, 157 cycles/byte
HMAC_DRBG SHA-256 (NOPR) : 123 Kb/s, 580 cycles/byte
HMAC_DRBG SHA-256 (PR) : 108 Kb/s, 661 cycles/byte
RSA-2048 : 55 ms/ public
RSA-2048 : 1827 ms/private
RSA-4096 : 182 ms/ public
RSA-4096 : 10099 ms/private
ECDSA : hung - no results
ECDHE-secp384r1 : 1806 ms/handshake
ECDHE-secp256r1 : 1159 ms/handshake
ECDHE-Curve25519 : 966 ms/handshake
ECDH-secp384r1 : 891 ms/handshake
ECDH-secp256r1 : 566 ms/handshake
ECDH-Curve25519 : 500 ms/handshake
##NUCLEO_446RE - 180 MHz Cortex M4
SHA-256 : 3271 Kb/s, 53 cycles/byte
SHA-512 : 950 Kb/s, 185 cycles/byte
AES-CBC-128 : 2457 Kb/s, 71 cycles/byte
AES-CBC-192 : 2158 Kb/s, 81 cycles/byte
AES-CBC-256 : 1924 Kb/s, 91 cycles/byte
AES-GCM-128 : 760 Kb/s, 231 cycles/byte
AES-GCM-192 : 729 Kb/s, 241 cycles/byte
AES-GCM-256 : 700 Kb/s, 251 cycles/byte
AES-CCM-128 : 1023 Kb/s, 172 cycles/byte
AES-CCM-192 : 916 Kb/s, 192 cycles/byte
AES-CCM-256 : 830 Kb/s, 212 cycles/byte
CTR_DRBG (NOPR) : 2037 Kb/s, 86 cycles/byte
CTR_DRBG (PR) : 1444 Kb/s, 121 cycles/byte
HMAC_DRBG SHA-256 (NOPR) : 374 Kb/s, 472 cycles/byte
HMAC_DRBG SHA-256 (PR) : 328 Kb/s, 538 cycles/byte
RSA-2048 : 19 ms/ public
RSA-2048 : 644 ms/private
RSA-4096 : 64 ms/ public
RSA-4096 : 3595 ms/private
ECDSA : hung - no results
ECDHE-secp384r1 : 636 ms/handshake
ECDHE-secp256r1 : 426 ms/handshake
ECDHE-Curve25519 : 348 ms/handshake
ECDH-secp384r1 : 314 ms/handshake
ECDH-secp256r1 : 208 ms/handshake
ECDH-Curve25519 : 179 ms/handshake
##NUCLEO_746ZG - 216 MHz Cortex M7
SHA-256 : 7005 Kb/s, 0 cycles/byte
SHA-512 : 1887 Kb/s, 0 cycles/byte
AES-CBC-128 : 4753 Kb/s, 0 cycles/byte
AES-CBC-192 : 4106 Kb/s, 0 cycles/byte
AES-CBC-256 : 3707 Kb/s, 0 cycles/byte
AES-GCM-128 : 1817 Kb/s, 0 cycles/byte
AES-GCM-192 : 1718 Kb/s, 0 cycles/byte
AES-GCM-256 : 1638 Kb/s, 0 cycles/byte
AES-CCM-128 : 1732 Kb/s, 0 cycles/byte
AES-CCM-192 : 1564 Kb/s, 0 cycles/byte
AES-CCM-256 : 1433 Kb/s, 0 cycles/byte
CTR_DRBG (NOPR) : 3639 Kb/s, 0 cycles/byte
CTR_DRBG (PR) : 2588 Kb/s, 0 cycles/byte
HMAC_DRBG SHA-256 (NOPR) : 783 Kb/s, 0 cycles/byte
HMAC_DRBG SHA-256 (PR) : 685 Kb/s, 0 cycles/byte
RSA-2048 : 10 ms/ public
RSA-2048 : 326 ms/private
RSA-4096 : 32 ms/ public
RSA-4096 : 1793 ms/private
ECDSA : hung - no results
ECDHE-secp384r1 : 412 ms/handshake
ECDHE-secp256r1 : 292 ms/handshake
ECDHE-Curve25519 : 233 ms/handshake
ECDH-secp384r1 : 203 ms/handshake
ECDH-secp256r1 : 142 ms/handshake
ECDH-Curve25519 : 118 ms/handshake