Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Knowledge Base
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • emCrypt
  • Benchmarks
  • Technology
  • Examples

Performance benchmarks

emCrypt implements all algorithms in platform-independent C code. The following benchmarks show some performance of these software implementations with and without hardware acceleration.

Contact us
Downloads
Documentation
SEGGER emCrypt
  1. 1.Overview
  2. 2.Modular exponentiation benchmark
  3. 3.AES benchmark
  4. 4.ECDSA benchmark

Overview

All algorithms in emCrypt can be independently tailored for higher speed or lower size. The benchmarks are done on the emPower Board with a NXP K66, running @ 168 MHz, configured for highest speed, compiled with Embedded Studio using clang.

Please note:
For further information that goes beyond these details including not listed devices or cores, please take a look at our online documentation:
https://kb.segger.com/emCrypt

Modular exponentiation benchmark

(c) 2014-2017 SEGGER Microcontroller GmbH & Co. KG    www.segger.com
Modular Exponentiation Benchmark compiled Apr 21 2017 15:54:06

Compiler: clang 3.9.1 (tags/RELEASE_391/final)
System:   Processor speed          = 168.000 MHz
Config:   Static heap size         = 39600 bytes
Config:   CRYPTO_MPI_BITS_PER_LIMB = 32

Modular Arithmetic Performance
==============================

CRT private key, exponent length = modulus length, all times in ms

+---------------------------+---------------+---------------+---------------+
| Algorithm                 |           512 |          1024 |          2048 |
+---------------------------+---------------+---------------+---------------+
| Basic, ladder             |   67.87  1.0x |  287.25  1.0x | 1497.00  1.0x |
| Basic, fast               |   50.55  1.3x |  202.80  1.4x |  955.00  1.6x |
| Basic, 2b, FW             |   47.41  1.4x |  192.50  1.5x |  923.50  1.6x |
| Basic, 3b, FW             |   44.35  1.5x |  182.50  1.6x |  909.50  1.6x |
| Basic, 4b, FW             |   43.33  1.6x |  176.17  1.6x |  887.00  1.7x |
| Basic, 5b, FW             |   44.13  1.5x |  174.83  1.6x |  872.00  1.7x |
| Basic, 6b, FW             |   47.41  1.4x |  178.67  1.6x |  865.00  1.7x |
+---------------------------+---------------+---------------+---------------+
| Basic, 2b, RM             |   46.73  1.5x |  189.33  1.5x |  911.00  1.6x |
| Basic, 3b, RM             |   43.87  1.5x |  180.17  1.6x |  889.50  1.7x |
| Basic, 4b, RM             |   42.58  1.6x |  173.67  1.7x |  870.00  1.7x |
| Basic, 5b, RM             |   42.33  1.6x |  171.00  1.7x |  856.50  1.7x |
| Basic, 6b, RM             |   43.38  1.6x |  171.00  1.7x |  847.00  1.8x |
+---------------------------+---------------+---------------+---------------+
| Barrett, ladder           |   53.84  1.3x |  202.00  1.4x | 1021.00  1.5x |
| Barrett, fast             |   40.08  1.7x |  145.14  2.0x |  666.50  2.2x |
| Barrett, 2b, FW           |   38.73  1.8x |  139.12  2.1x |  645.50  2.3x |
| Barrett, 3b, FW           |   35.59  1.9x |  129.00  2.2x |  620.50  2.4x |
| Barrett, 4b, FW           |   34.48  2.0x |  123.78  2.3x |  599.50  2.5x |
| Barrett, 5b, FW           |   35.10  1.9x |  122.56  2.3x |  587.50  2.5x |
| Barrett, 6b, FW           |   37.78  1.8x |  125.50  2.3x |  583.00  2.6x |
+---------------------------+---------------+---------------+---------------+
| Barrett, 2b, RM           |   37.11  1.8x |  133.75  2.1x |  628.00  2.4x |
| Barrett, 3b, RM           |   34.79  2.0x |  126.50  2.3x |  606.00  2.5x |
| Barrett, 4b, RM           |   33.73  2.0x |  121.78  2.4x |  588.50  2.5x |
| Barrett, 5b, RM           |   33.57  2.0x |  119.56  2.4x |  577.50  2.6x |
| Barrett, 6b, RM           |   34.43  2.0x |  119.56  2.4x |  570.50  2.6x |
+---------------------------+---------------+---------------+---------------+
| Montgomery, fast          |   21.17  3.2x |   92.64  3.1x |  486.33  3.1x |
| Montgomery, 2b, FW        |   21.40  3.2x |   93.73  3.1x |  484.67  3.1x |
| Montgomery, 3b, FW        |   19.35  3.5x |   84.17  3.4x |  433.00  3.5x |
| Montgomery, 4b, FW        |   18.61  3.6x |   80.08  3.6x |  409.00  3.7x |
| Montgomery, 5b, FW        |   18.94  3.6x |   79.08  3.6x |  398.67  3.8x |
| Montgomery, 6b, FW        |   20.36  3.3x |   81.15  3.5x |  398.00  3.8x |
+---------------------------+---------------+---------------+---------------+
| Montgomery, 2b, RM        |   19.84  3.4x |   85.50  3.4x |  446.00  3.4x |
| Montgomery, 3b, RM        |   18.65  3.6x |   81.08  3.5x |  419.00  3.6x |
| Montgomery, 4b, RM        |   18.14  3.7x |   78.23  3.7x |  401.33  3.7x |
| Montgomery, 5b, RM        |   18.07  3.8x |   76.92  3.7x |  392.67  3.8x |
| Montgomery, 6b, RM        |   18.59  3.7x |   77.08  3.7x |  387.00  3.9x |
+---------------------------+---------------+---------------+---------------+

