emLib is a collection of software modules for different purposes. It currently includes AES and DES encryption as well as CRC. The software 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.
- 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 info..]
- 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 info..]
- CRC Library: Handling of all general polynomials up to 32 bits wide, in normal and bit-reversed form. In addition to the general CRC functions, emLib CRC features optimized implementations for popular CRC polynomials including CRC-CCITT, CRC-16, and CRC-32. [More info..]
- 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 info..]