Files
discoverpixy/stm32f4xx__cryp_8h_source.html
2015-05-12 11:12:43 +02:00

395 lines
66 KiB
HTML

<!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.9.1"/>
<title>discoverpixy: discovery/libs/StmCoreNPheriph/inc/stm32f4xx_cryp.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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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 style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</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_84db96586f7d962b526d6d9627d831c2.html">discovery</a></li><li class="navelem"><a class="el" href="dir_07523c13f04fd35d8848cb17a371cb5b.html">libs</a></li><li class="navelem"><a class="el" href="dir_1d60ba7d807ff336a2be2f2de640bf2b.html">StmCoreNPheriph</a></li><li class="navelem"><a class="el" href="dir_332599425fcd5a03c822271582d4e895.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">stm32f4xx_cryp.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="stm32f4xx__cryp_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">/* Define to prevent recursive inclusion -------------------------------------*/</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef __STM32F4xx_CRYP_H</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define __STM32F4xx_CRYP_H</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment">/* Includes ------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="stm32f4xx_8h.html">stm32f4xx.h</a>&quot;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment">/* Exported types ------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___init_type_def.html"> 53</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;{</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___init_type_def.html#a859e550e027c74a29b2cf3b1a0f0540c"> 55</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___init_type_def.html#a859e550e027c74a29b2cf3b1a0f0540c">CRYP_AlgoDir</a>; </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___init_type_def.html#a626d02342d802cce689b7d8d17ff7968"> 57</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___init_type_def.html#a626d02342d802cce689b7d8d17ff7968">CRYP_AlgoMode</a>; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___init_type_def.html#a4b7b291c5dc9ac49ba890b0a9f5e3b4a"> 60</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___init_type_def.html#a4b7b291c5dc9ac49ba890b0a9f5e3b4a">CRYP_DataType</a>; </div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___init_type_def.html#ac9360e172e3c7fd7a1a79c74c97e5c5c"> 62</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___init_type_def.html#ac9360e172e3c7fd7a1a79c74c97e5c5c">CRYP_KeySize</a>; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}<a class="code" href="struct_c_r_y_p___init_type_def.html">CRYP_InitTypeDef</a>;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___key_init_type_def.html"> 70</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;{</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___key_init_type_def.html#a40168bcf70568a3fbccf282a9a6ef968"> 72</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___key_init_type_def.html#a40168bcf70568a3fbccf282a9a6ef968">CRYP_Key0Left</a>; </div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___key_init_type_def.html#a6c570ac1783582c73862aa8a9ec6c10d"> 73</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___key_init_type_def.html#a6c570ac1783582c73862aa8a9ec6c10d">CRYP_Key0Right</a>; </div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___key_init_type_def.html#aca352f5af09f7d12e38d95e6c29e03bf"> 74</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___key_init_type_def.html#aca352f5af09f7d12e38d95e6c29e03bf">CRYP_Key1Left</a>; </div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___key_init_type_def.html#a08bf87c29a0df961b92f31cf327fdc55"> 75</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___key_init_type_def.html#a08bf87c29a0df961b92f31cf327fdc55">CRYP_Key1Right</a>; </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___key_init_type_def.html#acd33140c0954fda504be5ba5851b217a"> 76</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___key_init_type_def.html#acd33140c0954fda504be5ba5851b217a">CRYP_Key2Left</a>; </div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___key_init_type_def.html#a94dd0a58f91f3b0efc09fe84f6af922d"> 77</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___key_init_type_def.html#a94dd0a58f91f3b0efc09fe84f6af922d">CRYP_Key2Right</a>; </div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___key_init_type_def.html#ae6a251405882c694e0d24a85e6d7222b"> 78</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___key_init_type_def.html#ae6a251405882c694e0d24a85e6d7222b">CRYP_Key3Left</a>; </div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___key_init_type_def.html#afc24dd3ea3e7391f62ce4583ab4ae563"> 79</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___key_init_type_def.html#afc24dd3ea3e7391f62ce4583ab4ae563">CRYP_Key3Right</a>; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}<a class="code" href="struct_c_r_y_p___key_init_type_def.html">CRYP_KeyInitTypeDef</a>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___i_v_init_type_def.html"> 84</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;{</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___i_v_init_type_def.html#a36a3734747b9c32e2cde67cb54be02f8"> 86</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___i_v_init_type_def.html#a36a3734747b9c32e2cde67cb54be02f8">CRYP_IV0Left</a>; </div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___i_v_init_type_def.html#ad7128fb8cf3843c2e0f89cf048cd28d5"> 87</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___i_v_init_type_def.html#ad7128fb8cf3843c2e0f89cf048cd28d5">CRYP_IV0Right</a>; </div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___i_v_init_type_def.html#a5edca0a5d021ee77fcfcdf9e29e27a53"> 88</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___i_v_init_type_def.html#a5edca0a5d021ee77fcfcdf9e29e27a53">CRYP_IV1Left</a>; </div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___i_v_init_type_def.html#a936f532460c581298620960b511aa448"> 89</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___i_v_init_type_def.html#a936f532460c581298620960b511aa448">CRYP_IV1Right</a>; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}<a class="code" href="struct_c_r_y_p___i_v_init_type_def.html">CRYP_IVInitTypeDef</a>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___context.html"> 95</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;{</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___context.html#ad97ea78c779d2b25d640323a0d1c9d1f"> 98</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___context.html#ad97ea78c779d2b25d640323a0d1c9d1f">CR_CurrentConfig</a>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; uint32_t CRYP_IV0LR;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; uint32_t CRYP_IV0RR;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; uint32_t CRYP_IV1LR;</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="struct_c_r_y_p___context.html#aafdd5ed6c7cafe8f45aabc5401501bf7"> 103</a></span>&#160; uint32_t <a class="code" href="struct_c_r_y_p___context.html#aafdd5ed6c7cafe8f45aabc5401501bf7">CRYP_IV1RR</a>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; uint32_t CRYP_K0LR;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; uint32_t CRYP_K0RR;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; uint32_t CRYP_K1LR;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; uint32_t CRYP_K1RR;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; uint32_t CRYP_K2LR;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; uint32_t CRYP_K2RR;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; uint32_t CRYP_K3LR;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; uint32_t CRYP_K3RR;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; uint32_t CRYP_CSGCMCCMR[8];</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; uint32_t CRYP_CSGCMR[8];</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;}<a class="code" href="struct_c_r_y_p___context.html">CRYP_Context</a>;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment">/* Exported constants --------------------------------------------------------*/</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="preprocessor">#define CRYP_AlgoDir_Encrypt ((uint16_t)0x0000)</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="preprocessor">#define CRYP_AlgoDir_Decrypt ((uint16_t)0x0004)</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="preprocessor">#define IS_CRYP_ALGODIR(ALGODIR) (((ALGODIR) == CRYP_AlgoDir_Encrypt) || \</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="preprocessor"> ((ALGODIR) == CRYP_AlgoDir_Decrypt))</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="group___c_r_y_p___algorithm___mode.html#gac032fa07d83dc55d7babd4971d96d3cd"> 141</a></span>&#160;<span class="preprocessor">#define CRYP_AlgoMode_TDES_ECB ((uint32_t)0x00000000)</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="group___c_r_y_p___algorithm___mode.html#ga75c9e649ad171d1ee97b60b237946fc3"> 142</a></span>&#160;<span class="preprocessor">#define CRYP_AlgoMode_TDES_CBC ((uint32_t)0x00000008)</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="preprocessor">#define CRYP_AlgoMode_DES_ECB ((uint32_t)0x00000010)</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="group___c_r_y_p___algorithm___mode.html#ga54e4fe95b772fc6ab6015761d746ef9f"> 146</a></span>&#160;<span class="preprocessor">#define CRYP_AlgoMode_DES_CBC ((uint32_t)0x00000018)</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="preprocessor">#define CRYP_AlgoMode_AES_ECB ((uint32_t)0x00000020)</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="preprocessor">#define CRYP_AlgoMode_AES_CBC ((uint32_t)0x00000028)</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="preprocessor">#define CRYP_AlgoMode_AES_CTR ((uint32_t)0x00000030)</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="preprocessor">#define CRYP_AlgoMode_AES_Key ((uint32_t)0x00000038)</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="preprocessor">#define CRYP_AlgoMode_AES_GCM ((uint32_t)0x00080000)</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="preprocessor">#define CRYP_AlgoMode_AES_CCM ((uint32_t)0x00080008)</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="preprocessor">#define IS_CRYP_ALGOMODE(ALGOMODE) (((ALGOMODE) == CRYP_AlgoMode_TDES_ECB) || \</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="preprocessor"> ((ALGOMODE) == CRYP_AlgoMode_TDES_CBC)|| \</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="preprocessor"> ((ALGOMODE) == CRYP_AlgoMode_DES_ECB) || \</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="preprocessor"> ((ALGOMODE) == CRYP_AlgoMode_DES_CBC) || \</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="preprocessor"> ((ALGOMODE) == CRYP_AlgoMode_AES_ECB) || \</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="preprocessor"> ((ALGOMODE) == CRYP_AlgoMode_AES_CBC) || \</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="preprocessor"> ((ALGOMODE) == CRYP_AlgoMode_AES_CTR) || \</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="preprocessor"> ((ALGOMODE) == CRYP_AlgoMode_AES_Key) || \</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="preprocessor"> ((ALGOMODE) == CRYP_AlgoMode_AES_GCM) || \</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="preprocessor"> ((ALGOMODE) == CRYP_AlgoMode_AES_CCM))</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="group___c_r_y_p___phase.html#gadaafcd6a52ebf69eca475c66edae8614"> 175</a></span>&#160;<span class="preprocessor">#define CRYP_Phase_Init ((uint32_t)0x00000000)</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="preprocessor">#define CRYP_Phase_Header CRYP_CR_GCM_CCMPH_0</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="preprocessor">#define CRYP_Phase_Payload CRYP_CR_GCM_CCMPH_1</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="preprocessor">#define CRYP_Phase_Final CRYP_CR_GCM_CCMPH</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="preprocessor">#define IS_CRYP_PHASE(PHASE) (((PHASE) == CRYP_Phase_Init) || \</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="preprocessor"> ((PHASE) == CRYP_Phase_Header) || \</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="preprocessor"> ((PHASE) == CRYP_Phase_Payload) || \</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="preprocessor"> ((PHASE) == CRYP_Phase_Final))</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="preprocessor">#define CRYP_DataType_32b ((uint16_t)0x0000)</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="preprocessor">#define CRYP_DataType_16b ((uint16_t)0x0040)</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="preprocessor">#define CRYP_DataType_8b ((uint16_t)0x0080)</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="preprocessor">#define CRYP_DataType_1b ((uint16_t)0x00C0)</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="preprocessor">#define IS_CRYP_DATATYPE(DATATYPE) (((DATATYPE) == CRYP_DataType_32b) || \</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="preprocessor"> ((DATATYPE) == CRYP_DataType_16b)|| \</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="preprocessor"> ((DATATYPE) == CRYP_DataType_8b)|| \</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="preprocessor"> ((DATATYPE) == CRYP_DataType_1b)) </span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="preprocessor">#define CRYP_KeySize_128b ((uint16_t)0x0000)</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="preprocessor">#define CRYP_KeySize_192b ((uint16_t)0x0100)</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="preprocessor">#define CRYP_KeySize_256b ((uint16_t)0x0200)</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="preprocessor">#define IS_CRYP_KEYSIZE(KEYSIZE) (((KEYSIZE) == CRYP_KeySize_128b)|| \</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="preprocessor"> ((KEYSIZE) == CRYP_KeySize_192b)|| \</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="preprocessor"> ((KEYSIZE) == CRYP_KeySize_256b))</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div>
<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="group___c_r_y_p__flags__definition.html#ga701f57afbf29f56f57eadc76835008ce"> 220</a></span>&#160;<span class="preprocessor">#define CRYP_FLAG_BUSY ((uint8_t)0x10) </span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="preprocessor">#define CRYP_FLAG_IFEM ((uint8_t)0x01) </span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="preprocessor">#define CRYP_FLAG_IFNF ((uint8_t)0x02) </span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="preprocessor">#define CRYP_FLAG_INRIS ((uint8_t)0x22) </span></div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="group___c_r_y_p__flags__definition.html#gac595f461b1eae355a5f22c6ddbb6b795"> 227</a></span>&#160;<span class="preprocessor">#define CRYP_FLAG_OFNE ((uint8_t)0x04) </span></div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="group___c_r_y_p__flags__definition.html#gae78eb0d13fa041688f4b33479b632232"> 229</a></span>&#160;<span class="preprocessor">#define CRYP_FLAG_OFFU ((uint8_t)0x08) </span></div>
<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="group___c_r_y_p__flags__definition.html#gaa0810704152c5810a2461acdec0cf13d"> 230</a></span>&#160;<span class="preprocessor">#define CRYP_FLAG_OUTRIS ((uint8_t)0x21) </span></div>
<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="group___c_r_y_p__flags__definition.html#ga6dd1f9ebfe8658ade0855f34607e0a6b"> 233</a></span>&#160;<span class="preprocessor">#define IS_CRYP_GET_FLAG(FLAG) (((FLAG) == CRYP_FLAG_IFEM) || \</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="group___c_r_y_p__flags__definition.html#gae6f06dee9a989cfc664be879fed2ded2"> 234</a></span>&#160;<span class="preprocessor"> ((FLAG) == CRYP_FLAG_IFNF) || \</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="preprocessor"> ((FLAG) == CRYP_FLAG_OFNE) || \</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="preprocessor"> ((FLAG) == CRYP_FLAG_OFFU) || \</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="preprocessor"> ((FLAG) == CRYP_FLAG_BUSY) || \</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="preprocessor"> ((FLAG) == CRYP_FLAG_OUTRIS)|| \</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="preprocessor"> ((FLAG) == CRYP_FLAG_INRIS))</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="preprocessor">#define CRYP_IT_INI ((uint8_t)0x01) </span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="preprocessor">#define CRYP_IT_OUTI ((uint8_t)0x02) </span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="preprocessor">#define IS_CRYP_CONFIG_IT(IT) ((((IT) &amp; (uint8_t)0xFC) == 0x00) &amp;&amp; ((IT) != 0x00))</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="preprocessor">#define IS_CRYP_GET_IT(IT) (((IT) == CRYP_IT_INI) || ((IT) == CRYP_IT_OUTI))</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="preprocessor">#define MODE_ENCRYPT ((uint8_t)0x01)</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="preprocessor">#define MODE_DECRYPT ((uint8_t)0x00)</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;<span class="preprocessor">#define CRYP_DMAReq_DataIN ((uint8_t)0x01)</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="preprocessor">#define CRYP_DMAReq_DataOUT ((uint8_t)0x02)</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="preprocessor">#define IS_CRYP_DMAREQ(DMAREQ) ((((DMAREQ) &amp; (uint8_t)0xFC) == 0x00) &amp;&amp; ((DMAREQ) != 0x00))</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="comment">/* Exported macro ------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="comment">/* Exported functions --------------------------------------------------------*/</span></div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="comment">/* Function used to set the CRYP configuration to the default reset state ****/</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#gae19e54c9910b697e38f6c7577704ffae">CRYP_DeInit</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment">/* CRYP Initialization and Configuration functions ****************************/</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#ga7b72c458d95581ab0a36be3e017fcf02">CRYP_Init</a>(<a class="code" href="struct_c_r_y_p___init_type_def.html">CRYP_InitTypeDef</a>* CRYP_InitStruct);</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#ga8fb8ec75fe72d55046c8220825dfe41e">CRYP_StructInit</a>(<a class="code" href="struct_c_r_y_p___init_type_def.html">CRYP_InitTypeDef</a>* CRYP_InitStruct);</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#gad4baa3865415215cae07c9fbfa131cb9">CRYP_KeyInit</a>(<a class="code" href="struct_c_r_y_p___key_init_type_def.html">CRYP_KeyInitTypeDef</a>* CRYP_KeyInitStruct);</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#gaeecd86b00d0d0137d97b06108789bcb2">CRYP_KeyStructInit</a>(<a class="code" href="struct_c_r_y_p___key_init_type_def.html">CRYP_KeyInitTypeDef</a>* CRYP_KeyInitStruct);</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#ga133964b50a07db3a32864308f6355a8b">CRYP_IVInit</a>(<a class="code" href="struct_c_r_y_p___i_v_init_type_def.html">CRYP_IVInitTypeDef</a>* CRYP_IVInitStruct);</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#ga58899074e08bbd65f2ed304cf0f42987">CRYP_IVStructInit</a>(<a class="code" href="struct_c_r_y_p___i_v_init_type_def.html">CRYP_IVInitTypeDef</a>* CRYP_IVInitStruct);</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#gad39ccd9b1f2e088e3a227d7a1c410d7c">CRYP_Cmd</a>(FunctionalState NewState);</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#ga4370106a2baf2b8e6cb360865050a027">CRYP_PhaseConfig</a>(uint32_t CRYP_Phase);</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#ga23ada9d9464e1362299d7612a1409a57">CRYP_FIFOFlush</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;<span class="comment">/* CRYP Data processing functions *********************************************/</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#ga16dc76244318d464357ee6ff208bf9a4">CRYP_DataIn</a>(uint32_t Data);</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;uint32_t <a class="code" href="group___c_r_y_p.html#gacbe5fcf4c7e4919192376fa615588b54">CRYP_DataOut</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="comment">/* CRYP Context swapping functions ********************************************/</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;ErrorStatus <a class="code" href="group___c_r_y_p.html#ga41a14be7fa43d500e7c94cce40910ea8">CRYP_SaveContext</a>(<a class="code" href="struct_c_r_y_p___context.html">CRYP_Context</a>* CRYP_ContextSave,</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <a class="code" href="struct_c_r_y_p___key_init_type_def.html">CRYP_KeyInitTypeDef</a>* CRYP_KeyInitStruct);</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#gaf2986782fa66ea95b2a389595e17e0e5">CRYP_RestoreContext</a>(<a class="code" href="struct_c_r_y_p___context.html">CRYP_Context</a>* CRYP_ContextRestore);</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;<span class="comment">/* CRYP DMA interface function ************************************************/</span></div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#ga111d0ec56facb27f8367ce6a33869115">CRYP_DMACmd</a>(uint8_t CRYP_DMAReq, FunctionalState NewState);</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;<span class="comment">/* Interrupts and flags management functions **********************************/</span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___c_r_y_p.html#gafbf5ee5f2c3ae4404149a994e15b33d8">CRYP_ITConfig</a>(uint8_t CRYP_IT, FunctionalState NewState);</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;ITStatus <a class="code" href="group___c_r_y_p.html#ga00a48b748ed127fa517cacec9dbf18f4">CRYP_GetITStatus</a>(uint8_t CRYP_IT);</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;FunctionalState <a class="code" href="group___c_r_y_p.html#gabe26186adf64660a4a573bd6a4368fee">CRYP_GetCmdStatus</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;FlagStatus <a class="code" href="group___c_r_y_p.html#ga993d568b626a74b2973d4a6848a681f6">CRYP_GetFlagStatus</a>(uint8_t CRYP_FLAG);</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;<span class="comment">/* High Level AES functions **************************************************/</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;ErrorStatus <a class="code" href="group___c_r_y_p.html#ga79ff82ece0e9620dc86d6e57abe639e1">CRYP_AES_ECB</a>(uint8_t Mode,</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; uint8_t *Key, uint16_t Keysize,</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; uint8_t *Input, uint32_t Ilength,</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; uint8_t *Output);</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;ErrorStatus <a class="code" href="group___c_r_y_p.html#gaa43eadf707257710f6a53b3295b39d70">CRYP_AES_CBC</a>(uint8_t Mode,</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; uint8_t InitVectors[16],</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; uint8_t *Key, uint16_t Keysize,</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; uint8_t *Input, uint32_t Ilength,</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; uint8_t *Output);</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;ErrorStatus <a class="code" href="group___c_r_y_p.html#ga2f36aea6e94452e5e5e938547fb89d4c">CRYP_AES_CTR</a>(uint8_t Mode,</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; uint8_t InitVectors[16],</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; uint8_t *Key, uint16_t Keysize,</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; uint8_t *Input, uint32_t Ilength,</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; uint8_t *Output);</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;ErrorStatus <a class="code" href="group___c_r_y_p.html#ga74b48d820c5c360eb303fc2fb78af055">CRYP_AES_GCM</a>(uint8_t Mode, uint8_t InitVectors[16],</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; uint8_t *Key, uint16_t Keysize,</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; uint8_t *Input, uint32_t ILength,</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; uint8_t *Header, uint32_t HLength,</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; uint8_t *Output, uint8_t *AuthTAG);</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;ErrorStatus <a class="code" href="group___c_r_y_p.html#ga9d9f5c74b634b85b7aa8c2a2ea0bcd51">CRYP_AES_CCM</a>(uint8_t Mode, </div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; uint8_t* Nonce, uint32_t NonceSize,</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; uint8_t* Key, uint16_t Keysize,</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; uint8_t* Input, uint32_t ILength,</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; uint8_t* Header, uint32_t HLength, uint8_t *HBuffer,</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; uint8_t* Output,</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; uint8_t* AuthTAG, uint32_t TAGSize);</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="comment">/* High Level TDES functions **************************************************/</span></div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;ErrorStatus <a class="code" href="group___c_r_y_p.html#ga17c03ab4f0566fcbc3dd8c052e6f9886">CRYP_TDES_ECB</a>(uint8_t Mode,</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; uint8_t Key[24], </div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; uint8_t *Input, uint32_t Ilength,</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; uint8_t *Output);</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;ErrorStatus <a class="code" href="group___c_r_y_p.html#gabe52a368c4882450c1e82f16bc1eb686">CRYP_TDES_CBC</a>(uint8_t Mode,</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; uint8_t Key[24],</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; uint8_t InitVectors[8],</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; uint8_t *Input, uint32_t Ilength,</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; uint8_t *Output);</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="comment">/* High Level DES functions **************************************************/</span></div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;ErrorStatus <a class="code" href="group___c_r_y_p.html#ga3b96b7608b39197209abed5f5845f590">CRYP_DES_ECB</a>(uint8_t Mode,</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; uint8_t Key[8],</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; uint8_t *Input, uint32_t Ilength,</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; uint8_t *Output);</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;ErrorStatus <a class="code" href="group___c_r_y_p.html#ga75724391a8560c557e1152b805f5cad1">CRYP_DES_CBC</a>(uint8_t Mode,</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; uint8_t Key[8],</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; uint8_t InitVectors[8],</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; uint8_t *Input,uint32_t Ilength,</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; uint8_t *Output);</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;}</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/*__STM32F4xx_CRYP_H */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;<span class="comment">/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/</span></div>
<div class="ttc" id="struct_c_r_y_p___context_html"><div class="ttname"><a href="struct_c_r_y_p___context.html">CRYP_Context</a></div><div class="ttdoc">CRYP context swapping structure definition. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:95</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga58899074e08bbd65f2ed304cf0f42987"><div class="ttname"><a href="group___c_r_y_p.html#ga58899074e08bbd65f2ed304cf0f42987">CRYP_IVStructInit</a></div><div class="ttdeci">void CRYP_IVStructInit(CRYP_IVInitTypeDef *CRYP_IVInitStruct)</div><div class="ttdoc">Fills each CRYP_IVInitStruct member with its default value. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:347</div></div>
<div class="ttc" id="struct_c_r_y_p___key_init_type_def_html"><div class="ttname"><a href="struct_c_r_y_p___key_init_type_def.html">CRYP_KeyInitTypeDef</a></div><div class="ttdoc">CRYP Key(s) structure definition. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:70</div></div>
<div class="ttc" id="group___c_r_y_p_html_gad4baa3865415215cae07c9fbfa131cb9"><div class="ttname"><a href="group___c_r_y_p.html#gad4baa3865415215cae07c9fbfa131cb9">CRYP_KeyInit</a></div><div class="ttdeci">void CRYP_KeyInit(CRYP_KeyInitTypeDef *CRYP_KeyInitStruct)</div><div class="ttdoc">Initializes the CRYP Keys according to the specified parameters in the CRYP_KeyInitStruct. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:296</div></div>
<div class="ttc" id="struct_c_r_y_p___key_init_type_def_html_acd33140c0954fda504be5ba5851b217a"><div class="ttname"><a href="struct_c_r_y_p___key_init_type_def.html#acd33140c0954fda504be5ba5851b217a">CRYP_KeyInitTypeDef::CRYP_Key2Left</a></div><div class="ttdeci">uint32_t CRYP_Key2Left</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:76</div></div>
<div class="ttc" id="struct_c_r_y_p___init_type_def_html_a626d02342d802cce689b7d8d17ff7968"><div class="ttname"><a href="struct_c_r_y_p___init_type_def.html#a626d02342d802cce689b7d8d17ff7968">CRYP_InitTypeDef::CRYP_AlgoMode</a></div><div class="ttdeci">uint32_t CRYP_AlgoMode</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:57</div></div>
<div class="ttc" id="struct_c_r_y_p___i_v_init_type_def_html_ad7128fb8cf3843c2e0f89cf048cd28d5"><div class="ttname"><a href="struct_c_r_y_p___i_v_init_type_def.html#ad7128fb8cf3843c2e0f89cf048cd28d5">CRYP_IVInitTypeDef::CRYP_IV0Right</a></div><div class="ttdeci">uint32_t CRYP_IV0Right</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:87</div></div>
<div class="ttc" id="struct_c_r_y_p___key_init_type_def_html_aca352f5af09f7d12e38d95e6c29e03bf"><div class="ttname"><a href="struct_c_r_y_p___key_init_type_def.html#aca352f5af09f7d12e38d95e6c29e03bf">CRYP_KeyInitTypeDef::CRYP_Key1Left</a></div><div class="ttdeci">uint32_t CRYP_Key1Left</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:74</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga9d9f5c74b634b85b7aa8c2a2ea0bcd51"><div class="ttname"><a href="group___c_r_y_p.html#ga9d9f5c74b634b85b7aa8c2a2ea0bcd51">CRYP_AES_CCM</a></div><div class="ttdeci">ErrorStatus CRYP_AES_CCM(uint8_t Mode, uint8_t *Nonce, uint32_t NonceSize, uint8_t *Key, uint16_t Keysize, uint8_t *Input, uint32_t ILength, uint8_t *Header, uint32_t HLength, uint8_t *HBuffer, uint8_t *Output, uint8_t *AuthTAG, uint32_t TAGSize)</div><div class="ttdoc">Encrypt and decrypt using AES in CCM Mode. The GCM and CCM modes are available only on STM32F437x Dev...</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp_aes.c:1135</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga3b96b7608b39197209abed5f5845f590"><div class="ttname"><a href="group___c_r_y_p.html#ga3b96b7608b39197209abed5f5845f590">CRYP_DES_ECB</a></div><div class="ttdeci">ErrorStatus CRYP_DES_ECB(uint8_t Mode, uint8_t Key[8], uint8_t *Input, uint32_t Ilength, uint8_t *Output)</div><div class="ttdoc">Encrypt and decrypt using DES in ECB Mode. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp_des.c:99</div></div>
<div class="ttc" id="group___c_r_y_p_html_gafbf5ee5f2c3ae4404149a994e15b33d8"><div class="ttname"><a href="group___c_r_y_p.html#gafbf5ee5f2c3ae4404149a994e15b33d8">CRYP_ITConfig</a></div><div class="ttdeci">void CRYP_ITConfig(uint8_t CRYP_IT, FunctionalState NewState)</div><div class="ttdoc">Enables or disables the specified CRYP interrupts. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:799</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga00a48b748ed127fa517cacec9dbf18f4"><div class="ttname"><a href="group___c_r_y_p.html#ga00a48b748ed127fa517cacec9dbf18f4">CRYP_GetITStatus</a></div><div class="ttdeci">ITStatus CRYP_GetITStatus(uint8_t CRYP_IT)</div><div class="ttdoc">Checks whether the specified CRYP interrupt has occurred or not. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:827</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga111d0ec56facb27f8367ce6a33869115"><div class="ttname"><a href="group___c_r_y_p.html#ga111d0ec56facb27f8367ce6a33869115">CRYP_DMACmd</a></div><div class="ttdeci">void CRYP_DMACmd(uint8_t CRYP_DMAReq, FunctionalState NewState)</div><div class="ttdoc">Enables or disables the CRYP DMA interface. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:681</div></div>
<div class="ttc" id="stm32f4xx_8h_html"><div class="ttname"><a href="stm32f4xx_8h.html">stm32f4xx.h</a></div><div class="ttdoc">CMSIS Cortex-M4 Device Peripheral Access Layer Header File. This file contains all the peripheral reg...</div></div>
<div class="ttc" id="group___c_r_y_p_html_gae19e54c9910b697e38f6c7577704ffae"><div class="ttname"><a href="group___c_r_y_p.html#gae19e54c9910b697e38f6c7577704ffae">CRYP_DeInit</a></div><div class="ttdeci">void CRYP_DeInit(void)</div><div class="ttdoc">Deinitializes the CRYP peripheral registers to their default reset values. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:219</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga4370106a2baf2b8e6cb360865050a027"><div class="ttname"><a href="group___c_r_y_p.html#ga4370106a2baf2b8e6cb360865050a027">CRYP_PhaseConfig</a></div><div class="ttdeci">void CRYP_PhaseConfig(uint32_t CRYP_Phase)</div><div class="ttdoc">Configures the AES-CCM and AES-GCM phases. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:366</div></div>
<div class="ttc" id="struct_c_r_y_p___init_type_def_html_a859e550e027c74a29b2cf3b1a0f0540c"><div class="ttname"><a href="struct_c_r_y_p___init_type_def.html#a859e550e027c74a29b2cf3b1a0f0540c">CRYP_InitTypeDef::CRYP_AlgoDir</a></div><div class="ttdeci">uint32_t CRYP_AlgoDir</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:55</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga74b48d820c5c360eb303fc2fb78af055"><div class="ttname"><a href="group___c_r_y_p.html#ga74b48d820c5c360eb303fc2fb78af055">CRYP_AES_GCM</a></div><div class="ttdeci">ErrorStatus CRYP_AES_GCM(uint8_t Mode, uint8_t InitVectors[16], uint8_t *Key, uint16_t Keysize, uint8_t *Input, uint32_t ILength, uint8_t *Header, uint32_t HLength, uint8_t *Output, uint8_t *AuthTAG)</div><div class="ttdoc">Encrypt and decrypt using AES in GCM Mode. The GCM and CCM modes are available only on STM32F437x Dev...</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp_aes.c:670</div></div>
<div class="ttc" id="struct_c_r_y_p___i_v_init_type_def_html_a936f532460c581298620960b511aa448"><div class="ttname"><a href="struct_c_r_y_p___i_v_init_type_def.html#a936f532460c581298620960b511aa448">CRYP_IVInitTypeDef::CRYP_IV1Right</a></div><div class="ttdeci">uint32_t CRYP_IV1Right</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:89</div></div>
<div class="ttc" id="group___c_r_y_p_html_gad39ccd9b1f2e088e3a227d7a1c410d7c"><div class="ttname"><a href="group___c_r_y_p.html#gad39ccd9b1f2e088e3a227d7a1c410d7c">CRYP_Cmd</a></div><div class="ttdeci">void CRYP_Cmd(FunctionalState NewState)</div><div class="ttdoc">Enables or disables the CRYP peripheral. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:403</div></div>
<div class="ttc" id="struct_c_r_y_p___key_init_type_def_html_afc24dd3ea3e7391f62ce4583ab4ae563"><div class="ttname"><a href="struct_c_r_y_p___key_init_type_def.html#afc24dd3ea3e7391f62ce4583ab4ae563">CRYP_KeyInitTypeDef::CRYP_Key3Right</a></div><div class="ttdeci">uint32_t CRYP_Key3Right</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:79</div></div>
<div class="ttc" id="group___c_r_y_p_html_gacbe5fcf4c7e4919192376fa615588b54"><div class="ttname"><a href="group___c_r_y_p.html#gacbe5fcf4c7e4919192376fa615588b54">CRYP_DataOut</a></div><div class="ttdeci">uint32_t CRYP_DataOut(void)</div><div class="ttdoc">Returns the last data entered into the output FIFO. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:456</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga133964b50a07db3a32864308f6355a8b"><div class="ttname"><a href="group___c_r_y_p.html#ga133964b50a07db3a32864308f6355a8b">CRYP_IVInit</a></div><div class="ttdeci">void CRYP_IVInit(CRYP_IVInitTypeDef *CRYP_IVInitStruct)</div><div class="ttdoc">Initializes the CRYP Initialization Vectors(IV) according to the specified parameters in the CRYP_IVI...</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:333</div></div>
<div class="ttc" id="group___c_r_y_p_html_gabe52a368c4882450c1e82f16bc1eb686"><div class="ttname"><a href="group___c_r_y_p.html#gabe52a368c4882450c1e82f16bc1eb686">CRYP_TDES_CBC</a></div><div class="ttdeci">ErrorStatus CRYP_TDES_CBC(uint8_t Mode, uint8_t Key[24], uint8_t InitVectors[8], uint8_t *Input, uint32_t Ilength, uint8_t *Output)</div><div class="ttdoc">Encrypt and decrypt using TDES in CBC Mode. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp_tdes.c:208</div></div>
<div class="ttc" id="struct_c_r_y_p___init_type_def_html_a4b7b291c5dc9ac49ba890b0a9f5e3b4a"><div class="ttname"><a href="struct_c_r_y_p___init_type_def.html#a4b7b291c5dc9ac49ba890b0a9f5e3b4a">CRYP_InitTypeDef::CRYP_DataType</a></div><div class="ttdeci">uint32_t CRYP_DataType</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:60</div></div>
<div class="ttc" id="group___c_r_y_p_html_gaeecd86b00d0d0137d97b06108789bcb2"><div class="ttname"><a href="group___c_r_y_p.html#gaeecd86b00d0d0137d97b06108789bcb2">CRYP_KeyStructInit</a></div><div class="ttdeci">void CRYP_KeyStructInit(CRYP_KeyInitTypeDef *CRYP_KeyInitStruct)</div><div class="ttdoc">Fills each CRYP_KeyInitStruct member with its default value. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:315</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga16dc76244318d464357ee6ff208bf9a4"><div class="ttname"><a href="group___c_r_y_p.html#ga16dc76244318d464357ee6ff208bf9a4">CRYP_DataIn</a></div><div class="ttdeci">void CRYP_DataIn(uint32_t Data)</div><div class="ttdoc">Writes data in the Data Input register (DIN). </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:446</div></div>
<div class="ttc" id="struct_c_r_y_p___key_init_type_def_html_a08bf87c29a0df961b92f31cf327fdc55"><div class="ttname"><a href="struct_c_r_y_p___key_init_type_def.html#a08bf87c29a0df961b92f31cf327fdc55">CRYP_KeyInitTypeDef::CRYP_Key1Right</a></div><div class="ttdeci">uint32_t CRYP_Key1Right</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:75</div></div>
<div class="ttc" id="struct_c_r_y_p___key_init_type_def_html_a6c570ac1783582c73862aa8a9ec6c10d"><div class="ttname"><a href="struct_c_r_y_p___key_init_type_def.html#a6c570ac1783582c73862aa8a9ec6c10d">CRYP_KeyInitTypeDef::CRYP_Key0Right</a></div><div class="ttdeci">uint32_t CRYP_Key0Right</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:73</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga2f36aea6e94452e5e5e938547fb89d4c"><div class="ttname"><a href="group___c_r_y_p.html#ga2f36aea6e94452e5e5e938547fb89d4c">CRYP_AES_CTR</a></div><div class="ttdeci">ErrorStatus CRYP_AES_CTR(uint8_t Mode, uint8_t InitVectors[16], uint8_t *Key, uint16_t Keysize, uint8_t *Input, uint32_t Ilength, uint8_t *Output)</div><div class="ttdoc">Encrypt and decrypt using AES in CTR Mode. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp_aes.c:496</div></div>
<div class="ttc" id="struct_c_r_y_p___key_init_type_def_html_a94dd0a58f91f3b0efc09fe84f6af922d"><div class="ttname"><a href="struct_c_r_y_p___key_init_type_def.html#a94dd0a58f91f3b0efc09fe84f6af922d">CRYP_KeyInitTypeDef::CRYP_Key2Right</a></div><div class="ttdeci">uint32_t CRYP_Key2Right</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:77</div></div>
<div class="ttc" id="group___c_r_y_p_html_gaf2986782fa66ea95b2a389595e17e0e5"><div class="ttname"><a href="group___c_r_y_p.html#gaf2986782fa66ea95b2a389595e17e0e5">CRYP_RestoreContext</a></div><div class="ttdeci">void CRYP_RestoreContext(CRYP_Context *CRYP_ContextRestore)</div><div class="ttdoc">Restores the CRYP peripheral Context. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:602</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga993d568b626a74b2973d4a6848a681f6"><div class="ttname"><a href="group___c_r_y_p.html#ga993d568b626a74b2973d4a6848a681f6">CRYP_GetFlagStatus</a></div><div class="ttdeci">FlagStatus CRYP_GetFlagStatus(uint8_t CRYP_FLAG)</div><div class="ttdoc">Checks whether the specified CRYP flag is set or not. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:883</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga7b72c458d95581ab0a36be3e017fcf02"><div class="ttname"><a href="group___c_r_y_p.html#ga7b72c458d95581ab0a36be3e017fcf02">CRYP_Init</a></div><div class="ttdeci">void CRYP_Init(CRYP_InitTypeDef *CRYP_InitStruct)</div><div class="ttdoc">Initializes the CRYP peripheral according to the specified parameters in the CRYP_InitStruct. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:235</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga75724391a8560c557e1152b805f5cad1"><div class="ttname"><a href="group___c_r_y_p.html#ga75724391a8560c557e1152b805f5cad1">CRYP_DES_CBC</a></div><div class="ttdeci">ErrorStatus CRYP_DES_CBC(uint8_t Mode, uint8_t Key[8], uint8_t InitVectors[8], uint8_t *Input, uint32_t Ilength, uint8_t *Output)</div><div class="ttdoc">Encrypt and decrypt using DES in CBC Mode. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp_des.c:200</div></div>
<div class="ttc" id="struct_c_r_y_p___i_v_init_type_def_html_a36a3734747b9c32e2cde67cb54be02f8"><div class="ttname"><a href="struct_c_r_y_p___i_v_init_type_def.html#a36a3734747b9c32e2cde67cb54be02f8">CRYP_IVInitTypeDef::CRYP_IV0Left</a></div><div class="ttdeci">uint32_t CRYP_IV0Left</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:86</div></div>
<div class="ttc" id="struct_c_r_y_p___i_v_init_type_def_html"><div class="ttname"><a href="struct_c_r_y_p___i_v_init_type_def.html">CRYP_IVInitTypeDef</a></div><div class="ttdoc">CRYP Initialization Vectors (IV) structure definition. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:84</div></div>
<div class="ttc" id="struct_c_r_y_p___key_init_type_def_html_a40168bcf70568a3fbccf282a9a6ef968"><div class="ttname"><a href="struct_c_r_y_p___key_init_type_def.html#a40168bcf70568a3fbccf282a9a6ef968">CRYP_KeyInitTypeDef::CRYP_Key0Left</a></div><div class="ttdeci">uint32_t CRYP_Key0Left</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:72</div></div>
<div class="ttc" id="struct_c_r_y_p___context_html_ad97ea78c779d2b25d640323a0d1c9d1f"><div class="ttname"><a href="struct_c_r_y_p___context.html#ad97ea78c779d2b25d640323a0d1c9d1f">CRYP_Context::CR_CurrentConfig</a></div><div class="ttdeci">uint32_t CR_CurrentConfig</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:98</div></div>
<div class="ttc" id="struct_c_r_y_p___key_init_type_def_html_ae6a251405882c694e0d24a85e6d7222b"><div class="ttname"><a href="struct_c_r_y_p___key_init_type_def.html#ae6a251405882c694e0d24a85e6d7222b">CRYP_KeyInitTypeDef::CRYP_Key3Left</a></div><div class="ttdeci">uint32_t CRYP_Key3Left</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:78</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga79ff82ece0e9620dc86d6e57abe639e1"><div class="ttname"><a href="group___c_r_y_p.html#ga79ff82ece0e9620dc86d6e57abe639e1">CRYP_AES_ECB</a></div><div class="ttdeci">ErrorStatus CRYP_AES_ECB(uint8_t Mode, uint8_t *Key, uint16_t Keysize, uint8_t *Input, uint32_t Ilength, uint8_t *Output)</div><div class="ttdoc">Encrypt and decrypt using AES in ECB Mode. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp_aes.c:106</div></div>
<div class="ttc" id="group___c_r_y_p_html_gaa43eadf707257710f6a53b3295b39d70"><div class="ttname"><a href="group___c_r_y_p.html#gaa43eadf707257710f6a53b3295b39d70">CRYP_AES_CBC</a></div><div class="ttdeci">ErrorStatus CRYP_AES_CBC(uint8_t Mode, uint8_t InitVectors[16], uint8_t *Key, uint16_t Keysize, uint8_t *Input, uint32_t Ilength, uint8_t *Output)</div><div class="ttdoc">Encrypt and decrypt using AES in CBC Mode. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp_aes.c:294</div></div>
<div class="ttc" id="struct_c_r_y_p___i_v_init_type_def_html_a5edca0a5d021ee77fcfcdf9e29e27a53"><div class="ttname"><a href="struct_c_r_y_p___i_v_init_type_def.html#a5edca0a5d021ee77fcfcdf9e29e27a53">CRYP_IVInitTypeDef::CRYP_IV1Left</a></div><div class="ttdeci">uint32_t CRYP_IV1Left</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:88</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga17c03ab4f0566fcbc3dd8c052e6f9886"><div class="ttname"><a href="group___c_r_y_p.html#ga17c03ab4f0566fcbc3dd8c052e6f9886">CRYP_TDES_ECB</a></div><div class="ttdeci">ErrorStatus CRYP_TDES_ECB(uint8_t Mode, uint8_t Key[24], uint8_t *Input, uint32_t Ilength, uint8_t *Output)</div><div class="ttdoc">Encrypt and decrypt using TDES in ECB Mode. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp_tdes.c:100</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga23ada9d9464e1362299d7612a1409a57"><div class="ttname"><a href="group___c_r_y_p.html#ga23ada9d9464e1362299d7612a1409a57">CRYP_FIFOFlush</a></div><div class="ttdeci">void CRYP_FIFOFlush(void)</div><div class="ttdoc">Flushes the IN and OUT FIFOs (that is read and write pointers of the FIFOs are reset) ...</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:391</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga8fb8ec75fe72d55046c8220825dfe41e"><div class="ttname"><a href="group___c_r_y_p.html#ga8fb8ec75fe72d55046c8220825dfe41e">CRYP_StructInit</a></div><div class="ttdeci">void CRYP_StructInit(CRYP_InitTypeDef *CRYP_InitStruct)</div><div class="ttdoc">Fills each CRYP_InitStruct member with its default value. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:274</div></div>
<div class="ttc" id="struct_c_r_y_p___init_type_def_html_ac9360e172e3c7fd7a1a79c74c97e5c5c"><div class="ttname"><a href="struct_c_r_y_p___init_type_def.html#ac9360e172e3c7fd7a1a79c74c97e5c5c">CRYP_InitTypeDef::CRYP_KeySize</a></div><div class="ttdeci">uint32_t CRYP_KeySize</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:62</div></div>
<div class="ttc" id="struct_c_r_y_p___init_type_def_html"><div class="ttname"><a href="struct_c_r_y_p___init_type_def.html">CRYP_InitTypeDef</a></div><div class="ttdoc">CRYP Init structure definition. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:53</div></div>
<div class="ttc" id="group___c_r_y_p_html_gabe26186adf64660a4a573bd6a4368fee"><div class="ttname"><a href="group___c_r_y_p.html#gabe26186adf64660a4a573bd6a4368fee">CRYP_GetCmdStatus</a></div><div class="ttdeci">FunctionalState CRYP_GetCmdStatus(void)</div><div class="ttdoc">Returns whether CRYP peripheral is enabled or disabled. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:853</div></div>
<div class="ttc" id="group___c_r_y_p_html_ga41a14be7fa43d500e7c94cce40910ea8"><div class="ttname"><a href="group___c_r_y_p.html#ga41a14be7fa43d500e7c94cce40910ea8">CRYP_SaveContext</a></div><div class="ttdeci">ErrorStatus CRYP_SaveContext(CRYP_Context *CRYP_ContextSave, CRYP_KeyInitTypeDef *CRYP_KeyInitStruct)</div><div class="ttdoc">Saves the CRYP peripheral Context. </div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.c:497</div></div>
<div class="ttc" id="struct_c_r_y_p___context_html_aafdd5ed6c7cafe8f45aabc5401501bf7"><div class="ttname"><a href="struct_c_r_y_p___context.html#aafdd5ed6c7cafe8f45aabc5401501bf7">CRYP_Context::CRYP_IV1RR</a></div><div class="ttdeci">uint32_t CRYP_IV1RR</div><div class="ttdef"><b>Definition:</b> stm32f4xx_cryp.h:103</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun May 10 2015 15:15:17 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>