Skip to content

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