=pod =head1 NAME crypto - OpenSSL cryptographic library =head1 SYNOPSIS =head1 DESCRIPTION The OpenSSL B library implements a wide range of cryptographic algorithms used in various Internet standards. The services provided by this library are used by the OpenSSL implementations of SSL, TLS and S/MIME, and they have also been used to implement SSH, OpenPGP, and other cryptographic standards. =head1 OVERVIEW B consists of a number of sub-libraries that implement the individual algorithms. The functionality includes symmetric encryption, public key cryptography and key agreement, certificate handling, cryptographic hash functions and a cryptographic pseudo-random number generator. =over 4 =item SYMMETRIC CIPHERS L, L, L, L, L, L, L =item PUBLIC KEY CRYPTOGRAPHY AND KEY AGREEMENT L, L, L, L =item CERTIFICATES L, L =item AUTHENTICATION CODES, HASH FUNCTIONS L, L, L, L, L, L, L =item AUXILIARY FUNCTIONS L, L, L, L =item INPUT/OUTPUT, DATA ENCODING L, L, L, L, L, L =item UTILITY FUNCTIONS L, L, L, L, L, L =back =head1 NOTES Some of the newer functions follow a naming convention using the numbers B<0> and B<1>. For example the functions: int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj); The B<0> version uses the supplied structure pointer directly in the parent and it will be freed up when the parent is freed. In the above example B would be freed but B would not. The B<1> function uses a copy of the supplied structure pointer (or in some cases increases its link count) in the parent and so both (B and B above) should be freed up. =head1 SEE ALSO L, L =cut