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.
Implementation of the AES 128 bit and 256 bit algorithm including chained block processing for en-/decryption of more than 16 Byte of data.
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).
Data Integrity Check
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.
Provides routines for the detection and correction of multiple bit errors. It includes implementations for 4-, 8-, 24- and 40-bit error correction.