Lines Matching full:mac
5 provider-mac - The mac library E<lt>-E<gt> provider functions
31 /* MAC parameter descriptors */
36 /* MAC parameters */
46 The MAC operation enables providers to implement mac algorithms and make
85 A mac algorithm implementation may not implement all of these functions.
94 structure for holding context information during a mac operation.
95 A pointer to this context will be passed back in a number of the other mac
100 OSSL_FUNC_mac_freectx() is passed a pointer to the provider side mac context in
106 OSSL_FUNC_mac_dupctx() should duplicate the provider side mac context in the
111 OSSL_FUNC_mac_init() initialises a mac operation given a newly created provider
112 side mac context in the I<mctx> parameter. The I<params> are set before setting
113 the MAC I<key> of I<keylen> bytes.
115 OSSL_FUNC_mac_update() is called to supply data for MAC computation of a previously
116 initialised mac operation.
119 OSSL_FUNC_mac_update() may be called multiple times for a single mac operation.
121 OSSL_FUNC_mac_final() completes the MAC computation started through previous
124 The resulting MAC should be written to I<out> and the amount of data written
129 =head2 Mac Parameters
137 OSSL_FUNC_mac_set_ctx_params() sets mac parameters associated with the given
138 provider side mac context I<mctx> to I<params>.
143 associated with the given provider side mac context I<mctx> and stores them
157 All MAC implementations are expected to handle the following parameters:
167 Sets the key in the associated MAC ctx. This is identical to passing a I<key>
178 Can be used to get the default MAC size (which might be the only allowable
179 MAC size for the implementation).
181 Note that some implementations allow setting the size that the resulting MAC
190 Can be used to get the MAC block size (if supported by the algorithm).
198 The MAC life-cycle is described in L<life_cycle-rand(7)>. Providers should
205 provider side mac context, or NULL on failure.
221 L<life_cycle-mac(7)>, L<EVP_MAC(3)>
225 The provider MAC interface was introduced in OpenSSL 3.0.