What kind of asymmetric encryption is available in OpenSSL?
The OpenSSL library implements several asymmetric crypto algorithms, but only one of those algorithms allows you to directly encrypt data. It is the Rivest-Shamir-Adleman (RSA) algorithm.
Other available asymmetric crypto algorithms, such as Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA), can be used for digital signatures. Diffie–Hellman (DH) and Elliptic Curve Diffie–Hellman (ECDH) algorithms can be used for key exchange in the Transport Layer Security (TLS) protocol.
As we know, symmetric cryptography keys do not have structure; they are just arrays of random bits. Conversely, asymmetric crypto algorithms use structured keys, meaning that a key can have several components, and a component may have certain requirements – for example, it must be a prime number instead of a random bit array. Each asymmetric crypto algorithm has its own structure of public...