Files
test/doc/Doxygen/html/sdrv__crypto__rsapadding_8h.html
2025-11-07 20:19:23 +08:00

946 lines
41 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SemiDrive SSDK Appication Program Interface: Z:/01-Code/06-SSDK-DEV-Firewall/ssdk/drivers/include/crypto/sdrv_crypto_rsapadding.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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.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 id="projectrow">
<td id="projectalign">
<div id="projectname">SemiDrive SSDK Appication Program Interface<span id="projectnumber">&#160;PTG3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_14bc92f4b96c8519b376567118ac28b3.html">drivers</a></li><li class="navelem"><a class="el" href="dir_ee023d43c33bfccc31aa50a48a76892b.html">include</a></li><li class="navelem"><a class="el" href="dir_e08589e132e001d864753e5516cdc279.html">crypto</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">sdrv_crypto_rsapadding.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="sdrv__crypto__mailbox__common_8h_source.html">sdrv_crypto_mailbox_common.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="sdrv__crypto__mailbox__trng_8h_source.html">sdrv_crypto_mailbox_trng.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="sdrv__crypto__mailbox__hash_8h_source.html">sdrv_crypto_mailbox_hash.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="sdrv__crypto__sharemem_8h_source.html">sdrv_crypto_sharemem.h</a>&gt;</code><br />
<code>#include &lt;armv7-r/cache.h&gt;</code><br />
</div>
<p><a href="sdrv__crypto__rsapadding_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a34ec11d9f85f16de91d49f7248eb2699"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__crypto__rsapadding_8h.html#a34ec11d9f85f16de91d49f7248eb2699">rsa_pad_eme_oaep_encode</a> (uint32_t k, uint32_t hash_alg, uint8_t *EM, uint8_t *message, uint32_t mLen)</td></tr>
<tr class="separator:a34ec11d9f85f16de91d49f7248eb2699"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35790252b880451fcbb6a82577d20392"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__crypto__rsapadding_8h.html#a35790252b880451fcbb6a82577d20392">rsa_pad_eme_oaep_decode</a> (uint32_t k, uint32_t hash_alg, uint8_t *EM, uint8_t **message, uint32_t *mLen)</td></tr>
<tr class="separator:a35790252b880451fcbb6a82577d20392"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31934d6bbfea6adac7112ec3f4009d95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__crypto__rsapadding_8h.html#a31934d6bbfea6adac7112ec3f4009d95">rsa_pad_eme_pkcs_encode</a> (uint32_t k, uint8_t *EM, uint8_t *message, uint32_t mLen)</td></tr>
<tr class="separator:a31934d6bbfea6adac7112ec3f4009d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeca2c6c4b38f8cc55e77ba2b4bd2d8c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__crypto__rsapadding_8h.html#aeca2c6c4b38f8cc55e77ba2b4bd2d8c8">rsa_pad_eme_pkcs_decode</a> (uint32_t k, uint8_t *EM, uint8_t **message, uint32_t *mLen)</td></tr>
<tr class="separator:aeca2c6c4b38f8cc55e77ba2b4bd2d8c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a282d5a4c5d0a2439880215ef1c00b75e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__crypto__rsapadding_8h.html#a282d5a4c5d0a2439880215ef1c00b75e">rsa_pad_emsa_pkcs_encode</a> (uint32_t emLen, uint32_t hash_type, uint8_t *EM, uint8_t *<a class="el" href="hash_8h.html#a8bfd6b319c8c63dc065f08f77363ea9c">hash</a>)</td></tr>
<tr class="separator:a282d5a4c5d0a2439880215ef1c00b75e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e78304bd7277797e315b72408cdc560"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__crypto__rsapadding_8h.html#a0e78304bd7277797e315b72408cdc560">rsa_pad_emsa_pss_encode</a> (uint32_t emLen, uint32_t hash_alg, uint8_t *EM, uint8_t *<a class="el" href="hash_8h.html#a8bfd6b319c8c63dc065f08f77363ea9c">hash</a>, uint32_t n0, uint32_t sLen)</td></tr>
<tr class="separator:a0e78304bd7277797e315b72408cdc560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab358f3029c9431f0aca3a2b7e0ff6b9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__crypto__rsapadding_8h.html#ab358f3029c9431f0aca3a2b7e0ff6b9e">rsa_pad_emsa_pss_decode</a> (uint32_t emLen, uint32_t hash_alg, uint8_t *EM, uint8_t *<a class="el" href="hash_8h.html#a8bfd6b319c8c63dc065f08f77363ea9c">hash</a>, uint32_t sLen, uint32_t n0)</td></tr>
<tr class="separator:ab358f3029c9431f0aca3a2b7e0ff6b9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f46e0d640bfe9e1e5ce2911f382416f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__crypto__rsapadding_8h.html#a4f46e0d640bfe9e1e5ce2911f382416f">rsa_pad_zeros</a> (uint8_t *EM, uint32_t emLen, uint8_t *<a class="el" href="hash_8h.html#a8bfd6b319c8c63dc065f08f77363ea9c">hash</a>, uint32_t hashLen)</td></tr>
<tr class="separator:a4f46e0d640bfe9e1e5ce2911f382416f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section copyright"><dt>Copyright</dt><dd>Copyright (c) 2021 Semidrive Semiconductor. All rights reserved. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a141c860e1be2161000f7d052be6668a4" name="a141c860e1be2161000f7d052be6668a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a141c860e1be2161000f7d052be6668a4">&#9670;&nbsp;</a></span>MAC_BUFF_MAX_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAC_BUFF_MAX_SIZE&#160;&#160;&#160;(4096/8)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af8a1d2ed31f7c9a00fec46a798edb61b" name="af8a1d2ed31f7c9a00fec46a798edb61b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8a1d2ed31f7c9a00fec46a798edb61b">&#9670;&nbsp;</a></span>MAX_BLOCKSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAX_BLOCKSIZE&#160;&#160;&#160;<a class="el" href="sdrv__crypto__rsapadding_8h.html#a2df34a77fea14e17e9932aa952a3289b">SHA512_BLOCKSIZE</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1c165cd7183b261edce5ea7584f96566" name="a1c165cd7183b261edce5ea7584f96566"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c165cd7183b261edce5ea7584f96566">&#9670;&nbsp;</a></span>MAX_DIGESTSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAX_DIGESTSIZE&#160;&#160;&#160;<a class="el" href="sdrv__crypto__rsapadding_8h.html#ace9d9add6690b89abf33c398c37ec5c0">SHA512_DIGESTSIZE</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af4d122589a8b09389ad3aad56c36dd6c" name="af4d122589a8b09389ad3aad56c36dd6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4d122589a8b09389ad3aad56c36dd6c">&#9670;&nbsp;</a></span>MD5_BLOCKSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MD5_BLOCKSIZE&#160;&#160;&#160;64</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a06eb309a07bc5579db12a1ed5ccd55d0" name="a06eb309a07bc5579db12a1ed5ccd55d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06eb309a07bc5579db12a1ed5ccd55d0">&#9670;&nbsp;</a></span>MD5_DIGESTSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MD5_DIGESTSIZE&#160;&#160;&#160;16</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a58c66f64d22fd3e472501bf80503b2ab" name="a58c66f64d22fd3e472501bf80503b2ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58c66f64d22fd3e472501bf80503b2ab">&#9670;&nbsp;</a></span>MD5_INITSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MD5_INITSIZE&#160;&#160;&#160;16</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ace650a2779a7e0b5a025ac4993892bf7" name="ace650a2779a7e0b5a025ac4993892bf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace650a2779a7e0b5a025ac4993892bf7">&#9670;&nbsp;</a></span>RSA_MAX_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RSA_MAX_SIZE&#160;&#160;&#160;(4096/8)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a65a2f8eddd3bb52fe6bda30bc216ee83" name="a65a2f8eddd3bb52fe6bda30bc216ee83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65a2f8eddd3bb52fe6bda30bc216ee83">&#9670;&nbsp;</a></span>SEIP_CACHE_ALIGN_32BYTE_ADDR_MASK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SEIP_CACHE_ALIGN_32BYTE_ADDR_MASK&#160;&#160;&#160;(0x1F)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a07ecf144c37270eee958974a16296615" name="a07ecf144c37270eee958974a16296615"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07ecf144c37270eee958974a16296615">&#9670;&nbsp;</a></span>SHA1_BLOCKSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA1_BLOCKSIZE&#160;&#160;&#160;64</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acdea54a1e1bf53db30a6edacc1657069" name="acdea54a1e1bf53db30a6edacc1657069"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acdea54a1e1bf53db30a6edacc1657069">&#9670;&nbsp;</a></span>SHA1_DIGESTSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA1_DIGESTSIZE&#160;&#160;&#160;20</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa303ac04b2def7cba0e772a5c289ac0d" name="aa303ac04b2def7cba0e772a5c289ac0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa303ac04b2def7cba0e772a5c289ac0d">&#9670;&nbsp;</a></span>SHA1_INITSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA1_INITSIZE&#160;&#160;&#160;20</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aaaed2ac3599592e227f42995293bca1e" name="aaaed2ac3599592e227f42995293bca1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaed2ac3599592e227f42995293bca1e">&#9670;&nbsp;</a></span>SHA224_BLOCKSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA224_BLOCKSIZE&#160;&#160;&#160;64</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad831c275d43f894a814bf55596cc334a" name="ad831c275d43f894a814bf55596cc334a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad831c275d43f894a814bf55596cc334a">&#9670;&nbsp;</a></span>SHA224_DIGESTSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA224_DIGESTSIZE&#160;&#160;&#160;28</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a662fdc8b804c4160e9df2c13409b83b5" name="a662fdc8b804c4160e9df2c13409b83b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a662fdc8b804c4160e9df2c13409b83b5">&#9670;&nbsp;</a></span>SHA224_INITSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA224_INITSIZE&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a14b79c0aa9ec539f1213c4c1f3474a02" name="a14b79c0aa9ec539f1213c4c1f3474a02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14b79c0aa9ec539f1213c4c1f3474a02">&#9670;&nbsp;</a></span>SHA256_BLOCKSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA256_BLOCKSIZE&#160;&#160;&#160;64</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad0e1997f5e06f52d719449fd3df98214" name="ad0e1997f5e06f52d719449fd3df98214"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0e1997f5e06f52d719449fd3df98214">&#9670;&nbsp;</a></span>SHA256_DIGESTSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA256_DIGESTSIZE&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2ee6c104f136fbd14c5014108bb9b7f8" name="a2ee6c104f136fbd14c5014108bb9b7f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ee6c104f136fbd14c5014108bb9b7f8">&#9670;&nbsp;</a></span>SHA256_INITSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA256_INITSIZE&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aeb678293d6b178de4ac2b3e33d53be1c" name="aeb678293d6b178de4ac2b3e33d53be1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb678293d6b178de4ac2b3e33d53be1c">&#9670;&nbsp;</a></span>SHA384_BLOCKSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA384_BLOCKSIZE&#160;&#160;&#160;128</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a178af37853b3860f89ba72ef80331f84" name="a178af37853b3860f89ba72ef80331f84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a178af37853b3860f89ba72ef80331f84">&#9670;&nbsp;</a></span>SHA384_DIGESTSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA384_DIGESTSIZE&#160;&#160;&#160;48</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a739973549d706bec79f021672368392f" name="a739973549d706bec79f021672368392f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a739973549d706bec79f021672368392f">&#9670;&nbsp;</a></span>SHA384_INITSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA384_INITSIZE&#160;&#160;&#160;64</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2df34a77fea14e17e9932aa952a3289b" name="a2df34a77fea14e17e9932aa952a3289b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2df34a77fea14e17e9932aa952a3289b">&#9670;&nbsp;</a></span>SHA512_BLOCKSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA512_BLOCKSIZE&#160;&#160;&#160;128</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ace9d9add6690b89abf33c398c37ec5c0" name="ace9d9add6690b89abf33c398c37ec5c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace9d9add6690b89abf33c398c37ec5c0">&#9670;&nbsp;</a></span>SHA512_DIGESTSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA512_DIGESTSIZE&#160;&#160;&#160;64</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acddaafaa944a9ff3def9660626e5a09b" name="acddaafaa944a9ff3def9660626e5a09b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acddaafaa944a9ff3def9660626e5a09b">&#9670;&nbsp;</a></span>SHA512_INITSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SHA512_INITSIZE&#160;&#160;&#160;64</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3da56d6ec8f8739c96ff33c5540926c8" name="a3da56d6ec8f8739c96ff33c5540926c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3da56d6ec8f8739c96ff33c5540926c8">&#9670;&nbsp;</a></span>SM3_BLOCKSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SM3_BLOCKSIZE&#160;&#160;&#160;64</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a174f1e18a2636cab72f0fb0681bddc20" name="a174f1e18a2636cab72f0fb0681bddc20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a174f1e18a2636cab72f0fb0681bddc20">&#9670;&nbsp;</a></span>SM3_DIGESTSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SM3_DIGESTSIZE&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0feb236baa88944cbcd4cc3df269fe0d" name="a0feb236baa88944cbcd4cc3df269fe0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0feb236baa88944cbcd4cc3df269fe0d">&#9670;&nbsp;</a></span>SM3_INITSIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SM3_INITSIZE&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a00a191136f0af98392d9866dcb08201b" name="a00a191136f0af98392d9866dcb08201b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00a191136f0af98392d9866dcb08201b">&#9670;&nbsp;</a></span>rsa_padding_mode_e</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201b">rsa_padding_mode_e</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>CRYPTO mode of rsa padding. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a00a191136f0af98392d9866dcb08201ba72a65a0429e922dbe35bce65435944d5" name="a00a191136f0af98392d9866dcb08201ba72a65a0429e922dbe35bce65435944d5"></a>CRYPTO_ALGOMODE_RSAES_OAEP&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a00a191136f0af98392d9866dcb08201ba738faa1c717741814c07338672940622" name="a00a191136f0af98392d9866dcb08201ba738faa1c717741814c07338672940622"></a>CRYPTO_ALGOMODE_RSAES_PKCS1_v1_5&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a00a191136f0af98392d9866dcb08201bade4bd95e45e8041b2d372c49c15bce2c" name="a00a191136f0af98392d9866dcb08201bade4bd95e45e8041b2d372c49c15bce2c"></a>CRYPTO_ALGOMODE_RSASSA_PSS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a00a191136f0af98392d9866dcb08201ba9723717253ec00d2fc4bce6ba15859d4" name="a00a191136f0af98392d9866dcb08201ba9723717253ec00d2fc4bce6ba15859d4"></a>CRYPTO_ALGOMODE_RSASSA_PKCS1_v1_5&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a00a191136f0af98392d9866dcb08201bae8aa12bba05ea0ed2e459ffc61941c80" name="a00a191136f0af98392d9866dcb08201bae8aa12bba05ea0ed2e459ffc61941c80"></a>CRYPTO_ALGOMODE_RSA_NO_PAD&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a35790252b880451fcbb6a82577d20392" name="a35790252b880451fcbb6a82577d20392"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35790252b880451fcbb6a82577d20392">&#9670;&nbsp;</a></span>rsa_pad_eme_oaep_decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> rsa_pad_eme_oaep_decode </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>hash_alg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>EM</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t **&#160;</td>
<td class="paramname"><em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>mLen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Decode a message using OEAP </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">k</td><td>RSA parameter length in bytes </td></tr>
<tr><td class="paramname">hashType</td><td>the hash function to use </td></tr>
<tr><td class="paramname">EM</td><td>Pointer to the encoded message (EM) buffer </td></tr>
<tr><td class="paramname">message</td><td>Output: Pointer to the decoded message. The decoding is done in place within the limits of the EM buffer. </td></tr>
<tr><td class="paramname">mLen</td><td>Output: Length of the decoded message </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>E_OK when no error occurs </dd></dl>
</div>
</div>
<a id="a34ec11d9f85f16de91d49f7248eb2699" name="a34ec11d9f85f16de91d49f7248eb2699"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34ec11d9f85f16de91d49f7248eb2699">&#9670;&nbsp;</a></span>rsa_pad_eme_oaep_encode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> rsa_pad_eme_oaep_encode </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>hash_alg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>EM</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mLen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Encode a message using OAEP </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">k</td><td>RSA parameter length in bytes </td></tr>
<tr><td class="paramname">hashType</td><td>The hash function to use </td></tr>
<tr><td class="paramname">EM</td><td>Pointer to the encoded message (EM) buffer </td></tr>
<tr><td class="paramname">message</td><td>Block containing address of the message to encode </td></tr>
<tr><td class="paramname">mLen</td><td>Length of the message to be encoded (bytes) </td></tr>
<tr><td class="paramname">rng</td><td>Random number generator to use </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>E_OK when no error occurs </dd></dl>
</div>
</div>
<a id="aeca2c6c4b38f8cc55e77ba2b4bd2d8c8" name="aeca2c6c4b38f8cc55e77ba2b4bd2d8c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeca2c6c4b38f8cc55e77ba2b4bd2d8c8">&#9670;&nbsp;</a></span>rsa_pad_eme_pkcs_decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> rsa_pad_eme_pkcs_decode </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>EM</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t **&#160;</td>
<td class="paramname"><em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>mLen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Decodes encoded message using PKCS. message will point to the decoded message in EM </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">k</td><td>RSA param length in bytes </td></tr>
<tr><td class="paramname">EM</td><td>Pointer to the encoded message (EM) buffer </td></tr>
<tr><td class="paramname">message</td><td>Output: Pointer to the decoded message in EM. The decoding is done in place within the limits of the EM buffer. </td></tr>
<tr><td class="paramname">mLen</td><td>Output: Length of the decoded message (bytes) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>E_OK when no error occurs </dd></dl>
</div>
</div>
<a id="a31934d6bbfea6adac7112ec3f4009d95" name="a31934d6bbfea6adac7112ec3f4009d95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31934d6bbfea6adac7112ec3f4009d95">&#9670;&nbsp;</a></span>rsa_pad_eme_pkcs_encode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> rsa_pad_eme_pkcs_encode </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>EM</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mLen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Encode message using PKCS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">k</td><td>RSA parameter length in bytes </td></tr>
<tr><td class="paramname">EM</td><td>Pointer to the encoded message (EM) buffer </td></tr>
<tr><td class="paramname">message</td><td>Block containing address of the message to encode </td></tr>
<tr><td class="paramname">mLen</td><td>Len of the message to be encoded (bytes) </td></tr>
<tr><td class="paramname">rng</td><td>random number generator to use </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>E_OK when no error occurs </dd></dl>
</div>
</div>
<a id="a282d5a4c5d0a2439880215ef1c00b75e" name="a282d5a4c5d0a2439880215ef1c00b75e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a282d5a4c5d0a2439880215ef1c00b75e">&#9670;&nbsp;</a></span>rsa_pad_emsa_pkcs_encode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> rsa_pad_emsa_pkcs_encode </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>emLen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>hash_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>EM</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>hash</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Encode hash using PKCS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">emLen</td><td>Length of encoded message (EM) buffer (RSA parameter length in bytes) </td></tr>
<tr><td class="paramname">hashype</td><td>Hash function used for hashing hash (also used for the PKCS algorithm) </td></tr>
<tr><td class="paramname">EM</td><td>Output: Pointer to the encoded message buffer </td></tr>
<tr><td class="paramname">hash</td><td>Input: Hash to encode </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>E_OK if no error occurs </dd></dl>
</div>
</div>
<a id="ab358f3029c9431f0aca3a2b7e0ff6b9e" name="ab358f3029c9431f0aca3a2b7e0ff6b9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab358f3029c9431f0aca3a2b7e0ff6b9e">&#9670;&nbsp;</a></span>rsa_pad_emsa_pss_decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> rsa_pad_emsa_pss_decode </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>emLen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>hash_alg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>EM</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>sLen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>n0</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Decode encoded message using PSS and compares hash to the decoded hash </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">emLen</td><td>Length of encoded message (EM) buffer (RSA parameter length in bytes) </td></tr>
<tr><td class="paramname">hashType</td><td>Hash function used for hasing hash </td></tr>
<tr><td class="paramname">EM</td><td>Input: Pointer to the encoded message buffer </td></tr>
<tr><td class="paramname">hash</td><td>Hash to compare with </td></tr>
<tr><td class="paramname">sLen</td><td>Intended length of the salt </td></tr>
<tr><td class="paramname">n0</td><td>MSB of the modulus (for masking in order to match the modulus size) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>E_OK if no error occurs and hash is valid </dd></dl>
</div>
</div>
<a id="a0e78304bd7277797e315b72408cdc560" name="a0e78304bd7277797e315b72408cdc560"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e78304bd7277797e315b72408cdc560">&#9670;&nbsp;</a></span>rsa_pad_emsa_pss_encode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> rsa_pad_emsa_pss_encode </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>emLen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>hash_alg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>EM</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>n0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>sLen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Encode hash using PSS. This function uses a salt length equal to the hash digest length. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">emLen</td><td>Length of encoded message (EM) buffer (RSA parameter length in bytes) </td></tr>
<tr><td class="paramname">hashType</td><td>Hash function used for hashing hash (also used for PKCS algorithm) </td></tr>
<tr><td class="paramname">EM</td><td>Output: Pointer to the encoded message buffer </td></tr>
<tr><td class="paramname">hash</td><td>Input: Hash to encode </td></tr>
<tr><td class="paramname">n0</td><td>MSB of the modulus (for masking in order to match the modulus size) </td></tr>
<tr><td class="paramname">sLen</td><td>Intended length of the salt </td></tr>
<tr><td class="paramname">rng</td><td>Random number generator to use </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>E_OK if no error occurs </dd></dl>
</div>
</div>
<a id="a4f46e0d640bfe9e1e5ce2911f382416f" name="a4f46e0d640bfe9e1e5ce2911f382416f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f46e0d640bfe9e1e5ce2911f382416f">&#9670;&nbsp;</a></span>rsa_pad_zeros()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rsa_pad_zeros </td>
<td>(</td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>EM</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>emLen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>hashLen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Pads the hash of hashLen to EM of emLen. MSBs are set to 0.</p>
<dl class="section warning"><dt>Warning</dt><dd>There should not be overlapping between EM and hash ! </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">EM</td><td>Destination buffer (pointer) </td></tr>
<tr><td class="paramname">emLen</td><td>Length of the destination buffer (bytes) </td></tr>
<tr><td class="paramname">hash</td><td>Input to pad </td></tr>
<tr><td class="paramname">hashLen</td><td>Length of the input </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>