<!-- HTML header for doxygen 1.8.10-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<title>Intel® Enhanced Privacy ID SDK: epid/member/tiny/math/sha512.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="epidstyle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname"><a
onclick="storeLink('index.html')"
id="projectlink"
class="index.html"
href="index.html">Intel® Enhanced Privacy ID SDK</a>
 <span id="projectnumber">6.0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('sha512_8h.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">sha512.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Interface to a SHA-512 implementation.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include <stddef.h></code><br />
<code>#include <stdint.h></code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ac7071364cb94c9fcce009ba16a4bdca1"><td class="memItemLeft" align="right" valign="top"><a id="ac7071364cb94c9fcce009ba16a4bdca1"></a>
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sha512_8h.html#ac7071364cb94c9fcce009ba16a4bdca1">SHA512_BLOCK_SIZE</a>   (128)</td></tr>
<tr class="memdesc:ac7071364cb94c9fcce009ba16a4bdca1"><td class="mdescLeft"> </td><td class="mdescRight">block size <br /></td></tr>
<tr class="separator:ac7071364cb94c9fcce009ba16a4bdca1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a67f489f3eee39c447a6db3ba34ef75f2"><td class="memItemLeft" align="right" valign="top"><a id="a67f489f3eee39c447a6db3ba34ef75f2"></a>
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sha512_8h.html#a67f489f3eee39c447a6db3ba34ef75f2">SHA512_DIGEST_SIZE</a>   (64)</td></tr>
<tr class="memdesc:a67f489f3eee39c447a6db3ba34ef75f2"><td class="mdescLeft"> </td><td class="mdescRight">digest size <br /></td></tr>
<tr class="separator:a67f489f3eee39c447a6db3ba34ef75f2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab16e074d262ae09949e0bf222f95f5be"><td class="memItemLeft" align="right" valign="top"><a id="ab16e074d262ae09949e0bf222f95f5be"></a>
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sha512_8h.html#ab16e074d262ae09949e0bf222f95f5be">SHA512_DIGEST_WORDS</a>   (8)</td></tr>
<tr class="memdesc:ab16e074d262ae09949e0bf222f95f5be"><td class="mdescLeft"> </td><td class="mdescRight">number of words in SHA state <br /></td></tr>
<tr class="separator:ab16e074d262ae09949e0bf222f95f5be"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a3cf87b13e209264d7aba7d708560dfde"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sha512_8h.html#a3cf87b13e209264d7aba7d708560dfde">tinysha512_init</a> (sha512_state *s)</td></tr>
<tr class="memdesc:a3cf87b13e209264d7aba7d708560dfde"><td class="mdescLeft"> </td><td class="mdescRight">The SHA state. <a href="#a3cf87b13e209264d7aba7d708560dfde">More...</a><br /></td></tr>
<tr class="separator:a3cf87b13e209264d7aba7d708560dfde"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a47108f5097342900a4a07f52b6204082"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sha512_8h.html#a47108f5097342900a4a07f52b6204082">tinysha512_update</a> (sha512_state *s, void const *data, size_t data_length)</td></tr>
<tr class="memdesc:a47108f5097342900a4a07f52b6204082"><td class="mdescLeft"> </td><td class="mdescRight">Hashes data into state using SHA-512. <a href="#a47108f5097342900a4a07f52b6204082">More...</a><br /></td></tr>
<tr class="separator:a47108f5097342900a4a07f52b6204082"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ace9440a26ec431a1596f40284cc8d5ee"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sha512_8h.html#ace9440a26ec431a1596f40284cc8d5ee">tinysha512_final</a> (unsigned char *digest, sha512_state *s)</td></tr>
<tr class="memdesc:ace9440a26ec431a1596f40284cc8d5ee"><td class="mdescLeft"> </td><td class="mdescRight">Computes the SHA-512 hash in the digest buffer. <a href="#ace9440a26ec431a1596f40284cc8d5ee">More...</a><br /></td></tr>
<tr class="separator:ace9440a26ec431a1596f40284cc8d5ee"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Interface to a SHA-512 implementation. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ace9440a26ec431a1596f40284cc8d5ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace9440a26ec431a1596f40284cc8d5ee">◆ </a></span>tinysha512_final()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void tinysha512_final </td>
<td>(</td>
<td class="paramtype">unsigned char * </td>
<td class="paramname"><em>digest</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">sha512_state * </td>
<td class="paramname"><em>s</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the SHA-512 hash in the digest buffer. </p>
<dl class="section note"><dt>Note</dt><dd>Assumes SHA512_DIGEST_SIZE bytes are available to accept the digest.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>The state buffer 'leftover' is left in memory after processing. If your application intends to have sensitive data in this buffer, remember to erase it after the data has been processed</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">digest</td><td>The computed digest. Must be non-null or behavior is undefined.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The hash state. Must be non-null or behavior is undefined. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3cf87b13e209264d7aba7d708560dfde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cf87b13e209264d7aba7d708560dfde">◆ </a></span>tinysha512_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void tinysha512_init </td>
<td>(</td>
<td class="paramtype">sha512_state * </td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The SHA state. </p>
<p>Initializes the hash state</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">s</td><td>The hash state to initialize. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a47108f5097342900a4a07f52b6204082"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47108f5097342900a4a07f52b6204082">◆ </a></span>tinysha512_update()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void tinysha512_update </td>
<td>(</td>
<td class="paramtype">sha512_state * </td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void const * </td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>data_length</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Hashes data into state using SHA-512. </p>
<dl class="section warning"><dt>Warning</dt><dd>The state buffer 'leftover' is left in memory after processing. If your application intends to have sensitive data in this buffer, remember to erase it after the data has been processed</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">s</td><td>The hash state. Must be non-null or behavior is undefined.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data to hash into s.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_length</td><td>The size of data in bytes. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.10-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_12b90d9c027aaf878a834df729679a56.html">epid</a></li><li class="navelem"><a class="el" href="dir_512d3e62841a8535b716ec4cf8b9e950.html">member</a></li><li class="navelem"><a class="el" href="dir_ea12d375fc1eb79df248c0adf953af4f.html">tiny</a></li><li class="navelem"><a class="el" href="dir_5f2fc2cf41db41de2b55e03ffa7a1d16.html">math</a></li><li class="navelem"><a class="el" href="sha512_8h.html">sha512.h</a></li>
<li class="footer">
© 2016-2017 Intel Corporation
</li>
</ul>
</div>
</body>
</html>