Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Silicon Vendors
  • Support
  • About Us
  • Blog
  • Forum
  • Search
  • Jobs
  • Newsletter
  • Blog
  • Contact
  • Shop
  • emCrypt
  • STM32 CRYP

    STM32 CRYP
    Hardware acceleration

    Contact us
    Downloads
    Documentation
    SEGGER emCrypt
    1. 1.Benchmarks
      1. 1.1.Modular exponentiation benchmark
      2. 1.2.AES benchmark
      3. 1.3.ECDSA benchmark

    The SEGGER encryption library has specialized hardware-assisted ciphering support

    There are two variants of the CRYP processor with different capabilities present on the following family members:

    • STM32F41x CRYP, hereafter referred to as the standard CRYP processor, and
    • STM32F43x/F47x CRYP, hereafter referred to as the enhanced CRYP processor.

    The following cryptographic algorithms using using both CRYP variants:

    • DES in ECB and CBC modes.
    • TDES in ECB and CBC modes with keying options 1, 2, and 3.
    • AES-128, AES-192, and AES-256 in ECB and CBC modes.

    For the enhanced CRYP processor, direct acceleration is provided for:

    • STM32F75x
    • STM32H75x
    • AES-128, AES-192, and AES-256 in CCM(12,4) and GCM(12,4) modes.

    For the standard CRYP processor, acceleration is provided for:

    • AES-128, AES-192, and AES-256 ciphering with GCM and CCM in software.

    Benchmarks

    All algorithms in emCrypt can be independently tailored for higher speed or lower size. The benchmarks are done on an STM32756G-EVAL board with an STM32F756NG, running @ 200 MHz, configured for highest speed, compiled with Embedded Studio using clang.

    Modular exponentiation benchmark

    Copyright (c) 2014-2017 SEGGER Microcontroller GmbH & Co. KG    www.segger.com
    Modular Exponentiation Benchmark compiled Dec  7 2017 16:06:48
    
    Compiler: clang 4.0.1 (tags/RELEASE_401/final)
    System:   Processor speed          = 200.000 MHz
    Config:   CRYPTO_VERSION           = 22400 [2.24]
    Config:   CRYPTO_MPI_BITS_PER_LIMB = 32
    
    Modular Arithmetic Performance
    ==============================
    
    CRT private key, exponent length = modulus length, all times in ms
    
    +---------------------------+--------------------------------+--------------------------------+
    |                   Modulus |                      1024 bits |                      2048 bits |
    | Algorithm                 |    Time      x   Memory      x |    Time      x   Memory      x |
    +---------------------------+--------------------------------+--------------------------------+
    | Basic, fast               |   59.29  1.00x      700  1.00x |  329.47  1.00x     1340  1.00x |
    | Basic, ladder             |   83.70  0.71x      840  1.20x |  490.12  0.67x     1608  1.20x |
    | Basic, 2b, FW             |   55.15  1.08x     1260  1.80x |  307.69  1.07x     2412  1.80x |
    | Basic, 3b, FW             |   51.48  1.15x     1820  2.60x |  292.47  1.13x     3484  2.60x |
    | Basic, 4b, FW             |   49.49  1.20x     2940  4.20x |  280.95  1.17x     5628  4.20x |
    | Basic, 5b, FW             |   49.07  1.21x     5180  7.40x |  275.33  1.20x     9916  7.40x |
    | Basic, 6b, FW             |   50.42  1.18x     9660 13.80x |  273.75  1.20x    18492 13.80x |
    +---------------------------+--------------------------------+--------------------------------+
    | Basic, 2b, RM             |   54.28  1.09x     1260  1.80x |  304.85  1.08x     2412  1.80x |
    | Basic, 3b, RM             |   51.08  1.16x     1540  2.20x |  288.57  1.14x     2948  2.20x |
    | Basic, 4b, RM             |   48.95  1.21x     2100  3.00x |  277.34  1.19x     4020  3.00x |
    | Basic, 5b, RM             |   47.93  1.24x     3220  4.60x |  271.07  1.22x     6164  4.60x |
    | Basic, 6b, RM             |   47.98  1.24x     5460  7.80x |  267.65  1.23x    10452  7.80x |
    +---------------------------+--------------------------------+--------------------------------+
    | Barrett, fast             |   72.12  0.82x      980  1.40x |  345.17  0.95x     1876  1.40x |
    | Barrett, ladder           |   99.66  0.59x     1120  1.60x |  511.70  0.64x     2144  1.60x |
    | Barrett, 2b, FW           |   67.75  0.88x     1540  2.20x |  329.96  1.00x     2948  2.20x |
    | Barrett, 3b, FW           |   62.79  0.94x     2100  3.00x |  310.01  1.06x     4020  3.00x |
    | Barrett, 4b, FW           |   60.31  0.98x     3220  4.60x |  296.86  1.11x     6164  4.60x |
    | Barrett, 5b, FW           |   59.68  0.99x     5460  7.80x |  290.48  1.13x    10452  7.80x |
    | Barrett, 6b, FW           |   61.34  0.97x     9940 14.20x |  289.20  1.14x    19028 14.20x |
    +---------------------------+--------------------------------+--------------------------------+
    | Barrett, 2b, RM           |   65.62  0.90x     1540  2.20x |  323.86  1.02x     2948  2.20x |
    | Barrett, 3b, RM           |   61.95  0.96x     1820  2.60x |  305.48  1.08x     3484  2.60x |
    | Barrett, 4b, RM           |   59.52  1.00x     2380  3.40x |  293.20  1.12x     4556  3.40x |
    | Barrett, 5b, RM           |   58.37  1.02x     3500  5.00x |  286.35  1.15x     6700  5.00x |
    | Barrett, 6b, RM           |   58.38  1.02x     5740  8.20x |  281.86  1.17x    10988  8.20x |
    +---------------------------+--------------------------------+--------------------------------+
    | Montgomery, fast          |   34.33  1.73x      700  1.00x |  196.52  1.68x     1340  1.00x |
    | Montgomery, 2b, FW        |   34.94  1.70x     1260  1.80x |  196.41  1.68x     2412  1.80x |
    | Montgomery, 3b, FW        |   31.37  1.89x     1820  2.60x |  175.43  1.88x     3484  2.60x |
    | Montgomery, 4b, FW        |   29.89  1.98x     2940  4.20x |  165.91  1.99x     5628  4.20x |
    | Montgomery, 5b, FW        |   29.54  2.01x     5180  7.40x |  161.58  2.04x     9916  7.40x |
    | Montgomery, 6b, FW        |   30.34  1.95x     9660 13.80x |  161.48  2.04x    18492 13.80x |
    +---------------------------+--------------------------------+--------------------------------+
    | Montgomery, 2b, RM        |   31.66  1.87x     1260  1.80x |  180.16  1.83x     2412  1.80x |
    | Montgomery, 3b, RM        |   29.99  1.98x     1540  2.20x |  169.22  1.95x     2948  2.20x |
    | Montgomery, 4b, RM        |   28.98  2.05x     2100  3.00x |  162.21  2.03x     4020  3.00x |
    | Montgomery, 5b, RM        |   28.51  2.08x     3220  4.60x |  158.64  2.08x     6164  4.60x |
    | Montgomery, 6b, RM        |   28.57  2.08x     5460  7.80x |  156.64  2.10x    10452  7.80x |
    +---------------------------+--------------------------------+--------------------------------+
    | Configured                |   59.39  1.00x      700  1.00x |  329.38  1.00x     1340  1.00x |
    +---------------------------+--------------------------------+--------------------------------+
    
    Public key, exponent length = 17 bits, all times in ms
    
    +---------------------------+--------------------------------+--------------------------------+
    |                   Modulus |                      1024 bits |                      2048 bits |
    | Algorithm                 |    Time      x   Memory      x |    Time      x   Memory      x |
    +---------------------------+--------------------------------+--------------------------------+
    | Basic, fast               |    1.74  1.00x      804  1.00x |    5.78  1.00x     1572  1.00x |
    | Basic, ladder             |    3.75  0.46x     1072  1.33x |   12.63  0.46x     2096  1.33x |
    | Basic, 2b, FW             |    2.08  0.83x     1876  2.33x |    6.79  0.85x     3668  2.33x |
    | Basic, 3b, FW             |    2.47  0.70x     2948  3.67x |    8.15  0.71x     5764  3.67x |
    | Basic, 4b, FW             |    3.58  0.48x     5092  6.33x |   11.91  0.49x     9956  6.33x |
    | Basic, 5b, FW             |    5.52  0.31x     9380 11.67x |   18.40  0.31x    18340 11.67x |
    | Basic, 6b, FW             |    9.29  0.19x    17956 22.33x |   30.86  0.19x    35108 22.33x |
    +---------------------------+--------------------------------+--------------------------------+
    | Basic, 2b, RM             |    1.98  0.88x     1876  2.33x |    6.57  0.88x     3668  2.33x |
    | Basic, 3b, RM             |    2.23  0.78x     2412  3.00x |    7.43  0.78x     4716  3.00x |
    | Basic, 4b, RM             |    2.75  0.63x     3484  4.33x |    9.17  0.63x     6812  4.33x |
    | Basic, 5b, RM             |    3.78  0.46x     5628  7.00x |   12.62  0.46x    11004  7.00x |
    | Basic, 6b, RM             |    5.82  0.30x     9916 12.33x |   19.45  0.30x    19388 12.33x |
    +---------------------------+--------------------------------+--------------------------------+
    | Barrett, fast             |    2.05  0.84x     1340  1.67x |    6.29  0.92x     2620  1.67x |
    | Barrett, ladder           |    4.34  0.40x     1608  2.00x |   13.58  0.43x     3144  2.00x |
    | Barrett, 2b, FW           |    2.53  0.69x     2412  3.00x |    7.49  0.77x     4716  3.00x |
    | Barrett, 3b, FW           |    2.92  0.59x     3484  4.33x |    8.82  0.66x     6812  4.33x |
    | Barrett, 4b, FW           |    4.13  0.42x     5628  7.00x |   12.65  0.46x    11004  7.00x |
    | Barrett, 5b, FW           |    6.24  0.28x     9916 12.33x |   19.30  0.30x    19388 12.33x |
    | Barrett, 6b, FW           |   10.34  0.17x    18492 23.00x |   32.11  0.18x    36156 23.00x |
    +---------------------------+--------------------------------+--------------------------------+
    | Barrett, 2b, RM           |    2.32  0.75x     2412  3.00x |    7.10  0.82x     4716  3.00x |
    | Barrett, 3b, RM           |    2.60  0.67x     2948  3.67x |    7.97  0.73x     5764  3.67x |
    | Barrett, 4b, RM           |    3.18  0.55x     4020  5.00x |    9.76  0.59x     7860  5.00x |
    | Barrett, 5b, RM           |    4.29  0.40x     6164  7.67x |   13.30  0.43x    12052  7.67x |
    | Barrett, 6b, RM           |    6.51  0.27x    10452 13.00x |   20.30  0.28x    20436 13.00x |
    +---------------------------+--------------------------------+--------------------------------+
    | Montgomery, fast          |    1.39  1.25x      804  1.00x |    4.58  1.26x     1572  1.00x |
    | Montgomery, 2b, FW        |    2.09  0.83x     1876  2.33x |    6.90  0.84x     3668  2.33x |
    | Montgomery, 3b, FW        |    2.16  0.80x     2948  3.67x |    7.12  0.81x     5764  3.67x |
    | Montgomery, 4b, FW        |    2.75  0.63x     5092  6.33x |    9.04  0.64x     9956  6.33x |
    | Montgomery, 5b, FW        |    3.73  0.47x     9380 11.67x |   12.24  0.47x    18340 11.67x |
    | Montgomery, 6b, FW        |    5.63  0.31x    17956 22.33x |   18.44  0.31x    35108 22.33x |
    +---------------------------+--------------------------------+--------------------------------+
    | Montgomery, 2b, RM        |    1.59  1.09x     1876  2.33x |    5.22  1.11x     3668  2.33x |
    | Montgomery, 3b, RM        |    1.72  1.01x     2412  3.00x |    5.64  1.02x     4716  3.00x |
    | Montgomery, 4b, RM        |    2.10  0.83x     3484  4.33x |    6.92  0.84x     6812  4.33x |
    | Montgomery, 5b, RM        |    2.63  0.66x     5628  7.00x |    8.63  0.67x    11004  7.00x |
    | Montgomery, 6b, RM        |    3.55  0.49x     9916 12.33x |   11.62  0.50x    19388 12.33x |
    +---------------------------+--------------------------------+--------------------------------+
    | Configured                |    1.74  1.00x      804  1.00x |    5.79  1.00x     1572  1.00x |
    +---------------------------+--------------------------------+--------------------------------+
    
    Benchmark complete

    AES benchmark

    Benchmarked on an STM32756G-EVAL board

    Copyright (c) 2014-2017 SEGGER Microcontroller GmbH & Co. KG    www.segger.com
    AES Benchmark compiled Dec  7 2017 16:41:41
    
    Compiler: clang 4.0.1 (tags/RELEASE_401/final)
    System:   Processor speed               = 200.000 MHz
    Config:   CRYPTO_VERSION                = 22400 [2.24]
    Config:   CRYPTO_CONFIG_AES_OPTIMIZE    = 7
    Config:   CRYPTO_CONFIG_AES_HW_OPTIMIZE = 1
    
    +--------------+------+-----------------+-----------------+
    |              |      | ECB        MB/s | CBC        MB/s |
    | Cipher       | Bits |     Enc     Dec |     Enc     Dec |
    +--------------+------+-----------------+-----------------+
    | AES          |  128 |    3.86    3.69 |    3.03    2.76 |
    | AES (HW)     |  128 |   44.66   45.90 |   45.94   45.34 |
    | AES          |  192 |    2.91    2.83 |    2.60    2.38 |
    | AES (HW)     |  192 |   41.08   42.09 |   42.15   41.64 |
    | AES          |  256 |    2.51    2.44 |    2.28    2.10 |
    | AES (HW)     |  256 |   41.04   42.06 |   42.13   41.56 |
    +--------------+------+-----------------+-----------------+
    |              |      | GCM        MB/s | CCM        MB/s |
    | Cipher       | Bits |     Enc     Dec |     Enc     Dec |
    +--------------+------+-----------------+-----------------+
    | AES          |  128 |    0.12    0.12 |    1.49    1.47 |
    | AES (HW)     |  128 |    0.12    0.12 |    3.64    3.29 |
    | AES          |  192 |    0.11    0.11 |    1.27    1.26 |
    | AES (HW)     |  192 |    0.12    0.12 |    3.58    3.25 |
    | AES          |  256 |    0.12    0.12 |    1.11    1.10 |
    | AES (HW)     |  256 |    0.13    0.13 |    3.57    3.25 |
    +--------------+------+-----------------+-----------------+
    
    Benchmark complete

    ECDSA benchmark

    Benchmarked on an STM32756G-EVAL board

    Copyright (c) 2014-2017 SEGGER Microcontroller GmbH & Co. KG    www.segger.com
    ECDSA Sign and Verify Benchmark compiled Dec  7 2017 16:48:03
    
    Compiler: clang 4.0.1 (tags/RELEASE_401/final)
    System:   Processor speed                   = 200.000 MHz
    Config:   Static heap size                  = 4440 bytes
    Config:   CRYPTO_VERSION                    = 22400 [2.24]
    Config:   CRYPTO_MPI_BITS_PER_LIMB          = 32
    Config:   CRYPTO_CONFIG_ECDSA_TWIN_MULTIPLY = 1
    
    +------------------+-----------+-----------+-----------+-----------+
    |                  |      Sign |     Sign  |    Verify |    Verify |
    | Curve            |        ms |     bytes |        ms |     bytes |
    +------------------+-----------+-----------+-----------+-----------+
    | secp192r1        |     21.85 |      1152 |     20.57 |      1920 |
    | secp192k1        |     31.95 |      1152 |     30.38 |      1920 |
    | secp224r1        |     26.19 |      1296 |     25.37 |      2160 |
    | secp224k1        |     41.94 |      1296 |     39.18 |      2160 |
    | secp256r1        |     38.35 |      1440 |     35.03 |      2400 |
    | secp256k1        |     53.72 |      1440 |     48.94 |      2400 |
    | secp384r1        |     62.82 |      2016 |     59.38 |      3360 |
    | secp521r1        |    115.68 |      2664 |    107.50 |      4440 |
    | brainpoolP160r1  |     24.66 |      1008 |     23.65 |      1680 |
    | brainpoolP160t1  |     23.12 |      1008 |     22.56 |      1680 |
    | brainpoolP192r1  |     32.99 |      1152 |     30.73 |      1920 |
    | brainpoolP192t1  |     30.78 |      1152 |     28.32 |      1920 |
    | brainpoolP224r1  |     44.11 |      1296 |     42.42 |      2160 |
    | brainpoolP224t1  |     40.61 |      1296 |     38.70 |      2160 |
    | brainpoolP256r1  |     58.36 |      1440 |     53.98 |      2400 |
    | brainpoolP256t1  |     53.69 |      1440 |     49.33 |      2400 |
    | brainpoolP320r1  |     85.99 |      1728 |     81.86 |      2880 |
    | brainpoolP320t1  |     79.74 |      1728 |     73.78 |      2880 |
    | brainpoolP384r1  |    130.73 |      2016 |    125.46 |      3360 |
    | brainpoolP384t1  |    122.38 |      2016 |    112.62 |      3360 |
    | brainpoolP512r1  |    243.69 |      2592 |    225.29 |      4320 |
    | brainpoolP512t1  |    224.16 |      2592 |    205.19 |      4320 |
    +------------------+-----------+-----------+-----------+-----------+
    
    Benchmark complete
    • User manual
    • List of downloads
    • Update notification
    • Pricing
    • Support
    • Silicon vendor resources

    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
    • Code of Conduct
    • Privacy Policy
    © 2025 SEGGER - All rights reserved.