Skip navigation

emLib—AES, DES, CRC, ECC

  • 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

emLib—Data Integrity Check and Cryptographic Modules

emLib is a collection of software modules such as, cryptographic modules and data integrity checks for different purposes. It includes AES and DES encryption as well as CRC and ECC.

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.

Cryptographic Modules

AES module

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

More information


DES module

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

More information

Data Integrity Check

CRC Library

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.

More information


ECC library

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

More information

More Information