Public key, exponent length = 17 bits, all times in ms

+---------------------------+---------------+---------------+---------------+
| Algorithm                 |           512 |          1024 |          2048 |
+---------------------------+---------------+---------------+---------------+
| Basic, ladder             |    4.38  1.0x |    9.62  1.0x |   25.77  1.0x |
| Basic, fast               |    2.23  2.0x |    4.68  2.1x |   12.14  2.1x |
| Basic, 2b, FW             |    2.41  1.8x |    4.87  2.0x |   12.42  2.1x |
| Basic, 3b, FW             |    2.62  1.7x |    5.00  1.9x |   12.44  2.1x |
| Basic, 4b, FW             |    3.14  1.4x |    5.67  1.7x |   13.09  2.0x |
| Basic, 5b, FW             |    4.17  1.1x |    6.99  1.4x |   15.07  1.7x |
| Basic, 6b, FW             |    5.88  0.7x |    9.18  1.0x |   18.70  1.4x |
+---------------------------+---------------+---------------+---------------+
| Basic, 2b, RM             |    2.29  1.9x |    4.73  2.0x |   12.20  2.1x |
| Basic, 3b, RM             |    2.52  1.7x |    4.87  2.0x |   12.27  2.1x |
| Basic, 4b, RM             |    2.99  1.5x |    5.48  1.8x |   12.82  2.0x |
| Basic, 5b, RM             |    3.89  1.1x |    6.66  1.4x |   14.64  1.8x |
| Basic, 6b, RM             |    5.69  0.8x |    9.02  1.1x |   18.22  1.4x |
+---------------------------+---------------+---------------+---------------+
| Barrett, ladder           |    3.46  1.3x |    7.83  1.2x |   22.22  1.2x |
| Barrett, fast             |    1.78  2.5x |    3.82  2.5x |   10.42  2.5x |
| Barrett, 2b, FW           |    2.15  2.0x |    4.24  2.3x |   11.02  2.3x |
| Barrett, 3b, FW           |    2.32  1.9x |    4.38  2.2x |   11.00  2.3x |
| Barrett, 4b, FW           |    2.87  1.5x |    5.23  1.8x |   11.95  2.2x |
| Barrett, 5b, FW           |    3.96  1.1x |    6.91  1.4x |   14.85  1.7x |
| Barrett, 6b, FW           |    5.93  0.7x |    9.96  1.0x |   20.34  1.3x |
+---------------------------+---------------+---------------+---------------+
| Barrett, 2b, RM           |    1.88  2.3x |    3.89  2.5x |   10.50  2.5x |
| Barrett, 3b, RM           |    2.06  2.1x |    4.07  2.4x |   10.60  2.4x |
| Barrett, 4b, RM           |    2.45  1.8x |    4.69  2.0x |   11.31  2.3x |
| Barrett, 5b, RM           |    3.18  1.4x |    5.90  1.6x |   13.44  1.9x |
| Barrett, 6b, RM           |    4.63  0.9x |    8.30  1.2x |   17.70  1.5x |
+---------------------------+---------------+---------------+---------------+
| Montgomery, fast          |    1.41  3.1x |    3.37  2.9x |    9.98  2.6x |
| Montgomery, 2b, FW        |    2.06  2.1x |    5.12  1.9x |   15.38  1.7x |
| Montgomery, 3b, FW        |    2.13  2.1x |    5.29  1.8x |   15.89  1.6x |
| Montgomery, 4b, FW        |    2.69  1.6x |    6.77  1.4x |   20.34  1.3x |
| Montgomery, 5b, FW        |    3.61  1.2x |    9.20  1.0x |   27.73  0.9x |
| Montgomery, 6b, FW        |    5.41  0.8x |   13.97  0.7x |   42.13  0.6x |
+---------------------------+---------------+---------------+---------------+
| Montgomery, 2b, RM        |    1.60  2.7x |    3.87  2.5x |   11.47  2.2x |
| Montgomery, 3b, RM        |    1.72  2.5x |    4.19  2.3x |   12.46  2.1x |
| Montgomery, 4b, RM        |    2.09  2.1x |    5.14  1.9x |   15.43  1.7x |
| Montgomery, 5b, RM        |    2.58  1.7x |    6.41  1.5x |   19.40  1.3x |
| Montgomery, 6b, RM        |    3.48  1.3x |    8.66  1.1x |   26.37  1.0x |
+---------------------------+---------------+---------------+---------------+

