openssl-prebuild/linux_amd64/share/doc/openssl/html/man7/EVP_MAC-BLAKE2.html

120 lines
4.0 KiB
HTML
Executable File

<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>EVP_MAC-BLAKE2</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>
<body style="background-color: white">
<!-- INDEX BEGIN -->
<div name="index">
<p><a name="__index__"></a></p>
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<ul>
<li><a href="#identity">Identity</a></li>
<li><a href="#supported_parameters">Supported parameters</a></li>
</ul>
<li><a href="#see_also">SEE ALSO</a></li>
<li><a href="#history">HISTORY</a></li>
<li><a href="#copyright">COPYRIGHT</a></li>
</ul>
<hr name="index" />
</div>
<!-- INDEX END -->
<p>
</p>
<hr />
<h1><a name="name">NAME</a></h1>
<p>EVP_MAC-BLAKE2, EVP_MAC-BLAKE2BMAC, EVP_MAC-BLAKE2SMAC
- The BLAKE2 EVP_MAC implementations</p>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>Support for computing BLAKE2 MACs through the <strong>EVP_MAC</strong> API.</p>
<p>
</p>
<h2><a name="identity">Identity</a></h2>
<p>These implementations are identified with one of these names and
properties, to be used with EVP_MAC_fetch():</p>
<dl>
<dt><strong><a name="blake2bmac_provider_default" class="item">&quot;BLAKE2BMAC&quot;, &quot;provider=default&quot;</a></strong></dt>
<dt><strong><a name="blake2smac_provider_default" class="item">&quot;BLAKE2SMAC&quot;, &quot;provider=default&quot;</a></strong></dt>
</dl>
<p>
</p>
<h2><a name="supported_parameters">Supported parameters</a></h2>
<p>The general description of these parameters can be found in
<em>EVP_MAC(3)/PARAMETERS</em>.</p>
<p>All these parameters can be set with <code>EVP_MAC_CTX_set_params()</code>.
Furthermore, the &quot;size&quot; parameter can be retrieved with
<code>EVP_MAC_CTX_get_params()</code>, or with <code>EVP_MAC_size()</code>.
The length of the &quot;size&quot; parameter should not exceed that of a <strong>size_t</strong>.</p>
<dl>
<dt><strong><a name="key_ossl_mac_param_key_octet_string" class="item">&quot;key&quot; (<strong>OSSL_MAC_PARAM_KEY</strong>) &lt;octet string&gt;</a></strong></dt>
<dd>
<p>This may be at most 64 bytes for BLAKE2BMAC or 32 for BLAKE2SMAC and
at least 1 byte in both cases.</p>
</dd>
<dt><strong><a name="custom_ossl_mac_param_custom_octet_string" class="item">&quot;custom&quot; (<strong>OSSL_MAC_PARAM_CUSTOM</strong>) &lt;octet string&gt;</a></strong></dt>
<dd>
<p>This is an optional value of at most 16 bytes for BLAKE2BMAC or 8 for
BLAKE2SMAC.
It is empty by default.</p>
</dd>
<dt><strong><a name="salt_ossl_mac_param_salt_octet_string" class="item">&quot;salt&quot; (<strong>OSSL_MAC_PARAM_SALT</strong>) &lt;octet string&gt;</a></strong></dt>
<dd>
<p>This is an optional value of at most 16 bytes for BLAKE2BMAC or 8 for
BLAKE2SMAC.
It is empty by default.</p>
</dd>
<dt><strong><a name="size_ossl_mac_param_size_unsigned_integer" class="item">&quot;size&quot; (<strong>OSSL_MAC_PARAM_SIZE</strong>) &lt;unsigned integer&gt;</a></strong></dt>
<dd>
<p>When set, this can be any number between between 1 and 32 for
EVP_MAC_BLAKE2S or 64 for EVP_MAC_BLAKE2B.
It is 32 and 64 respectively by default.</p>
</dd>
</dl>
<p>
</p>
<hr />
<h1><a name="see_also">SEE ALSO</a></h1>
<p><em>EVP_MAC_CTX_get_params(3)</em>, <em>EVP_MAC_CTX_set_params(3)</em>,
<em>EVP_MAC(3)/PARAMETERS</em>, <em>OSSL_PARAM(3)</em></p>
<p>
</p>
<hr />
<h1><a name="history">HISTORY</a></h1>
<p>The macros and functions described here were added to OpenSSL 3.0.</p>
<p>
</p>
<hr />
<h1><a name="copyright">COPYRIGHT</a></h1>
<p>Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved.</p>
<p>Licensed under the Apache License 2.0 (the &quot;License&quot;). You may not use
this file except in compliance with the License. You can obtain a copy
in the file LICENSE in the source distribution or at
<a href="https://www.openssl.org/source/license.html">https://www.openssl.org/source/license.html</a>.</p>
</body>
</html>