emLib is designed for portability to any device. The modules can be used in PC applications, as well as on embedded target devices.

emLib is optimized for speed performance and a small memory footprint. The sources are completely written in ANSI-C. Validation code for the APIs using standard test patterns is included.

Key features

  • emLib is written in ANSI-C and can be used on virtually any CPU
  • Easy to integrate by using a simple API
  • Same modules and same API can be used in PC programs as well as on embedded targets
  • Sample applications for tests and validation of the modules are included
  • Designed for any target and system

Cryptographic Modules

Data Integrity Check

Implementation of the AES 128 bit and 256 bit algorithm including chained block processing for en-/decryption of more than 16 Byte of data.

Handling of arbitrary polynomials up to 32 bits wide, in normal and bit-reversed form. In addition to the generic CRC functions, emLib CRC features optimized implementations for popular CRC polynomials including CRC-CCITT, CRC-16, and CRC-32.

Implementation of the DES (56 bit) algorithm, also including CBC for processing more than 8 Byte of data. The DES functions can be called multiple times to achieve a higher security (TDES, triple-DES).

Provides routines for the detection and correction of multiple bit errors. It includes implementations for 4-, 8-, 24- and 40-bit error correction.


emLib is available under various Embedded Software License models and delivered in source code packages. With a wide range of licensing options, emLib can fulfill commercial requirements as well as technical requirements. All licenses are one-time payments. emLib is royalty-free and not subscription-based. This makes the software a part of the equipment expenses, keeping the costs static.

* Applies to second seat/product and all additional seats/products of the Single Product License and Single Developer License.