Benchmark complete

AES benchmark

Benchmarked on a SEGGER emPower board

(c) 2014-2017 SEGGER Microcontroller GmbH & Co. KG    www.segger.com
AES Benchmark V1.16 compiled Apr 21 2017 16:00:55

Compiler: clang 3.9.1 (tags/RELEASE_391/final)
System:   Processor speed               = 168.000 MHz
Config:   CRYPTO_CONFIG_AES_OPTIMIZE    = 15
Config:   CRYPTO_CONFIG_AES_HW_OPTIMIZE = 1

+--------------+------+-----------------+-----------------+
|              |      | ECB        MB/s | CBC        MB/s |
| Cipher       | Bits |     Enc     Dec |     Enc     Dec |
+--------------+------+-----------------+-----------------+
| AES          |  128 |    2.03    2.18 |    1.64    1.61 |
| AES (HW)     |  128 |    8.14    7.70 |    7.52    6.72 |
| AES          |  192 |    1.74    1.88 |    1.44    1.44 |
| AES (HW)     |  192 |    6.83    6.52 |    6.30    5.66 |
| AES          |  256 |    1.53    1.64 |    1.29    1.30 |
| AES (HW)     |  256 |    6.05    5.89 |    5.63    5.00 |
+--------------+------+-----------------+-----------------+
|              |      | GCM        MB/s | CCM        MB/s |
| Cipher       | Bits |     Enc     Dec |     Enc     Dec |
+--------------+------+-----------------+-----------------+
| AES          |  128 |    0.05    0.05 |    0.83    0.83 |
| AES (HW)     |  128 |    0.05    0.05 |    1.23    1.24 |
| AES          |  192 |    0.05    0.05 |    0.73    0.73 |
| AES (HW)     |  192 |    0.05    0.05 |    1.16    1.16 |
| AES          |  256 |    0.06    0.06 |    0.65    0.65 |
| AES (HW)     |  256 |    0.06    0.06 |    1.10    1.11 |
+--------------+------+-----------------+-----------------+

Benchmark complete

ECDSA benchmark

Benchmarked on a SEGGER emPower board

(c) 2014-2017 SEGGER Microcontroller GmbH & Co. KG    www.segger.com
ECDSA Sign and Verify Benchmark compiled Apr 21 2017 16:03:45

Compiler: clang 3.9.1 (tags/RELEASE_391/final)
System:   Processor speed                   = 168.000 MHz
Config:   Static heap size                  = 4440 bytes
Config:   CRYPTO_MPI_BITS_PER_LIMB          = 32
Config:   CRYPTO_CONFIG_ECDSA_TWIN_MULTIPLY = 1

+------------------+-----------+-----------+-----------+-----------+
|                  |      Sign |     Sign  |    Verify |    Verify |
| Curve            |        ms |     bytes |        ms |     bytes |
+------------------+-----------+-----------+-----------+-----------+
| secp192r1        |     40.54 |      1152 |     37.64 |      1920 |
| secp224r1        |     50.85 |      1296 |     48.27 |      2160 |
| secp256r1        |     79.07 |      1440 |     75.86 |      2400 |
| secp384r1        |    129.00 |      2016 |    122.00 |      3360 |
| secp521r1        |    238.67 |      2664 |    218.50 |      4440 |
| brainpoolP160r1  |     68.87 |      1008 |     66.81 |      1680 |
| brainpoolP160t1  |     62.88 |      1008 |     60.50 |      1680 |
| brainpoolP192r1  |     98.67 |      1152 |     90.92 |      1920 |
| brainpoolP192t1  |     89.42 |      1152 |     80.86 |      1920 |
| brainpoolP224r1  |    130.87 |      1296 |    122.40 |      2160 |
| brainpoolP224t1  |    119.50 |      1296 |    111.20 |      2160 |
| brainpoolP256r1  |    171.33 |      1440 |    162.00 |      2400 |
| brainpoolP256t1  |    158.00 |      1440 |    145.62 |      2400 |
| brainpoolP320r1  |    260.75 |      1728 |    242.83 |      2880 |
| brainpoolP320t1  |    241.00 |      1728 |    216.00 |      2880 |
| brainpoolP384r1  |    399.00 |      2016 |    372.00 |      3360 |
| brainpoolP384t1  |    376.25 |      2016 |    327.75 |      3360 |
| brainpoolP512r1  |    754.50 |      2592 |    694.00 |      4320 |
| brainpoolP512t1  |    649.00 |      2592 |    613.50 |      4320 |
+------------------+-----------+-----------+-----------+-----------+

Benchmark complete 

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy
© 2025 SEGGER - All rights reserved.