Lines Matching +full:ascii +full:. +full:d

1 .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
8 ..
13 ..
17 ..
18 .\" Set up some character translations and predefined strings. \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
27 . ds -- \(*W-
28 . ds PI pi
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31 . ds L" ""
32 . ds R" ""
33 . ds C` ""
34 . ds C' ""
37 . ds -- \|\(em\|
38 . ds PI \(*p
39 . ds L" ``
40 . ds R" ''
41 . ds C`
42 . ds C'
44 .\"
45 .\" Escape single quotes in literal strings from groff's Unicode transform.
48 .\"
49 .\" If the F register is >0, we'll generate index entries on stderr for
50 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
51 .\" entries marked with X<> in POD. Of course, you'll have to process the
52 .\" output yourself in some meaningful fashion.
53 .\"
54 .\" Avoid warning from groff about undefined register 'F'.
56 ..
60 . if \nF \{\
61 . de IX
62 . tm Index:\\$1\t\\n%\t"\\$2"
63 ..
64 . if !\nF==2 \{\
65 . nr % 0
66 . nr F 2
67 . \}
68 . \}
69 .\}
71 .\" Fear. Run. Save yourself. No user-serviceable parts.
72 . \" fudge factors for nroff and troff
74 . ds #H 0
75 . ds #V .8m
76 . ds #F .3m
77 . ds #[ \f1
78 . ds #] \fP
79 .\}
81 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
82 . ds #V .6m
83 . ds #F 0
84 . ds #[ \&
85 . ds #] \&
86 .\}
87 . \" simple accents for nroff and troff
89 . ds ' \&
90 . ds ` \&
91 . ds ^ \&
92 . ds , \&
93 . ds ~ ~
94 . ds /
95 .\}
97 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
98 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
99 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
100 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
101 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
102 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
103 .\}
104 . \" troff and (daisy-wheel) nroff accents
114 . \" corrections for vroff
117 . \" for low resolution devices (crt and lpr)
120 . ds : e
121 . ds 8 ss
122 . ds o a
123 . ds d- d\h'-1'\(ga
124 . ds D- D\h'-1'\(hy
125 . ds th \o'bp'
126 . ds Th \o'LP'
127 . ds ae ae
128 . ds Ae AE
129 .\}
131 .\" ========================================================================
132 .\"
134 .TH EVP_KDF-SSHKDF 7ossl "2023-09-19" "3.0.11" "OpenSSL"
135 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
136 .\" way too many mistakes in technical documents.
143 Support for computing the \fB\s-1SSHKDF\s0\fR \s-1KDF\s0 through the \fB\s-1EVP_KDF\s0\fR \s-1API.\…
145 The \s-1EVP_KDF\-SSHKDF\s0 algorithm implements the \s-1SSHKDF\s0 key derivation function.
147 encryption keys and integrity keys.
150 and the derivation key type.
153 \&\*(L"\s-1SSHKDF\*(R"\s0 is the name for this implementation; it
154 can be used with the \fBEVP_KDF_fetch()\fR function.
169 These parameters work as described in \*(L"\s-1PARAMETERS\*(R"\s0 in \s-1\fBEVP_KDF\s0\fR\|(3).
178 These parameters set the respective values for the \s-1KDF.\s0
179 If a value is already set, the contents are replaced.
183 This parameter sets the type for the \s-1SSHKDF\s0 operation.
188 The Initial \s-1IV\s0 from client to server.
189 A single char of value 65 (\s-1ASCII\s0 char 'A').
193 A single char of value 66 (\s-1ASCII\s0 char 'B').
197 A single char of value 67 (\s-1ASCII\s0 char 'C').
201 A single char of value 68 (\s-1ASCII\s0 char 'D').
205 A single char of value 69 (\s-1ASCII\s0 char 'E').
209 A single char of value 70 (\s-1ASCII\s0 char 'F').
218 \& EVP_KDF *kdf = EVP_KDF_fetch(NULL, "SSHKDF", NULL);
219 \& EVP_KDF_CTX *kctx = EVP_KDF_CTX_new(kdf);
223 parameter to the \fBEVP_KDF_derive\fR\|(3) function.
225 to obtain the requisite length is not meaningful. The caller must
227 \&\fBEVP_KDF_derive\fR\|(3) function along with the desired length.
231 \&\*(L"xcghash\*(R" and \*(L"session_id\*(R" values:
234 \& EVP_KDF *kdf;
235 \& EVP_KDF_CTX *kctx;
236 \& char type = EVP_KDF_SSHKDF_TYPE_INITIAL_IV_CLI_TO_SRV;
237 \& unsigned char key[1024] = "01234...";
238 \& unsigned char xcghash[32] = "012345...";
239 \& unsigned char session_id[32] = "012345...";
240 \& unsigned char out[8];
241 \& size_t outlen = sizeof(out);
242 \& OSSL_PARAM params[6], *p = params;
244 \& kdf = EVP_KDF_fetch(NULL, "SSHKDF", NULL);
245 \& kctx = EVP_KDF_CTX_new(kdf);
246 \& EVP_KDF_free(kdf);
248 \& *p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST,
249 \& SN_sha256, strlen(SN_sha256));
250 \& *p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_KEY,
251 \& key, (size_t)1024);
252 \& *p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SSHKDF_XCGHASH,
253 \& xcghash, (size_t)32);
254 \& *p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SSHKDF_SESSION_ID,
255 \& session_id, (size_t)32);
256 \& *p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_SSHKDF_TYPE,
257 \& &type, sizeof(type));
258 \& *p = OSSL_PARAM_construct_end();
259 \& if (EVP_KDF_derive(kctx, out, outlen, params) <= 0)
260 \& /* Error */
264 \&\s-1RFC 4253\s0
267 \&\s-1\fBEVP_KDF\s0\fR\|(3),
268 \&\fBEVP_KDF_CTX_new\fR\|(3),
269 \&\fBEVP_KDF_CTX_free\fR\|(3),
270 \&\fBEVP_KDF_CTX_set_params\fR\|(3),
271 \&\fBEVP_KDF_CTX_get_kdf_size\fR\|(3),
272 \&\fBEVP_KDF_derive\fR\|(3),
273 \&\*(L"\s-1PARAMETERS\*(R"\s0 in \s-1\fBEVP_KDF\s0\fR\|(3)
276 This functionality was added in OpenSSL 3.0.
279 Copyright 2016\-2022 The OpenSSL Project Authors. All Rights Reserved.
281 Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use
282 this file except in compliance with the License. You can obtain a copy
284 <https://www.openssl.org/source/license.html>.