Google

OpenSSL

Source: Wikipedia
In computer networkingOpenSSL is a software library to be used in applications that need to secure communications against eavesdropping or need to ascertain the identity of the party at the other end. It has found wide use in internet web servers, serving a majority of all web sites.
OpenSSL contains an open-source implementation of the SSL and TLS protocols. The core library, written in the C programming language, implements basic cryptographic functions and provides various utility functions. Wrappers allowing the use of the OpenSSL library in a variety of computer languages are available.
Versions are available for most Unix-like operating systems (including SolarisLinuxMac OS X and the various open-source BSD operating systems), OpenVMSand Microsoft Windows. IBM provides a port for the System i (OS/400).

Algorithms[edit]

OpenSSL supports a number of different cryptographic algorithms:
Ciphers
AESBlowfishCamelliaSEEDCAST-128DESIDEARC2RC4RC5Triple DESGOST 28147-89[8]
Cryptographic hash functions
MD5MD4MD2SHA-1SHA-2RIPEMD-160MDC-2GOST R 34.11-94[8]
Public-key cryptography
RSADSADiffie–Hellman key exchangeElliptic curveGOST R 34.10-2001[8]
(Perfect forward secrecy is supported using elliptic curve Diffie–Hellman since version 1.0.[9])