2 ''' $RCSfile$$Revision$$Date$
20 .ie \\n(.$>=3 .ne \\$3
36 ''' Set up \*(-- to give an unbreakable dash;
37 ''' string Tr holds user defined translation string.
38 ''' Bell System Logo is used as a dummy character.
44 .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
45 .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
48 ''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of
49 ''' \*(L" and \*(R", except that they are used on ".xx" lines,
50 ''' such as .IP and .SH, which do another additional levels of
51 ''' double-quote interpretation
80 .\" If the F register is turned on, we'll generate
81 .\" index entries out stderr for the following things:
86 .\" X<> Xref (embedded
87 .\" Of course, you have to process the output yourself
88 .\" in some meaninful fashion.
91 .tm Index:\\$1\t\\n%\t"\\$2"
96 .TH crypto 3 "0.9.7d" "2/Sep/2004" "OpenSSL"
100 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
101 .de CQ \" put $1 in typewriter font
107 \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
110 .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
111 . \" AM - accent mark definitions
113 . \" fudge factors for nroff and troff
122 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
128 . \" simple accents for nroff and troff
141 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
142 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
143 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
144 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
145 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
146 . ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
147 . ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
148 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
149 . ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
151 . \" troff and (daisy-wheel) nroff accents
152 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
153 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
154 .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
155 .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
156 .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
157 .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
158 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
159 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
160 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
161 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
162 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
163 .ds ae a\h'-(\w'a'u*4/10)'e
164 .ds Ae A\h'-(\w'A'u*4/10)'E
165 .ds oe o\h'-(\w'o'u*4/10)'e
166 .ds Oe O\h'-(\w'O'u*4/10)'E
167 . \" corrections for vroff
168 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
169 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
170 . \" for low resolution devices (crt and lpr)
171 .if \n(.H>23 .if \n(.V>19 \
175 . ds v \h'-1'\o'\(aa\(ga'
191 crypto \- OpenSSL cryptographic library
194 The OpenSSL \fBcrypto\fR library implements a wide range of cryptographic
195 algorithms used in various Internet standards. The services provided
196 by this library are used by the OpenSSL implementations of SSL, TLS
197 and S/MIME, and they have also been used to implement SSH, OpenPGP, and
198 other cryptographic standards.
200 \fBlibcrypto\fR consists of a number of sub-libraries that implement the
201 individual algorithms.
203 The functionality includes symmetric encryption, public key
204 cryptography and key agreement, certificate handling, cryptographic
205 hash functions and a cryptographic pseudo-random number generator.
206 .Ip "\s-1SYMMETRIC\s0 \s-1CIPHERS\s0" 4
207 blowfish(3), cast(3), des(3),
208 idea(3), rc2(3), rc4(3), rc5(3)
209 .Ip "\s-1PUBLIC\s0 \s-1KEY\s0 \s-1CRYPTOGRAPHY\s0 \s-1AND\s0 \s-1KEY\s0 \s-1AGREEMENT\s0" 4
210 dsa(3), dh(3), rsa(3)
211 .Ip "\s-1CERTIFICATES\s0" 4
213 .Ip "\s-1AUTHENTICATION\s0 \s-1CODES\s0, \s-1HASH\s0 \s-1FUNCTIONS\s0" 4
214 hmac(3), md2(3), md4(3),
215 md5(3), mdc2(3), ripemd(3),
217 .Ip "\s-1AUXILIARY\s0 \s-1FUNCTIONS\s0" 4
218 err(3), threads(3), rand(3),
219 \s-1OPENSSL_VERSION_NUMBER\s0(3)
220 .Ip "\s-1INPUT/OUTPUT\s0, \s-1DATA\s0 \s-1ENCODING\s0" 4
221 asn1(3), bio(3), evp(3), pem(3),
223 .Ip "\s-1INTERNAL\s0 \s-1FUNCTIONS\s0" 4
224 bn(3), buffer(3), lhash(3),
225 objects(3), stack(3),
228 Some of the newer functions follow a naming convention using the numbers
229 \fB0\fR and \fB1\fR. For example the functions:
232 \& int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev);
233 \& int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj);
235 The \fB0\fR version uses the supplied structure pointer directly
236 in the parent and it will be freed up when the parent is freed.
237 In the above example \fBcrl\fR would be freed but \fBrev\fR would not.
239 The \fB1\fR function uses a copy of the supplied structure pointer
240 (or in some cases increases its link count) in the parent and
241 so both (\fBx\fR and \fBobj\fR above) should be freed up.
247 .IX Name "crypto - OpenSSL cryptographic library"
251 .IX Header "SYNOPSIS"
253 .IX Header "DESCRIPTION"
255 .IX Header "OVERVIEW"
257 .IX Item "\s-1SYMMETRIC\s0 \s-1CIPHERS\s0"
259 .IX Item "\s-1PUBLIC\s0 \s-1KEY\s0 \s-1CRYPTOGRAPHY\s0 \s-1AND\s0 \s-1KEY\s0 \s-1AGREEMENT\s0"
261 .IX Item "\s-1CERTIFICATES\s0"
263 .IX Item "\s-1AUTHENTICATION\s0 \s-1CODES\s0, \s-1HASH\s0 \s-1FUNCTIONS\s0"
265 .IX Item "\s-1AUXILIARY\s0 \s-1FUNCTIONS\s0"
267 .IX Item "\s-1INPUT/OUTPUT\s0, \s-1DATA\s0 \s-1ENCODING\s0"
269 .IX Item "\s-1INTERNAL\s0 \s-1FUNCTIONS\s0"
273 .IX Header "SEE ALSO"