mbed TLS v3.1.0
|
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:
mbedtls_aes_crypt_ecb()
, mbedtls_aes_crypt_cbc()
, mbedtls_aes_crypt_cfb128()
and mbedtls_aes_crypt_ctr()
).mbedtls_camellia_crypt_ecb()
, mbedtls_camellia_crypt_cbc()
, mbedtls_camellia_crypt_cfb128()
and mbedtls_camellia_crypt_ctr()
).mbedtls_des_crypt_ecb()
, mbedtls_des_crypt_cbc()
, mbedtls_des3_crypt_ecb()
and mbedtls_des3_crypt_cbc()
).mbedtls_gcm_init()
)mbedtls_dhm_read_public()
, mbedtls_dhm_make_public()
and mbedtls_dhm_calc_secret()
).mbedtls_rsa_public()
and mbedtls_rsa_private()
).mbedtls_ecp_point_init()
).mbedtls_ecdsa_init()
).mbedtls_ecdh_init()
).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.