Skip to content

OpenSSL cryptographic algorithm support

OpenSSL is a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols.^[400-devops-02-os-and-linux-basics-ssl-openssl-openssl.md] It is also a general-purpose cryptography library, implemented in the C programming language.^[400-devops-02-os-and-linux-basics-ssl-openssl-openssl.md]

The library provides support for a wide array of cryptographic algorithms, including various ciphers, hash functions, and public key cryptosystems.^[400-devops-02-os-and-linux-basics-ssl-openssl-openssl.md]

Supported Algorithms

The following categories of algorithms are supported by the toolkit^[400-devops-02-os-and-linux-basics-ssl-openssl-openssl.md]:

Encryption Ciphers

OpenSSL supports Symmetric encryption algorithms including AES, Blowfish, Camellia, ChaCha20, Poly1305, SEED, CAST-128, DES, IDEA, RC2, RC4, RC5, TDES, GOST 28147-89, and SM4^[400-devops-02-os-and-linux-basics-ssl-openssl-openssl.md].

Hash Functions

Supported Cryptographic hash functions and message digests include MD5, MD4, MD2, SHA-1, SHA-2, SHA-3, RIPEMD-160, MDC-2, GOST R 34.11-94, BLAKE2, Whirlpool, and SM3^[400-devops-02-os-and-linux-basics-ssl-openssl-openssl.md].

Public Key Cryptography

The toolkit implements several public-key algorithms and key exchange mechanisms, such as RSA, DSA, ECDSA, ECDHE, and the Diffie-Hellman key exchange^[400-devops-02-os-and-linux-basics-ssl-openssl-openssl.md]. It also supports Elliptic Curve Cryptography (ECC), specifically X25519, Ed25519, X448, Ed448, GOST R 34.10-2001, and SM2^[400-devops-02-os-and-linux-basics-ssl-openssl-openssl.md].

  • SSL/TLS
  • [[Public-key cryptography]]
  • [[Symmetric encryption]]

Sources

^[400-devops-02-os-and-linux-basics-ssl-openssl-openssl.md]