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

219 lines
35 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 Source File</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="headertitle"><div class="title">sdrv_crypto_rsapadding.h</div></div>
</div><!--header-->
<div class="contents">
<a href="sdrv__crypto__rsapadding_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#ifndef CRYPTO_RSAPADDING_H</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#define CRYPTO_RSAPADDING_H</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;<a class="code" href="sdrv__crypto__mailbox__common_8h.html">sdrv_crypto_mailbox_common.h</a>&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;<a class="code" href="sdrv__crypto__mailbox__trng_8h.html">sdrv_crypto_mailbox_trng.h</a>&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;<a class="code" href="sdrv__crypto__mailbox__hash_8h.html">sdrv_crypto_mailbox_hash.h</a>&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;<a class="code" href="sdrv__crypto__sharemem_8h.html">sdrv_crypto_sharemem.h</a>&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;armv7-r/cache.h&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201b"> 21</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="comment">/* RSA Optimal Asymmetric Encryption Padding */</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201ba72a65a0429e922dbe35bce65435944d5"> 23</a></span> <a class="code hl_enumvalue" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201ba72a65a0429e922dbe35bce65435944d5">CRYPTO_ALGOMODE_RSAES_OAEP</a>,</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/* RSA encryption/decryption with PKCS#1 v1.5 padding */</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201ba738faa1c717741814c07338672940622"> 25</a></span> <a class="code hl_enumvalue" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201ba738faa1c717741814c07338672940622">CRYPTO_ALGOMODE_RSAES_PKCS1_v1_5</a>,</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="comment">/* RSA Probabilistic Signature */</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201bade4bd95e45e8041b2d372c49c15bce2c"> 27</a></span> <a class="code hl_enumvalue" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201bade4bd95e45e8041b2d372c49c15bce2c">CRYPTO_ALGOMODE_RSASSA_PSS</a>,</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/* RSA signature with PKCS#1 v1.5 */</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201ba9723717253ec00d2fc4bce6ba15859d4"> 29</a></span> <a class="code hl_enumvalue" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201ba9723717253ec00d2fc4bce6ba15859d4">CRYPTO_ALGOMODE_RSASSA_PKCS1_v1_5</a>,</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/* No padding */</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201bae8aa12bba05ea0ed2e459ffc61941c80"> 31</a></span> <a class="code hl_enumvalue" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201bae8aa12bba05ea0ed2e459ffc61941c80">CRYPTO_ALGOMODE_RSA_NO_PAD</a>,</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>} <a class="code hl_enumeration" href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201b">rsa_padding_mode_e</a>;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">/* Size of MD5 data block in bytes */</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#af4d122589a8b09389ad3aad56c36dd6c"> 35</a></span><span class="preprocessor">#define MD5_BLOCKSIZE 64</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">/* Size of MD5 initialization value in bytes */</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a58c66f64d22fd3e472501bf80503b2ab"> 37</a></span><span class="preprocessor">#define MD5_INITSIZE 16</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">/* Size of MD5 digest in bytes */</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a06eb309a07bc5579db12a1ed5ccd55d0"> 39</a></span><span class="preprocessor">#define MD5_DIGESTSIZE 16</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment">/* Size of SHA1 data block in bytes */</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a07ecf144c37270eee958974a16296615"> 41</a></span><span class="preprocessor">#define SHA1_BLOCKSIZE 64</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment">/* Size of SHA1 initialization value in bytes */</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#aa303ac04b2def7cba0e772a5c289ac0d"> 43</a></span><span class="preprocessor">#define SHA1_INITSIZE 20</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment">/* Size of SHA1 digest in bytes */</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#acdea54a1e1bf53db30a6edacc1657069"> 45</a></span><span class="preprocessor">#define SHA1_DIGESTSIZE 20</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment">/* Size of SHA224 data block in bytes */</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#aaaed2ac3599592e227f42995293bca1e"> 47</a></span><span class="preprocessor">#define SHA224_BLOCKSIZE 64</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment">/* Size of SHA224 initialization value in bytes */</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a662fdc8b804c4160e9df2c13409b83b5"> 49</a></span><span class="preprocessor">#define SHA224_INITSIZE 32</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">/* Size of SHA224 digest in bytes */</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#ad831c275d43f894a814bf55596cc334a"> 51</a></span><span class="preprocessor">#define SHA224_DIGESTSIZE 28</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">/* Size of SHA256 data block in bytes */</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a14b79c0aa9ec539f1213c4c1f3474a02"> 53</a></span><span class="preprocessor">#define SHA256_BLOCKSIZE 64</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment">/* Size of SHA256 initialization value in bytes */</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a2ee6c104f136fbd14c5014108bb9b7f8"> 55</a></span><span class="preprocessor">#define SHA256_INITSIZE 32</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment">/* Size of SHA256 digest in bytes */</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#ad0e1997f5e06f52d719449fd3df98214"> 57</a></span><span class="preprocessor">#define SHA256_DIGESTSIZE 32</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment">/* Size of SHA384 data block in bytes */</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#aeb678293d6b178de4ac2b3e33d53be1c"> 59</a></span><span class="preprocessor">#define SHA384_BLOCKSIZE 128</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment">/* Size of SHA384 initialization value in bytes */</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a739973549d706bec79f021672368392f"> 61</a></span><span class="preprocessor">#define SHA384_INITSIZE 64</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment">/* Size of SHA384 digest in bytes */</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a178af37853b3860f89ba72ef80331f84"> 63</a></span><span class="preprocessor">#define SHA384_DIGESTSIZE 48</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="comment">/* Size of SHA512 data block in bytes */</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a2df34a77fea14e17e9932aa952a3289b"> 65</a></span><span class="preprocessor">#define SHA512_BLOCKSIZE 128</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment">/* Size of SHA512 initialization value in bytes */</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#acddaafaa944a9ff3def9660626e5a09b"> 67</a></span><span class="preprocessor">#define SHA512_INITSIZE 64</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment">/* Size of SHA512 digest in bytes */</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#ace9d9add6690b89abf33c398c37ec5c0"> 69</a></span><span class="preprocessor">#define SHA512_DIGESTSIZE 64</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment">/* Size of SHA512 data block in bytes */</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a3da56d6ec8f8739c96ff33c5540926c8"> 71</a></span><span class="preprocessor">#define SM3_BLOCKSIZE 64</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment">/* Size of SHA512 initialization value in bytes */</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a0feb236baa88944cbcd4cc3df269fe0d"> 73</a></span><span class="preprocessor">#define SM3_INITSIZE 32</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment">/* Size of SHA512 digest in bytes */</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a174f1e18a2636cab72f0fb0681bddc20"> 75</a></span><span class="preprocessor">#define SM3_DIGESTSIZE 32</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment">/* Maximum block size to be supported */</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#af8a1d2ed31f7c9a00fec46a798edb61b"> 77</a></span><span class="preprocessor">#define MAX_BLOCKSIZE SHA512_BLOCKSIZE</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment">/* Maximum digest size to be supported */</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a1c165cd7183b261edce5ea7584f96566"> 79</a></span><span class="preprocessor">#define MAX_DIGESTSIZE SHA512_DIGESTSIZE</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#ace650a2779a7e0b5a025ac4993892bf7"> 81</a></span><span class="preprocessor">#define RSA_MAX_SIZE (4096/8)</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a141c860e1be2161000f7d052be6668a4"> 83</a></span><span class="preprocessor">#define MAC_BUFF_MAX_SIZE (4096/8)</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a65a2f8eddd3bb52fe6bda30bc216ee83"> 85</a></span><span class="preprocessor">#define SEIP_CACHE_ALIGN_32BYTE_ADDR_MASK (0x1F)</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a34ec11d9f85f16de91d49f7248eb2699"> 97</a></span><a class="code hl_typedef" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> <a class="code hl_function" href="sdrv__crypto__rsapadding_8h.html#a34ec11d9f85f16de91d49f7248eb2699">rsa_pad_eme_oaep_encode</a>(uint32_t k,</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> uint32_t hash_alg,</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> uint8_t *EM,</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> uint8_t *message,</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> uint32_t mLen);</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a35790252b880451fcbb6a82577d20392"> 113</a></span><a class="code hl_typedef" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> <a class="code hl_function" href="sdrv__crypto__rsapadding_8h.html#a35790252b880451fcbb6a82577d20392">rsa_pad_eme_oaep_decode</a>(uint32_t k,</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> uint32_t hash_alg,</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> uint8_t *EM,</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> uint8_t **message,</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> uint32_t *mLen);</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a31934d6bbfea6adac7112ec3f4009d95"> 128</a></span><a class="code hl_typedef" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> <a class="code hl_function" href="sdrv__crypto__rsapadding_8h.html#a31934d6bbfea6adac7112ec3f4009d95">rsa_pad_eme_pkcs_encode</a>(uint32_t k,</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> uint8_t *EM,</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> uint8_t *message,</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> uint32_t mLen);</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#aeca2c6c4b38f8cc55e77ba2b4bd2d8c8"> 142</a></span><a class="code hl_typedef" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> <a class="code hl_function" href="sdrv__crypto__rsapadding_8h.html#aeca2c6c4b38f8cc55e77ba2b4bd2d8c8">rsa_pad_eme_pkcs_decode</a>(uint32_t k,</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> uint8_t *EM,</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> uint8_t **message,</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> uint32_t *mLen);</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a282d5a4c5d0a2439880215ef1c00b75e"> 157</a></span><a class="code hl_typedef" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> <a class="code hl_function" href="sdrv__crypto__rsapadding_8h.html#a282d5a4c5d0a2439880215ef1c00b75e">rsa_pad_emsa_pkcs_encode</a>(uint32_t emLen,</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> uint32_t hash_type,</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> uint8_t *EM,</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> uint8_t *<a class="code hl_function" href="hash_8h.html#a8bfd6b319c8c63dc065f08f77363ea9c">hash</a>);</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a0e78304bd7277797e315b72408cdc560"> 176</a></span><a class="code hl_typedef" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> <a class="code hl_function" href="sdrv__crypto__rsapadding_8h.html#a0e78304bd7277797e315b72408cdc560">rsa_pad_emsa_pss_encode</a>(uint32_t emLen,</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> uint32_t hash_alg,</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> uint8_t *EM,</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> uint8_t *<a class="code hl_function" href="hash_8h.html#a8bfd6b319c8c63dc065f08f77363ea9c">hash</a>,</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> uint32_t n0,</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> uint32_t sLen);</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#ab358f3029c9431f0aca3a2b7e0ff6b9e"> 194</a></span><a class="code hl_typedef" href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a> <a class="code hl_function" href="sdrv__crypto__rsapadding_8h.html#ab358f3029c9431f0aca3a2b7e0ff6b9e">rsa_pad_emsa_pss_decode</a>(uint32_t emLen,</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> uint32_t hash_alg,</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> uint8_t *EM,</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> uint8_t *<a class="code hl_function" href="hash_8h.html#a8bfd6b319c8c63dc065f08f77363ea9c">hash</a>,</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> uint32_t sLen,</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> uint32_t n0);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="sdrv__crypto__rsapadding_8h.html#a4f46e0d640bfe9e1e5ce2911f382416f"> 209</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="sdrv__crypto__rsapadding_8h.html#a4f46e0d640bfe9e1e5ce2911f382416f">rsa_pad_zeros</a>(uint8_t *EM,</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> uint32_t emLen,</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> uint8_t *<a class="code hl_function" href="hash_8h.html#a8bfd6b319c8c63dc065f08f77363ea9c">hash</a>,</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> uint32_t hashLen);</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="preprocessor">#endif </span><span class="comment">/* SDRV_CRYPTO_RSAPADDING_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="ahash_8h_html_a8bfd6b319c8c63dc065f08f77363ea9c"><div class="ttname"><a href="hash_8h.html#a8bfd6b319c8c63dc065f08f77363ea9c">hash</a></div><div class="ttdeci">uint32_t hash(HASH_ALG hash_alg, uint8_t *msg, uint32_t msg_bytes, uint8_t *digest)</div></div>
<div class="ttc" id="asdrv__crypto__mailbox__common_8h_html"><div class="ttname"><a href="sdrv__crypto__mailbox__common_8h.html">sdrv_crypto_mailbox_common.h</a></div><div class="ttdoc">SemiDrive CRYPTO mailbox common api header file.</div></div>
<div class="ttc" id="asdrv__crypto__mailbox__hash_8h_html"><div class="ttname"><a href="sdrv__crypto__mailbox__hash_8h.html">sdrv_crypto_mailbox_hash.h</a></div><div class="ttdoc">SemiDrive CRYPTO hash interface header file.</div></div>
<div class="ttc" id="asdrv__crypto__mailbox__trng_8h_html"><div class="ttname"><a href="sdrv__crypto__mailbox__trng_8h.html">sdrv_crypto_mailbox_trng.h</a></div><div class="ttdoc">crypto mailbox trng cmd interface</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a00a191136f0af98392d9866dcb08201b"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201b">rsa_padding_mode_e</a></div><div class="ttdeci">rsa_padding_mode_e</div><div class="ttdoc">CRYPTO mode of rsa padding.</div><div class="ttdef"><b>Definition:</b> sdrv_crypto_rsapadding.h:21</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a00a191136f0af98392d9866dcb08201ba72a65a0429e922dbe35bce65435944d5"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201ba72a65a0429e922dbe35bce65435944d5">CRYPTO_ALGOMODE_RSAES_OAEP</a></div><div class="ttdeci">@ CRYPTO_ALGOMODE_RSAES_OAEP</div><div class="ttdef"><b>Definition:</b> sdrv_crypto_rsapadding.h:23</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a00a191136f0af98392d9866dcb08201ba738faa1c717741814c07338672940622"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201ba738faa1c717741814c07338672940622">CRYPTO_ALGOMODE_RSAES_PKCS1_v1_5</a></div><div class="ttdeci">@ CRYPTO_ALGOMODE_RSAES_PKCS1_v1_5</div><div class="ttdef"><b>Definition:</b> sdrv_crypto_rsapadding.h:25</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a00a191136f0af98392d9866dcb08201ba9723717253ec00d2fc4bce6ba15859d4"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201ba9723717253ec00d2fc4bce6ba15859d4">CRYPTO_ALGOMODE_RSASSA_PKCS1_v1_5</a></div><div class="ttdeci">@ CRYPTO_ALGOMODE_RSASSA_PKCS1_v1_5</div><div class="ttdef"><b>Definition:</b> sdrv_crypto_rsapadding.h:29</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a00a191136f0af98392d9866dcb08201bade4bd95e45e8041b2d372c49c15bce2c"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201bade4bd95e45e8041b2d372c49c15bce2c">CRYPTO_ALGOMODE_RSASSA_PSS</a></div><div class="ttdeci">@ CRYPTO_ALGOMODE_RSASSA_PSS</div><div class="ttdef"><b>Definition:</b> sdrv_crypto_rsapadding.h:27</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a00a191136f0af98392d9866dcb08201bae8aa12bba05ea0ed2e459ffc61941c80"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a00a191136f0af98392d9866dcb08201bae8aa12bba05ea0ed2e459ffc61941c80">CRYPTO_ALGOMODE_RSA_NO_PAD</a></div><div class="ttdeci">@ CRYPTO_ALGOMODE_RSA_NO_PAD</div><div class="ttdef"><b>Definition:</b> sdrv_crypto_rsapadding.h:31</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a0e78304bd7277797e315b72408cdc560"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a0e78304bd7277797e315b72408cdc560">rsa_pad_emsa_pss_encode</a></div><div class="ttdeci">sdrv_crypto_error_status_e rsa_pad_emsa_pss_encode(uint32_t emLen, uint32_t hash_alg, uint8_t *EM, uint8_t *hash, uint32_t n0, uint32_t sLen)</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a282d5a4c5d0a2439880215ef1c00b75e"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a282d5a4c5d0a2439880215ef1c00b75e">rsa_pad_emsa_pkcs_encode</a></div><div class="ttdeci">sdrv_crypto_error_status_e rsa_pad_emsa_pkcs_encode(uint32_t emLen, uint32_t hash_type, uint8_t *EM, uint8_t *hash)</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a31934d6bbfea6adac7112ec3f4009d95"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a31934d6bbfea6adac7112ec3f4009d95">rsa_pad_eme_pkcs_encode</a></div><div class="ttdeci">sdrv_crypto_error_status_e rsa_pad_eme_pkcs_encode(uint32_t k, uint8_t *EM, uint8_t *message, uint32_t mLen)</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a34ec11d9f85f16de91d49f7248eb2699"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a34ec11d9f85f16de91d49f7248eb2699">rsa_pad_eme_oaep_encode</a></div><div class="ttdeci">sdrv_crypto_error_status_e rsa_pad_eme_oaep_encode(uint32_t k, uint32_t hash_alg, uint8_t *EM, uint8_t *message, uint32_t mLen)</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a35790252b880451fcbb6a82577d20392"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a35790252b880451fcbb6a82577d20392">rsa_pad_eme_oaep_decode</a></div><div class="ttdeci">sdrv_crypto_error_status_e rsa_pad_eme_oaep_decode(uint32_t k, uint32_t hash_alg, uint8_t *EM, uint8_t **message, uint32_t *mLen)</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_a4f46e0d640bfe9e1e5ce2911f382416f"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#a4f46e0d640bfe9e1e5ce2911f382416f">rsa_pad_zeros</a></div><div class="ttdeci">void rsa_pad_zeros(uint8_t *EM, uint32_t emLen, uint8_t *hash, uint32_t hashLen)</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_ab358f3029c9431f0aca3a2b7e0ff6b9e"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#ab358f3029c9431f0aca3a2b7e0ff6b9e">rsa_pad_emsa_pss_decode</a></div><div class="ttdeci">sdrv_crypto_error_status_e rsa_pad_emsa_pss_decode(uint32_t emLen, uint32_t hash_alg, uint8_t *EM, uint8_t *hash, uint32_t sLen, uint32_t n0)</div></div>
<div class="ttc" id="asdrv__crypto__rsapadding_8h_html_aeca2c6c4b38f8cc55e77ba2b4bd2d8c8"><div class="ttname"><a href="sdrv__crypto__rsapadding_8h.html#aeca2c6c4b38f8cc55e77ba2b4bd2d8c8">rsa_pad_eme_pkcs_decode</a></div><div class="ttdeci">sdrv_crypto_error_status_e rsa_pad_eme_pkcs_decode(uint32_t k, uint8_t *EM, uint8_t **message, uint32_t *mLen)</div></div>
<div class="ttc" id="asdrv__crypto__sharemem_8h_html"><div class="ttname"><a href="sdrv__crypto__sharemem_8h.html">sdrv_crypto_sharemem.h</a></div><div class="ttdoc">crypto sharemem interface</div></div>
<div class="ttc" id="asdrv__crypto__utility_8h_html_aa5bd0c76afac3bcab03732f2e64ab19a"><div class="ttname"><a href="sdrv__crypto__utility_8h.html#aa5bd0c76afac3bcab03732f2e64ab19a">sdrv_crypto_error_status_e</a></div><div class="ttdeci">enum sdrv_crypto_error_status sdrv_crypto_error_status_e</div><div class="ttdoc">CRYPTO error status return codes.</div></div>
</div><!-- fragment --></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>