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
  • emSSL
  • Memory Footprint

    Memory footprint information

    Contact us
    Downloads
    Documentation
    SEGGER emSSL

    How Much ROM Will emSSL Use?

    That will depend entirely on the features that you select and the choices you make for the underlying implementation. Our hash functions and block ciphers are configurable to tune RAM, ROM, and performance to customer needs. You can choose a fast implementation and burn flash with precomputed lookup tables, or a lean implementation and run a little slower, using less RAM and ROM.

    Minimal configuration*
    17 kByteemSSL with the smallest single cipher suite, RSA_WITH_RC4_128_SHA, and TLS protocol version 1.2, used in an emNet application with the emWeb web server.
    Default configuration*
    19 kByteemSSL with one single cipher suite, RSA_WITH_AES_128_CBC_SHA, and TLS protocol version 1.2, used in an emNet application with the emWeb web server. All current major web browsers can establish a HTTPS connection to the server with this cipher suite.
    Full configuration*
    43 kByteemSSL with all supported all cipher suites, all prime elliptic curves, TLS 1.0, TLS 1.1, and TLS 1.2, used in an emNet application with the emWeb web server.

    *Tested with SEGGER Embedded Studio, Cortex-M4, compiler optimizations for size. The values do not include the server certificates, which add another ~1.5 kByte per certificate.

    Following components are required in order to use RSA_WITH_AES_128_CBC_SHA and TLS 1.2:
    CipherAES128 CBC
    Signature verificationRSA
    Signature algorithmSHA with RSA
    Pseudorandom function (PRF)SHA256
    Message authentication code (MAC)SHA1, SHA256

    How Much RAM Will emSSL Use?

    Again, this depends upon the cipher suites and how many simultaneous TLS connections you make.

    The overall static RAM requirement of TLS of the order of tens of bytes. When you create a connection, the amount of RAM required spikes during TLS negotiation because keys need to be exchanged, certificates parsed, and so on.

    We also cannot control the record-layer packets sent by the server and, in this case, it wholly depends upon the server -- if the server cannot support the TLS record fragmentation extension. The smallest case is one DES-RC4 cipher suite, a single connection, which is currently in the range of 1.5 kBytes.

    What we have done is tune emSSL such that it uses very little memory. We know it's going to be used in resource-constrained controllers. We know every byte is precious and we are working on trimming things even further.

    • 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.