Lines Matching +full:mac +full:-
14 EVP_MAC_do_all_provided - EVP MAC routines
25 int EVP_MAC_up_ref(EVP_MAC *mac);
26 void EVP_MAC_free(EVP_MAC *mac);
27 int EVP_MAC_is_a(const EVP_MAC *mac, const char *name);
28 const char *EVP_MAC_get0_name(const EVP_MAC *mac);
29 int EVP_MAC_names_do_all(const EVP_MAC *mac,
32 const char *EVP_MAC_get0_description(const EVP_MAC *mac);
33 const OSSL_PROVIDER *EVP_MAC_get0_provider(const EVP_MAC *mac);
34 int EVP_MAC_get_params(EVP_MAC *mac, OSSL_PARAM params[]);
36 EVP_MAC_CTX *EVP_MAC_CTX_new(EVP_MAC *mac);
57 const OSSL_PARAM *EVP_MAC_gettable_params(const EVP_MAC *mac);
58 const OSSL_PARAM *EVP_MAC_gettable_ctx_params(const EVP_MAC *mac);
59 const OSSL_PARAM *EVP_MAC_settable_ctx_params(const EVP_MAC *mac);
64 void (*fn)(EVP_MAC *mac, void *arg),
76 the MAC algorithm itself and one for the underlying computation
80 "MAC context", which is to denote the MAC level context, and about a
86 B<EVP_MAC> is a type that holds the implementation of a MAC.
88 B<EVP_MAC_CTX> is a context type that holds internal MAC information
94 EVP_MAC_fetch() fetches an implementation of a MAC I<algorithm>, given
98 See L<OSSL_PROVIDER-default(7)/Message Authentication Code (MAC)> for the list
105 MAC.
108 NULL is a valid parameter, for which this function is a no-op.
112 EVP_MAC_CTX_new() creates a new context for the MAC type I<mac>.
118 NULL is a valid parameter, for which this function is a no-op.
130 using the MAC algorithm I<name> and the key I<key> with length I<keylen>.
131 The MAC algorithm is fetched using any given I<libctx> and property query
142 via the I<key> and I<params> arguments. The MAC I<key> has a length of
146 Providing non-NULL I<params> to this function is equivalent to calling
148 Note: There are additional requirements for some MAC algorithms during
149 re-initalization (i.e. calling EVP_MAC_init() on an EVP_MAC after EVP_MAC_final()
154 EVP_MAC_update() adds I<datalen> bytes from I<data> to the MAC input.
166 EVP_MAC_finalXOF() does the final computation for an XOF based MAC and stores
170 I<mac>.
213 EVP_MAC_CTX_get_mac_size() returns the MAC output size for the given context.
215 EVP_MAC_CTX_get_block_size() returns the MAC block size for the given context.
216 Not all MAC algorithms support this.
218 EVP_MAC_is_a() checks if the given I<mac> is an implementation of an
222 of the given I<mac>.
224 EVP_MAC_do_all_provided() traverses all MAC implemented by all activated
229 EVP_MAC_get0_name() return the name of the given MAC. For fetched MACs
233 EVP_MAC_names_do_all() traverses all names for I<mac>, and calls
236 EVP_MAC_get0_description() returns a description of the I<mac>, meant
238 of the mac implementation.
245 its own MAC implementations.
255 Its value is the MAC key as an array of bytes.
262 Some MAC implementations (GMAC) require an IV, this parameter sets the IV.
266 Some MAC implementations (KMAC, BLAKE2) accept a Customization String,
272 This option is used by BLAKE2 MAC.
280 =item "digest-noinit" (B<OSSL_MAC_PARAM_DIGEST_NOINIT>) <integer>
282 A simple flag to set the MAC digest to not initialise the
287 =item "digest-oneshot" (B<OSSL_MAC_PARAM_DIGEST_ONESHOT>) <integer>
289 A simple flag to set the MAC digest to be a oneshot operation.
300 For MAC implementations that use an underlying computation cipher or
312 For MAC implementations that support it, set the output size that
314 The allowed sizes vary between MAC implementations, but must never exceed
317 =item "tls-data-size" (B<OSSL_MAC_PARAM_TLS_DATA_SIZE>) <unsigned integer>
320 activated for calculating the MAC of a received mac-then-encrypt TLS record
323 having the MAC calculated including the received MAC and the record padding.
327 including the MAC itself and any padding. The entire record length must equal
328 the value passed in the "tls-data-size" parameter. The length passed in the
330 record after the MAC and any padding has been removed.
341 The MAC life-cycle is described in L<life_cycle-mac(7)>. In the future,
348 Some MAC algorithms store internal state that cannot be extracted during
349 re-initalization. For example GMAC cannot extract an B<IV> from the
370 EVP_MAC_get0_name() returns a name of the MAC, or NULL on error.
372 EVP_MAC_get0_provider() returns a pointer to the provider for the MAC, or
383 EVP_Q_mac() returns a pointer to the computed MAC value, or NULL on error.
409 EVP_MAC *mac = EVP_MAC_fetch(NULL, getenv("MY_MAC"), NULL);
432 if (mac == NULL
434 || (ctx = EVP_MAC_CTX_new(mac)) == NULL
453 EVP_MAC_free(mac);
458 EVP_MAC_free(mac);
467 $ MY_MAC=cmac MY_KEY=secret0123456789 MY_MAC_CIPHER=aes-128-cbc \
478 L<EVP_MAC-BLAKE2(7)>,
479 L<EVP_MAC-CMAC(7)>,
480 L<EVP_MAC-GMAC(7)>,
481 L<EVP_MAC-HMAC(7)>,
482 L<EVP_MAC-KMAC(7)>,
483 L<EVP_MAC-Siphash(7)>,
484 L<EVP_MAC-Poly1305(7)>,
485 L<provider-mac(7)>,
486 L<life_cycle-mac(7)>
494 Copyright 2018-2024 The OpenSSL Project Authors. All Rights Reserved.