mbed TLS v2.2.0
Encryption/decryption module

The Encryption/decryption module provides encryption/decryption functions.

One can differentiate between symmetric and asymmetric algorithms; the symmetric ones are mostly used for message confidentiality and the asymmetric ones for key exchange and message integrity. Some symmetric algorithms provide different block cipher modes, mainly Electronic Code Book (ECB) which is used for short (64-bit) messages and Cipher Block Chaining (CBC) which provides the structure needed for longer messages. In addition the Cipher Feedback Mode (CFB-128) stream cipher mode, Counter mode (CTR) and Galois Counter Mode (GCM) are implemented for specific algorithms.

All symmetric encryption algorithms are accessible via the generic cipher layer (see mbedtls_cipher_setup()).

The asymmetric encryptrion algorithms are accessible via the generic public key layer (see mbedtls_pk_init()).

The following algorithms are provided:

This module provides encryption/decryption which can be used to provide secrecy.

It also provides asymmetric key functions which can be used for confidentiality, integrity, authentication and non-repudiation.