Deleted Added
full compact
EVP_BytesToKey.3 (127131) EVP_BytesToKey.3 (142429)
1.\" Automatically generated by Pod::Man version 1.15
2.\" Wed Mar 17 09:38:35 2004
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
3.\"
4.\" Standard preamble:
2.\"
3.\" Standard preamble:
5.\" ======================================================================
4.\" ========================================================================
6.de Sh \" Subsection heading
7.br
8.if t .Sp
9.ne 5
10.PP
11\fB\\$1\fR
12.PP
13..
14.de Sp \" Vertical space (when we can't use .PP)
15.if t .sp .5v
16.if n .sp
17..
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
18.de Ip \" List item
19.br
20.ie \\n(.$>=3 .ne \\$3
21.el .ne 3
22.IP "\\$1" \\$2
23..
24.de Vb \" Begin verbatim text
25.ft CW
26.nf
27.ne \\$1
28..
29.de Ve \" End verbatim text
30.ft R
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
31
32.fi
33..
34.\" Set up some character translations and predefined strings. \*(-- will
35.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
36.\" double quote, and \*(R" will give a right double quote. | will give a
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
37.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
38.\" to do unbreakable dashes and therefore won't be available. \*(C` and
39.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
40.tr \(*W-|\(bv\*(Tr
41.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
42.ie n \{\
43. ds -- \(*W-
44. ds PI pi
45. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
46. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
47. ds L" ""
48. ds R" ""
49. ds C` ""
50. ds C' ""
51'br\}
52.el\{\
53. ds -- \|\(em\|
54. ds PI \(*p
55. ds L" ``
56. ds R" ''
57'br\}
58.\"
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
59.\" If the F register is turned on, we'll generate index entries on stderr
60.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
61.\" index entries marked with X<> in POD. Of course, you'll have to process
62.\" the output yourself in some meaningful fashion.
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
63.if \nF \{\
64. de IX
65. tm Index:\\$1\t\\n%\t"\\$2"
66..
67. nr % 0
68. rr F
69.\}
70.\"
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
71.\" For nroff, turn off justification. Always turn off hyphenation; it
72.\" makes way too many mistakes in technical documents.
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
73.hy 0
74.if n .na
75.\"
76.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
77.\" Fear. Run. Save yourself. No user-serviceable parts.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
78.bd B 3
79. \" fudge factors for nroff and troff
80.if n \{\
81. ds #H 0
82. ds #V .8m
83. ds #F .3m
84. ds #[ \f1
85. ds #] \fP
86.\}

--- 43 unchanged lines hidden (view full) ---

130. ds d- d\h'-1'\(ga
131. ds D- D\h'-1'\(hy
132. ds th \o'bp'
133. ds Th \o'LP'
134. ds ae ae
135. ds Ae AE
136.\}
137.rm #[ #] #H #V #F C
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}

--- 43 unchanged lines hidden (view full) ---

121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
138.\" ======================================================================
129.\" ========================================================================
139.\"
140.IX Title "EVP_BytesToKey 3"
130.\"
131.IX Title "EVP_BytesToKey 3"
141.TH EVP_BytesToKey 3 "0.9.7d" "2004-03-17" "OpenSSL"
142.UC
132.TH EVP_BytesToKey 3 "2005-02-24" "0.9.7d" "OpenSSL"
143.SH "NAME"
144EVP_BytesToKey \- password based encryption routine
145.SH "SYNOPSIS"
146.IX Header "SYNOPSIS"
147.Vb 1
148\& #include <openssl/evp.h>
149.Ve
133.SH "NAME"
134EVP_BytesToKey \- password based encryption routine
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 1
138\& #include <openssl/evp.h>
139.Ve
140.PP
150.Vb 4
151\& int EVP_BytesToKey(const EVP_CIPHER *type,const EVP_MD *md,
152\& const unsigned char *salt,
153\& const unsigned char *data, int datal, int count,
154\& unsigned char *key,unsigned char *iv);
155.Ve
156.SH "DESCRIPTION"
157.IX Header "DESCRIPTION"

--- 22 unchanged lines hidden (view full) ---

180.SH "KEY DERIVATION ALGORITHM"
181.IX Header "KEY DERIVATION ALGORITHM"
182The key and \s-1IV\s0 is derived by concatenating D_1, D_2, etc until
183enough data is available for the key and \s-1IV\s0. D_i is defined as:
184.PP
185.Vb 1
186\& D_i = HASH^count(D_(i-1) || data || salt)
187.Ve
141.Vb 4
142\& int EVP_BytesToKey(const EVP_CIPHER *type,const EVP_MD *md,
143\& const unsigned char *salt,
144\& const unsigned char *data, int datal, int count,
145\& unsigned char *key,unsigned char *iv);
146.Ve
147.SH "DESCRIPTION"
148.IX Header "DESCRIPTION"

--- 22 unchanged lines hidden (view full) ---

171.SH "KEY DERIVATION ALGORITHM"
172.IX Header "KEY DERIVATION ALGORITHM"
173The key and \s-1IV\s0 is derived by concatenating D_1, D_2, etc until
174enough data is available for the key and \s-1IV\s0. D_i is defined as:
175.PP
176.Vb 1
177\& D_i = HASH^count(D_(i-1) || data || salt)
178.Ve
179.PP
188where || denotes concatentaion, D_0 is empty, \s-1HASH\s0 is the digest
180where || denotes concatentaion, D_0 is empty, \s-1HASH\s0 is the digest
189algorithm in use, HASH^1(data) is simply HASH(data), HASH^2(data)
190is HASH(HASH(data)) and so on.
181algorithm in use, HASH^1(data) is simply \s-1HASH\s0(data), HASH^2(data)
182is \s-1HASH\s0(\s-1HASH\s0(data)) and so on.
191.PP
192The initial bytes are used for the key and the subsequent bytes for
193the \s-1IV\s0.
194.SH "RETURN VALUES"
195.IX Header "RETURN VALUES"
196\&\fIEVP_BytesToKey()\fR returns the size of the derived key in bytes.
197.SH "SEE ALSO"
198.IX Header "SEE ALSO"
183.PP
184The initial bytes are used for the key and the subsequent bytes for
185the \s-1IV\s0.
186.SH "RETURN VALUES"
187.IX Header "RETURN VALUES"
188\&\fIEVP_BytesToKey()\fR returns the size of the derived key in bytes.
189.SH "SEE ALSO"
190.IX Header "SEE ALSO"
199evp(3), rand(3),
200EVP_EncryptInit(3),
191\&\fIevp\fR\|(3), \fIrand\fR\|(3),
192\&\fIEVP_EncryptInit\fR\|(3),
201.SH "HISTORY"
202.IX Header "HISTORY"
193.SH "HISTORY"
194.IX Header "HISTORY"