emLib—AES, DES, CRC, ECC
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 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 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.