Lines Matching +full:ascii +full:. +full:r

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 PROVIDER-KDF 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.
144 \& #include <openssl/core_dispatch.h>
145 \& #include <openssl/core_names.h>
147 \& /*
148 \& * None of these are actual functions, but are displayed like this for
149 \& * the function signatures for functions that are offered as function
150 \& * pointers in OSSL_DISPATCH arrays.
151 \& */
153 \& /* Context management */
154 \& void *OSSL_FUNC_kdf_newctx(void *provctx);
155 \& void OSSL_FUNC_kdf_freectx(void *kctx);
156 \& void *OSSL_FUNC_kdf_dupctx(void *src);
158 \& /* Encryption/decryption */
159 \& int OSSL_FUNC_kdf_reset(void *kctx);
160 \& int OSSL_FUNC_kdf_derive(void *kctx, unsigned char *key, size_t keylen,
161 \& const OSSL_PARAM params[]);
163 \& /* KDF parameter descriptors */
164 \& const OSSL_PARAM *OSSL_FUNC_kdf_gettable_params(void *provctx);
165 \& const OSSL_PARAM *OSSL_FUNC_kdf_gettable_ctx_params(void *kcxt, void *provctx);
166 \& const OSSL_PARAM *OSSL_FUNC_kdf_settable_ctx_params(void *kcxt, void *provctx);
168 \& /* KDF parameters */
169 \& int OSSL_FUNC_kdf_get_params(OSSL_PARAM params[]);
170 \& int OSSL_FUNC_kdf_get_ctx_params(void *kctx, OSSL_PARAM params[]);
171 \& int OSSL_FUNC_kdf_set_ctx_params(void *kctx, const OSSL_PARAM params[]);
175 This documentation is primarily aimed at provider authors. See \fBprovider\fR\|(7)
176 for further information.
180 and \fBEVP_KDF_derive\fR\|(3).
182 All \*(L"functions\*(R" mentioned here are passed as function pointers between
183 \&\fIlibcrypto\fR and the provider in \s-1\fBOSSL_DISPATCH\s0\fR\|(3) arrays via
184 \&\s-1\fBOSSL_ALGORITHM\s0\fR\|(3) arrays that are returned by the provider's
185 \&\fBprovider_query_operation()\fR function
186 (see \*(L"Provider Functions\*(R" in \fBprovider\-base\fR\|(7)).
188 All these \*(L"functions\*(R" have a corresponding function type definition
191 \&\fBOSSL_FUNC_{name}\fR.
192 For example, the \*(L"function\*(R" \fBOSSL_FUNC_kdf_newctx()\fR has these:
195 \& typedef void *(OSSL_FUNC_kdf_newctx_fn)(void *provctx);
196 \& static ossl_inline OSSL_FUNC_kdf_newctx_fn
197 \& OSSL_FUNC_kdf_newctx(const OSSL_DISPATCH *opf);
200 \&\s-1\fBOSSL_DISPATCH\s0\fR\|(3) array entries are identified by numbers that are provided as
201 macros in \fBopenssl\-core_dispatch.h\fR\|(7), as follows:
204 \& OSSL_FUNC_kdf_newctx OSSL_FUNC_KDF_NEWCTX
205 \& OSSL_FUNC_kdf_freectx OSSL_FUNC_KDF_FREECTX
206 \& OSSL_FUNC_kdf_dupctx OSSL_FUNC_KDF_DUPCTX
208 \& OSSL_FUNC_kdf_reset OSSL_FUNC_KDF_RESET
209 \& OSSL_FUNC_kdf_derive OSSL_FUNC_KDF_DERIVE
211 \& OSSL_FUNC_kdf_get_params OSSL_FUNC_KDF_GET_PARAMS
212 \& OSSL_FUNC_kdf_get_ctx_params OSSL_FUNC_KDF_GET_CTX_PARAMS
213 \& OSSL_FUNC_kdf_set_ctx_params OSSL_FUNC_KDF_SET_CTX_PARAMS
215 \& OSSL_FUNC_kdf_gettable_params OSSL_FUNC_KDF_GETTABLE_PARAMS
216 \& OSSL_FUNC_kdf_gettable_ctx_params OSSL_FUNC_KDF_GETTABLE_CTX_PARAMS
217 \& OSSL_FUNC_kdf_settable_ctx_params OSSL_FUNC_KDF_SETTABLE_CTX_PARAMS
220 A \s-1KDF\s0 algorithm implementation may not implement all of these functions.
223 \&\fBOSSL_FUNC_kdf_set_ctx_params()\fR, \fBOSSL_FUNC_kdf_derive()\fR.
224 All other functions are optional.
227 \&\fBOSSL_FUNC_kdf_newctx()\fR should create and return a pointer to a provider side
228 structure for holding context information during a \s-1KDF\s0 operation.
230 operation function calls.
232 initialisation (see \fBprovider\fR\|(7)).
234 \&\fBOSSL_FUNC_kdf_freectx()\fR is passed a pointer to the provider side \s-1KDF\s0 context in
235 the \fIkctx\fR parameter.
237 return.
238 This function should free any resources associated with that context.
240 \&\fBOSSL_FUNC_kdf_dupctx()\fR should duplicate the provider side \s-1KDF\s0 context in the
241 \&\fIkctx\fR parameter and return the duplicate copy.
244 \&\fBOSSL_FUNC_kdf_reset()\fR initialises a \s-1KDF\s0 operation given a provider
245 side \s-1KDF\s0 context in the \fIkctx\fR parameter.
247 \&\fBOSSL_FUNC_kdf_derive()\fR performs the \s-1KDF\s0 operation after processing the
248 \&\fIparams\fR as per \fBOSSL_FUNC_kdf_set_ctx_params()\fR.
249 The \fIkctx\fR parameter contains a pointer to the provider side context.
250 The resulting key of the desired \fIkeylen\fR should be written to \fIkey\fR.
252 return error.
256 these functions.
258 \&\fBOSSL_FUNC_kdf_get_params()\fR gets details of parameter values associated with the
259 provider algorithm and stores them in \fIparams\fR.
261 \&\fBOSSL_FUNC_kdf_set_ctx_params()\fR sets \s-1KDF\s0 parameters associated with the given
262 provider side \s-1KDF\s0 context \fIkctx\fR to \fIparams\fR.
263 Any parameter settings are additional to any that were previously set.
264 Passing \s-1NULL\s0 for \fIparams\fR should return true.
266 \&\fBOSSL_FUNC_kdf_get_ctx_params()\fR retrieves gettable parameter values associated
267 with the given provider side \s-1KDF\s0 context \fIkctx\fR and stores them in \fIparams\fR.
268 Passing \s-1NULL\s0 for \fIparams\fR should return true.
270 \&\fBOSSL_FUNC_kdf_gettable_params()\fR, \fBOSSL_FUNC_kdf_gettable_ctx_params()\fR,
273 \&\fBOSSL_FUNC_kdf_get_ctx_params()\fR, and \fBOSSL_FUNC_kdf_set_ctx_params()\fR
274 can handle, respectively. \fBOSSL_FUNC_kdf_gettable_ctx_params()\fR and
275 \&\fBOSSL_FUNC_kdf_settable_ctx_params()\fR will return the parameters associated
277 not \s-1NULL.\s0 Otherwise, they return the parameters associated with the
278 provider side algorithm \fIprovctx\fR.
280 Parameters currently recognised by built-in KDFs are as follows. Not all
285 Gets the output size from the associated \s-1KDF\s0 ctx.
287 returned.
289 been supplied, 0 should be returned indicating an error.
293 Sets the key in the associated \s-1KDF\s0 ctx.
297 Sets the secret in the associated \s-1KDF\s0 ctx.
301 Sets the password in the associated \s-1KDF\s0 ctx.
313 Sets the name of the underlying cipher, digest or \s-1MAC\s0 to be used.
314 It must name a suitable algorithm for the \s-1KDF\s0 that's being used.
318 Sets the length of the \s-1MAC\s0 in the associated \s-1KDF\s0 ctx.
322 Sets the properties to be queried when trying to fetch the underlying algorithm.
324 considered valid.
328 Sets the number of iterations in the associated \s-1KDF\s0 ctx.
332 Sets the mode in the associated \s-1KDF\s0 ctx.
336 Enables or disables the \s-1SP800\-132\s0 compliance checks.
337 A mode of 0 enables the compliance checks.
341 .IP "\- the iteration count is at least 1000." 4
342 .IX Item "- the iteration count is at least 1000."
344 .IP "\- the salt length is at least 128 bits." 4
345 .IX Item "- the salt length is at least 128 bits."
346 .IP "\- the derived key length is at least 112 bits." 4
347 .IX Item "- the derived key length is at least 112 bits."
356 \&\*(L"partyAInfo\*(R". In \s-1CMS\s0 this is the user keying material.
360 Sets the \s-1CEK\s0 wrapping algorithm name in the associated \s-1KDF\s0 ctx.
364 Sets the scrypt work factor parameter N in the associated \s-1KDF\s0 ctx.
367 .IX Item "r (OSSL_KDF_PARAM_SCRYPT_R) <unsigned integer>"
368 Sets the scrypt work factor parameter r in the associated \s-1KDF\s0 ctx.
372 Sets the scrypt work factor parameter p in the associated \s-1KDF\s0 ctx.
376 Sets the scrypt work factor parameter maxmem in the associated \s-1KDF\s0 ctx.
381 associated \s-1KDF\s0 ctx.
386 associated \s-1KDF\s0 ctx.
391 associated \s-1KDF\s0 ctx.
395 Sets the optional shared info in the associated \s-1KDF\s0 ctx.
399 Sets the \s-1IV\s0 in the associated \s-1KDF\s0 ctx.
403 Sets the xcghash in the associated \s-1KDF\s0 ctx.
407 Sets the session \s-1ID\s0 in the associated \s-1KDF\s0 ctx.
411 Sets the \s-1SSH KDF\s0 type parameter in the associated \s-1KDF\s0 ctx.
416 The Initial \s-1IV\s0 from client to server.
417 A single char of value 65 (\s-1ASCII\s0 char 'A').
421 A single char of value 66 (\s-1ASCII\s0 char 'B').
425 A single char of value 67 (\s-1ASCII\s0 char 'C').
429 A single char of value 68 (\s-1ASCII\s0 char 'D').
433 A single char of value 69 (\s-1ASCII\s0 char 'E').
437 A single char of value 70 (\s-1ASCII\s0 char 'F').
444 Sets the constant value in the associated \s-1KDF\s0 ctx.
448 Sets the intended usage of the output bits in the associated \s-1KDF\s0 ctx.
449 It is defined as per \s-1RFC 7292\s0 section B.3.
452 \&\fBOSSL_FUNC_kdf_newctx()\fR and \fBOSSL_FUNC_kdf_dupctx()\fR should return the newly created
453 provider side \s-1KDF\s0 context, or \s-1NULL\s0 on failure.
455 \&\fBOSSL_FUNC_kdf_derive()\fR, \fBOSSL_FUNC_kdf_get_params()\fR,
456 \&\fBOSSL_FUNC_kdf_get_ctx_params()\fR and \fBOSSL_FUNC_kdf_set_ctx_params()\fR should return 1 for
457 success or 0 on error.
459 \&\fBOSSL_FUNC_kdf_gettable_params()\fR, \fBOSSL_FUNC_kdf_gettable_ctx_params()\fR and
460 \&\fBOSSL_FUNC_kdf_settable_ctx_params()\fR should return a constant \s-1\fBOSSL_PARAM\s0\fR\|(3)
461 array, or \s-1NULL\s0 if none is offered.
464 The \s-1KDF\s0 life-cycle is described in \fBlife_cycle\-kdf\fR\|(7). Providers should
465 ensure that the various transitions listed there are supported. At some point
466 the \s-1EVP\s0 layer will begin enforcing the listed transitions.
469 \&\fBprovider\fR\|(7), \fBlife_cycle\-kdf\fR\|(7), \s-1\fBEVP_KDF\s0\fR\|(3).
472 The provider \s-1KDF\s0 interface was introduced in OpenSSL 3.0.
475 Copyright 2020\-2023 The OpenSSL Project Authors. All Rights Reserved.
477 Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use
478 this file except in compliance with the License. You can obtain a copy
480 <https://www.openssl.org/source/license.html>.