1.Dd $Mdocdate: November 12 2015 $ 2.Dt CRYPTO 3 3.Os 4.Sh NAME 5.Nm crypto 6.Nd OpenSSL cryptographic library 7.Sh DESCRIPTION 8The OpenSSL crypto library implements a wide range of cryptographic 9algorithms used in various Internet standards. 10The services provided by this library are used by the OpenSSL 11implementations of SSL, TLS and S/MIME, and they have also been used to 12implement SSH, OpenPGP, and other cryptographic standards. 13.Sh OVERVIEW 14.Sy libcrypto 15consists of a number of sub-libraries that implement the individual 16algorithms. 17.Pp 18The functionality includes symmetric encryption, public key cryptography 19and key agreement, certificate handling, cryptographic hash functions 20and a cryptographic pseudo-random number generator. 21.Bl -tag -width Ds 22.It SYMMETRIC CIPHERS 23.Xr blowfish 3 , 24cast, 25.Xr des 3 , 26idea, 27rc2, 28.Xr rc4 3 , 29rc5 30.It PUBLIC KEY CRYPTOGRAPHY AND KEY AGREEMENT 31.Xr dsa 3 , 32.Xr dh 3 , 33.Xr rsa 3 34.It CERTIFICATES 35.Xr x509 3 , 36x509v3 37.It AUTHENTICATION CODES, HASH FUNCTIONS 38.Xr hmac 3 , 39.Xr MD2 3 , 40.Xr MD4 3 , 41.Xr MD5 3 , 42.Xr ripemd 3 , 43.Xr sha 3 44.It AUXILIARY FUNCTIONS 45.Xr ERR 3 , 46.Xr threads 3 , 47.Xr rand 3 , 48.Xr OPENSSL_VERSION_NUMBER 3 49.It INPUT/OUTPUT, DATA ENCODING 50asn1, 51.Xr bio 3 , 52.Xr evp 3 , 53.Xr pem 3 , 54pkcs7, 55pkcs12 56.It INTERNAL FUNCTIONS 57.Xr bn 3 , 58.Xr buffer 3 , 59.Xr ec 3 , 60.Xr lh_new 3 , 61objects, 62stack, 63txt_db 64.El 65.Sh NOTES 66Some of the newer functions follow a naming convention using the numbers 67.Sq 0 68and 69.Sq 1 . 70For example the functions: 71.Pp 72.Ft int 73.Fo X509_CRL_add0_revoked 74.Fa "X509_CRL *crl" 75.Fa "X509_REVOKED *rev" 76.Fc 77.br 78.Ft int 79.Fo X509_add1_trust_object 80.Fa "X509 *x" 81.Fa "ASN1_OBJECT *obj" 82.Fc 83.Pp 84The 85.Sq 0 86version uses the supplied structure pointer directly in the parent and 87it will be freed up when the parent is freed. 88In the above example 89.Fa crl 90would be freed but 91.Fa rev 92would not. 93.Pp 94The 95.Sq 1 96function uses a copy of the supplied structure pointer (or in some cases 97increases its link count) in the parent and so both 98.Pf ( Fa x 99and 100.Fa obj 101above) should be freed up. 102.Sh SEE ALSO 103.Xr openssl 1 , 104.Xr ssl 3 105