logo slogan

Segger emLib


emLib is a collection of software modules for different purposes. It currently includes AES and DES encryption. Modules for CRC, compression and asymmetric encryption/decryption are planned.

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 and MISRA-C 2004 compliant. Validation code for the APIs using standard test patterns is included.


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


Cryptographic modules


AES module:

Implemention 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, tripel-DES).
[More info..]



The emLib CRC module allows checksum calculations of data using CRC, the Cyclic Redundancy Check. It is employed to provide an error-detection on data transfers in digital networks and storage devices. emLib CRC delivers generic CRC routines, allowing usage in more than one standard implementation at a time. [More info]



emCompress is a compression system that is able to reduce the storage requirements of data that must be embedded into an application. Compress on the host in advance, decompress in the target on demand. [More info]