Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-updates > by-pkgid > f835bee5b8b7ec08e20fae17cab51e63 > files > 77

lib64mbedtls-devel-2.7.3-1.mga6.x86_64.rpm

<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mbed TLS v2.7.3: aes.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">mbed TLS v2.7.3
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b4d146e9a6d8dd56ed4afb2480a97fd3.html">mbedtls</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">aes.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The Advanced Encryption Standard (AES) specifies a FIPS-approved cryptographic algorithm that can be used to protect electronic data.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="config_8h_source.html">config.h</a>&quot;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for aes.h:</div>
<div class="dyncontent">
<div class="center"><img src="aes_8h__incl.png" border="0" usemap="#aes_8h" alt=""/></div>
<map name="aes_8h" id="aes_8h">
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="aes_8h__dep__incl.png" border="0" usemap="#aes_8hdep" alt=""/></div>
<map name="aes_8hdep" id="aes_8hdep">
</map>
</div>
</div>
<p><a href="aes_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The AES context-type definition.  <a href="structmbedtls__aes__context.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ace4e123be5bb40b2adfdc4cb4f4750c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#ace4e123be5bb40b2adfdc4cb4f4750c8">MBEDTLS_AES_ENCRYPT</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ace4e123be5bb40b2adfdc4cb4f4750c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac21fbdd76fa7c6f3f87dc5eb7b5b30f8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#ac21fbdd76fa7c6f3f87dc5eb7b5b30f8">MBEDTLS_AES_DECRYPT</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ac21fbdd76fa7c6f3f87dc5eb7b5b30f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4506452f9cd9a317327b2b1ce9b1bf59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a4506452f9cd9a317327b2b1ce9b1bf59">MBEDTLS_ERR_AES_INVALID_KEY_LENGTH</a>&#160;&#160;&#160;-0x0020</td></tr>
<tr class="separator:a4506452f9cd9a317327b2b1ce9b1bf59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac46465e53bd0fc9dcd79cb90965e3571"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#ac46465e53bd0fc9dcd79cb90965e3571">MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH</a>&#160;&#160;&#160;-0x0022</td></tr>
<tr class="separator:ac46465e53bd0fc9dcd79cb90965e3571"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a068dd89bb8f024d1be112b8af1b54fc3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a068dd89bb8f024d1be112b8af1b54fc3">MBEDTLS_ERR_AES_FEATURE_UNAVAILABLE</a>&#160;&#160;&#160;-0x0023</td></tr>
<tr class="separator:a068dd89bb8f024d1be112b8af1b54fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a155b9a313a7ba1ebb5649186e0a357c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a155b9a313a7ba1ebb5649186e0a357c5">MBEDTLS_ERR_AES_HW_ACCEL_FAILED</a>&#160;&#160;&#160;-0x0025</td></tr>
<tr class="separator:a155b9a313a7ba1ebb5649186e0a357c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9f53b232ef244efb301233d111930dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a></td></tr>
<tr class="separator:aa9f53b232ef244efb301233d111930dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa72dac8d698ab861843ef74ce8ebf62c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#aa72dac8d698ab861843ef74ce8ebf62c">mbedtls_aes_init</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx)</td></tr>
<tr class="memdesc:aa72dac8d698ab861843ef74ce8ebf62c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the specified AES context.  <a href="#aa72dac8d698ab861843ef74ce8ebf62c">More...</a><br /></td></tr>
<tr class="separator:aa72dac8d698ab861843ef74ce8ebf62c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1424ff458ff2ed765d37b620aae4882"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#ad1424ff458ff2ed765d37b620aae4882">mbedtls_aes_free</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx)</td></tr>
<tr class="memdesc:ad1424ff458ff2ed765d37b620aae4882"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function releases and clears the specified AES context.  <a href="#ad1424ff458ff2ed765d37b620aae4882">More...</a><br /></td></tr>
<tr class="separator:ad1424ff458ff2ed765d37b620aae4882"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acec17c6592b98876106d035c372b1efa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#acec17c6592b98876106d035c372b1efa">mbedtls_aes_setkey_enc</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, const unsigned char *key, unsigned int keybits)</td></tr>
<tr class="memdesc:acec17c6592b98876106d035c372b1efa"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the encryption key.  <a href="#acec17c6592b98876106d035c372b1efa">More...</a><br /></td></tr>
<tr class="separator:acec17c6592b98876106d035c372b1efa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11580b789634605dd57e425eadb56617"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a11580b789634605dd57e425eadb56617">mbedtls_aes_setkey_dec</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, const unsigned char *key, unsigned int keybits)</td></tr>
<tr class="memdesc:a11580b789634605dd57e425eadb56617"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the decryption key.  <a href="#a11580b789634605dd57e425eadb56617">More...</a><br /></td></tr>
<tr class="separator:a11580b789634605dd57e425eadb56617"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e59fdda18a145e702984268b9ab291a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a0e59fdda18a145e702984268b9ab291a">mbedtls_aes_crypt_ecb</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, int mode, const unsigned char input[16], unsigned char output[16])</td></tr>
<tr class="memdesc:a0e59fdda18a145e702984268b9ab291a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs an AES single-block encryption or decryption operation.  <a href="#a0e59fdda18a145e702984268b9ab291a">More...</a><br /></td></tr>
<tr class="separator:a0e59fdda18a145e702984268b9ab291a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a321834eafbf0dacb36dac343bfd6b35d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a321834eafbf0dacb36dac343bfd6b35d">mbedtls_aes_crypt_cbc</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, int mode, size_t length, unsigned char iv[16], const unsigned char *input, unsigned char *output)</td></tr>
<tr class="memdesc:a321834eafbf0dacb36dac343bfd6b35d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs an AES-CBC encryption or decryption operation on full blocks.  <a href="#a321834eafbf0dacb36dac343bfd6b35d">More...</a><br /></td></tr>
<tr class="separator:a321834eafbf0dacb36dac343bfd6b35d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a944946adabbc344f2c6cf6e6f51a21e3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a944946adabbc344f2c6cf6e6f51a21e3">mbedtls_aes_crypt_cfb128</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, int mode, size_t length, size_t *iv_off, unsigned char iv[16], const unsigned char *input, unsigned char *output)</td></tr>
<tr class="memdesc:a944946adabbc344f2c6cf6e6f51a21e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs an AES-CFB128 encryption or decryption operation.  <a href="#a944946adabbc344f2c6cf6e6f51a21e3">More...</a><br /></td></tr>
<tr class="separator:a944946adabbc344f2c6cf6e6f51a21e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9abf42a70f835ca9d9f62350d497e465"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a9abf42a70f835ca9d9f62350d497e465">mbedtls_aes_crypt_cfb8</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, int mode, size_t length, unsigned char iv[16], const unsigned char *input, unsigned char *output)</td></tr>
<tr class="memdesc:a9abf42a70f835ca9d9f62350d497e465"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs an AES-CFB8 encryption or decryption operation.  <a href="#a9abf42a70f835ca9d9f62350d497e465">More...</a><br /></td></tr>
<tr class="separator:a9abf42a70f835ca9d9f62350d497e465"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a375c98cba4c5806d3a39c7d1e1e226da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a375c98cba4c5806d3a39c7d1e1e226da">mbedtls_aes_crypt_ctr</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, size_t length, size_t *nc_off, unsigned char nonce_counter[16], unsigned char stream_block[16], const unsigned char *input, unsigned char *output)</td></tr>
<tr class="memdesc:a375c98cba4c5806d3a39c7d1e1e226da"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs an AES-CTR encryption or decryption operation.  <a href="#a375c98cba4c5806d3a39c7d1e1e226da">More...</a><br /></td></tr>
<tr class="separator:a375c98cba4c5806d3a39c7d1e1e226da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78da421a44bb3e01a3e2d2e98f989a28"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a78da421a44bb3e01a3e2d2e98f989a28">mbedtls_internal_aes_encrypt</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, const unsigned char input[16], unsigned char output[16])</td></tr>
<tr class="memdesc:a78da421a44bb3e01a3e2d2e98f989a28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal AES block encryption function. This is only exposed to allow overriding it using <code>MBEDTLS_AES_ENCRYPT_ALT</code>.  <a href="#a78da421a44bb3e01a3e2d2e98f989a28">More...</a><br /></td></tr>
<tr class="separator:a78da421a44bb3e01a3e2d2e98f989a28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3e7a68be582d306ab5d96fb4fc043a6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#ae3e7a68be582d306ab5d96fb4fc043a6">mbedtls_internal_aes_decrypt</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, const unsigned char input[16], unsigned char output[16])</td></tr>
<tr class="memdesc:ae3e7a68be582d306ab5d96fb4fc043a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal AES block decryption function. This is only exposed to allow overriding it using see <code>MBEDTLS_AES_DECRYPT_ALT</code>.  <a href="#ae3e7a68be582d306ab5d96fb4fc043a6">More...</a><br /></td></tr>
<tr class="separator:ae3e7a68be582d306ab5d96fb4fc043a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcf5191a8517acb12a3b87b0d018be35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#adcf5191a8517acb12a3b87b0d018be35">mbedtls_aes_encrypt</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, const unsigned char input[16], unsigned char output[16])</td></tr>
<tr class="memdesc:adcf5191a8517acb12a3b87b0d018be35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated internal AES block encryption function without return value.  <a href="#adcf5191a8517acb12a3b87b0d018be35">More...</a><br /></td></tr>
<tr class="separator:adcf5191a8517acb12a3b87b0d018be35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1f5764b11865c6680ffeb4324a777da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#ab1f5764b11865c6680ffeb4324a777da">mbedtls_aes_decrypt</a> (<a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *ctx, const unsigned char input[16], unsigned char output[16])</td></tr>
<tr class="memdesc:ab1f5764b11865c6680ffeb4324a777da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated internal AES block decryption function without return value.  <a href="#ab1f5764b11865c6680ffeb4324a777da">More...</a><br /></td></tr>
<tr class="separator:ab1f5764b11865c6680ffeb4324a777da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17845a4d1272959f0bb9370e86bfd398"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#a17845a4d1272959f0bb9370e86bfd398">mbedtls_aes_self_test</a> (int verbose)</td></tr>
<tr class="memdesc:a17845a4d1272959f0bb9370e86bfd398"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checkup routine.  <a href="#a17845a4d1272959f0bb9370e86bfd398">More...</a><br /></td></tr>
<tr class="separator:a17845a4d1272959f0bb9370e86bfd398"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The Advanced Encryption Standard (AES) specifies a FIPS-approved cryptographic algorithm that can be used to protect electronic data. </p>
<p>The AES algorithm is a symmetric block cipher that can encrypt and decrypt information. For more information, see <em>FIPS Publication 197: Advanced Encryption Standard</em> and <em>ISO/IEC 18033-2:2006: Information technology &ndash; Security techniques &ndash; Encryption algorithms &ndash; Part 2: Asymmetric ciphers</em>. </p>

<p class="definition">Definition in file <a class="el" href="aes_8h_source.html">aes.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ac21fbdd76fa7c6f3f87dc5eb7b5b30f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac21fbdd76fa7c6f3f87dc5eb7b5b30f8">&#9670;&nbsp;</a></span>MBEDTLS_AES_DECRYPT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_AES_DECRYPT&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>AES decryption. </p>

<p class="definition">Definition at line <a class="el" href="aes_8h_source.html#l00047">47</a> of file <a class="el" href="aes_8h_source.html">aes.h</a>.</p>

</div>
</div>
<a id="ace4e123be5bb40b2adfdc4cb4f4750c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace4e123be5bb40b2adfdc4cb4f4750c8">&#9670;&nbsp;</a></span>MBEDTLS_AES_ENCRYPT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_AES_ENCRYPT&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>AES encryption. </p>

<p class="definition">Definition at line <a class="el" href="aes_8h_source.html#l00046">46</a> of file <a class="el" href="aes_8h_source.html">aes.h</a>.</p>

</div>
</div>
<a id="aa9f53b232ef244efb301233d111930dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9f53b232ef244efb301233d111930dc">&#9670;&nbsp;</a></span>MBEDTLS_DEPRECATED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DEPRECATED</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="aes_8h_source.html#l00361">361</a> of file <a class="el" href="aes_8h_source.html">aes.h</a>.</p>

</div>
</div>
<a id="a068dd89bb8f024d1be112b8af1b54fc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a068dd89bb8f024d1be112b8af1b54fc3">&#9670;&nbsp;</a></span>MBEDTLS_ERR_AES_FEATURE_UNAVAILABLE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_AES_FEATURE_UNAVAILABLE&#160;&#160;&#160;-0x0023</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Feature not available. For example, an unsupported AES key size. </p>

<p class="definition">Definition at line <a class="el" href="aes_8h_source.html#l00054">54</a> of file <a class="el" href="aes_8h_source.html">aes.h</a>.</p>

</div>
</div>
<a id="a155b9a313a7ba1ebb5649186e0a357c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a155b9a313a7ba1ebb5649186e0a357c5">&#9670;&nbsp;</a></span>MBEDTLS_ERR_AES_HW_ACCEL_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_AES_HW_ACCEL_FAILED&#160;&#160;&#160;-0x0025</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>AES hardware accelerator failed. </p>

<p class="definition">Definition at line <a class="el" href="aes_8h_source.html#l00055">55</a> of file <a class="el" href="aes_8h_source.html">aes.h</a>.</p>

</div>
</div>
<a id="ac46465e53bd0fc9dcd79cb90965e3571"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac46465e53bd0fc9dcd79cb90965e3571">&#9670;&nbsp;</a></span>MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH&#160;&#160;&#160;-0x0022</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Invalid data input length. </p>

<p class="definition">Definition at line <a class="el" href="aes_8h_source.html#l00051">51</a> of file <a class="el" href="aes_8h_source.html">aes.h</a>.</p>

</div>
</div>
<a id="a4506452f9cd9a317327b2b1ce9b1bf59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4506452f9cd9a317327b2b1ce9b1bf59">&#9670;&nbsp;</a></span>MBEDTLS_ERR_AES_INVALID_KEY_LENGTH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_AES_INVALID_KEY_LENGTH&#160;&#160;&#160;-0x0020</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Invalid key length. </p>

<p class="definition">Definition at line <a class="el" href="aes_8h_source.html#l00050">50</a> of file <a class="el" href="aes_8h_source.html">aes.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a321834eafbf0dacb36dac343bfd6b35d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a321834eafbf0dacb36dac343bfd6b35d">&#9670;&nbsp;</a></span>mbedtls_aes_crypt_cbc()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_aes_crypt_cbc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>iv</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs an AES-CBC encryption or decryption operation on full blocks. </p>
<p>It performs the operation defined in the <code>mode</code> parameter (encrypt/decrypt), on the input data buffer defined in the <code>input</code> parameter.</p>
<p>It can be called as many times as needed, until all the input data is processed. <a class="el" href="aes_8h.html#aa72dac8d698ab861843ef74ce8ebf62c" title="This function initializes the specified AES context. ">mbedtls_aes_init()</a>, and either <a class="el" href="aes_8h.html#acec17c6592b98876106d035c372b1efa" title="This function sets the encryption key. ">mbedtls_aes_setkey_enc()</a> or <a class="el" href="aes_8h.html#a11580b789634605dd57e425eadb56617" title="This function sets the decryption key. ">mbedtls_aes_setkey_dec()</a> must be called before the first call to this API with the same context.</p>
<dl class="section note"><dt>Note</dt><dd>This function operates on aligned blocks, that is, the input size must be a multiple of the AES block size of 16 Bytes.</dd>
<dd>
Upon exit, the content of the IV is updated so that you can call the same function again on the next block(s) of data and get the same result as if it was encrypted in one call. This allows a "streaming" usage. If you need to retain the contents of the IV, you should either save it manually or use the cipher module instead.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to use for encryption or decryption. </td></tr>
    <tr><td class="paramname">mode</td><td>The AES operation: <a class="el" href="aes_8h.html#ace4e123be5bb40b2adfdc4cb4f4750c8">MBEDTLS_AES_ENCRYPT</a> or <a class="el" href="aes_8h.html#ac21fbdd76fa7c6f3f87dc5eb7b5b30f8">MBEDTLS_AES_DECRYPT</a>. </td></tr>
    <tr><td class="paramname">length</td><td>The length of the input data in Bytes. This must be a multiple of the block size (16 Bytes). </td></tr>
    <tr><td class="paramname">iv</td><td>Initialization vector (updated after use). </td></tr>
    <tr><td class="paramname">input</td><td>The buffer holding the input data. </td></tr>
    <tr><td class="paramname">output</td><td>The buffer holding the output data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success, or <a class="el" href="aes_8h.html#ac46465e53bd0fc9dcd79cb90965e3571">MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH</a> on failure. </dd></dl>

</div>
</div>
<a id="a944946adabbc344f2c6cf6e6f51a21e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a944946adabbc344f2c6cf6e6f51a21e3">&#9670;&nbsp;</a></span>mbedtls_aes_crypt_cfb128()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_aes_crypt_cfb128 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>iv_off</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>iv</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs an AES-CFB128 encryption or decryption operation. </p>
<p>It performs the operation defined in the <code>mode</code> parameter (encrypt or decrypt), on the input data buffer defined in the <code>input</code> parameter.</p>
<p>For CFB, you must set up the context with <a class="el" href="aes_8h.html#acec17c6592b98876106d035c372b1efa" title="This function sets the encryption key. ">mbedtls_aes_setkey_enc()</a>, regardless of whether you are performing an encryption or decryption operation, that is, regardless of the <code>mode</code> parameter. This is because CFB mode uses the same key schedule for encryption and decryption.</p>
<dl class="section note"><dt>Note</dt><dd>Upon exit, the content of the IV is updated so that you can call the same function again on the next block(s) of data and get the same result as if it was encrypted in one call. This allows a "streaming" usage. If you need to retain the contents of the IV, you must either save it manually or use the cipher module instead.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to use for encryption or decryption. </td></tr>
    <tr><td class="paramname">mode</td><td>The AES operation: <a class="el" href="aes_8h.html#ace4e123be5bb40b2adfdc4cb4f4750c8">MBEDTLS_AES_ENCRYPT</a> or <a class="el" href="aes_8h.html#ac21fbdd76fa7c6f3f87dc5eb7b5b30f8">MBEDTLS_AES_DECRYPT</a>. </td></tr>
    <tr><td class="paramname">length</td><td>The length of the input data. </td></tr>
    <tr><td class="paramname">iv_off</td><td>The offset in IV (updated after use). </td></tr>
    <tr><td class="paramname">iv</td><td>The initialization vector (updated after use). </td></tr>
    <tr><td class="paramname">input</td><td>The buffer holding the input data. </td></tr>
    <tr><td class="paramname">output</td><td>The buffer holding the output data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success. </dd></dl>

</div>
</div>
<a id="a9abf42a70f835ca9d9f62350d497e465"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9abf42a70f835ca9d9f62350d497e465">&#9670;&nbsp;</a></span>mbedtls_aes_crypt_cfb8()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_aes_crypt_cfb8 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>iv</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs an AES-CFB8 encryption or decryption operation. </p>
<p>It performs the operation defined in the <code>mode</code> parameter (encrypt/decrypt), on the input data buffer defined in the <code>input</code> parameter.</p>
<p>Due to the nature of CFB, you must use the same key schedule for both encryption and decryption operations. Therefore, you must use the context initialized with <a class="el" href="aes_8h.html#acec17c6592b98876106d035c372b1efa" title="This function sets the encryption key. ">mbedtls_aes_setkey_enc()</a> for both <a class="el" href="aes_8h.html#ace4e123be5bb40b2adfdc4cb4f4750c8">MBEDTLS_AES_ENCRYPT</a> and <a class="el" href="aes_8h.html#ac21fbdd76fa7c6f3f87dc5eb7b5b30f8">MBEDTLS_AES_DECRYPT</a>.</p>
<dl class="section note"><dt>Note</dt><dd>Upon exit, the content of the IV is updated so that you can call the same function again on the next block(s) of data and get the same result as if it was encrypted in one call. This allows a "streaming" usage. If you need to retain the contents of the IV, you should either save it manually or use the cipher module instead.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to use for encryption or decryption. </td></tr>
    <tr><td class="paramname">mode</td><td>The AES operation: <a class="el" href="aes_8h.html#ace4e123be5bb40b2adfdc4cb4f4750c8">MBEDTLS_AES_ENCRYPT</a> or <a class="el" href="aes_8h.html#ac21fbdd76fa7c6f3f87dc5eb7b5b30f8">MBEDTLS_AES_DECRYPT</a> </td></tr>
    <tr><td class="paramname">length</td><td>The length of the input data. </td></tr>
    <tr><td class="paramname">iv</td><td>The initialization vector (updated after use). </td></tr>
    <tr><td class="paramname">input</td><td>The buffer holding the input data. </td></tr>
    <tr><td class="paramname">output</td><td>The buffer holding the output data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success. </dd></dl>

</div>
</div>
<a id="a375c98cba4c5806d3a39c7d1e1e226da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a375c98cba4c5806d3a39c7d1e1e226da">&#9670;&nbsp;</a></span>mbedtls_aes_crypt_ctr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_aes_crypt_ctr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>nc_off</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>nonce_counter</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>stream_block</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs an AES-CTR encryption or decryption operation. </p>
<p>This function performs the operation defined in the <code>mode</code> parameter (encrypt/decrypt), on the input data buffer defined in the <code>input</code> parameter.</p>
<p>Due to the nature of CTR, you must use the same key schedule for both encryption and decryption operations. Therefore, you must use the context initialized with <a class="el" href="aes_8h.html#acec17c6592b98876106d035c372b1efa" title="This function sets the encryption key. ">mbedtls_aes_setkey_enc()</a> for both <a class="el" href="aes_8h.html#ace4e123be5bb40b2adfdc4cb4f4750c8">MBEDTLS_AES_ENCRYPT</a> and <a class="el" href="aes_8h.html#ac21fbdd76fa7c6f3f87dc5eb7b5b30f8">MBEDTLS_AES_DECRYPT</a>.</p>
<dl class="section warning"><dt>Warning</dt><dd>You must keep the maximum use of your counter in mind.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to use for encryption or decryption. </td></tr>
    <tr><td class="paramname">length</td><td>The length of the input data. </td></tr>
    <tr><td class="paramname">nc_off</td><td>The offset in the current <code>stream_block</code>, for resuming within the current cipher stream. The offset pointer should be 0 at the start of a stream. </td></tr>
    <tr><td class="paramname">nonce_counter</td><td>The 128-bit nonce and counter. </td></tr>
    <tr><td class="paramname">stream_block</td><td>The saved stream block for resuming. This is overwritten by the function. </td></tr>
    <tr><td class="paramname">input</td><td>The buffer holding the input data. </td></tr>
    <tr><td class="paramname">output</td><td>The buffer holding the output data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success. </dd></dl>

</div>
</div>
<a id="a0e59fdda18a145e702984268b9ab291a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e59fdda18a145e702984268b9ab291a">&#9670;&nbsp;</a></span>mbedtls_aes_crypt_ecb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_aes_crypt_ecb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char&#160;</td>
          <td class="paramname"><em>input</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>output</em>[16]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs an AES single-block encryption or decryption operation. </p>
<p>It performs the operation defined in the <code>mode</code> parameter (encrypt or decrypt), on the input data buffer defined in the <code>input</code> parameter.</p>
<p><a class="el" href="aes_8h.html#aa72dac8d698ab861843ef74ce8ebf62c" title="This function initializes the specified AES context. ">mbedtls_aes_init()</a>, and either <a class="el" href="aes_8h.html#acec17c6592b98876106d035c372b1efa" title="This function sets the encryption key. ">mbedtls_aes_setkey_enc()</a> or <a class="el" href="aes_8h.html#a11580b789634605dd57e425eadb56617" title="This function sets the decryption key. ">mbedtls_aes_setkey_dec()</a> must be called before the first call to this API with the same context.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to use for encryption or decryption. </td></tr>
    <tr><td class="paramname">mode</td><td>The AES operation: <a class="el" href="aes_8h.html#ace4e123be5bb40b2adfdc4cb4f4750c8">MBEDTLS_AES_ENCRYPT</a> or <a class="el" href="aes_8h.html#ac21fbdd76fa7c6f3f87dc5eb7b5b30f8">MBEDTLS_AES_DECRYPT</a>. </td></tr>
    <tr><td class="paramname">input</td><td>The 16-Byte buffer holding the input data. </td></tr>
    <tr><td class="paramname">output</td><td>The 16-Byte buffer holding the output data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success. </dd></dl>

</div>
</div>
<a id="ab1f5764b11865c6680ffeb4324a777da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1f5764b11865c6680ffeb4324a777da">&#9670;&nbsp;</a></span>mbedtls_aes_decrypt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void mbedtls_aes_decrypt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char&#160;</td>
          <td class="paramname"><em>input</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>output</em>[16]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Deprecated internal AES block decryption function without return value. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>Superseded by mbedtls_aes_decrypt_ext() in 2.5.0.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to use for decryption. </td></tr>
    <tr><td class="paramname">input</td><td>Ciphertext block. </td></tr>
    <tr><td class="paramname">output</td><td>Output (plaintext) block. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="adcf5191a8517acb12a3b87b0d018be35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcf5191a8517acb12a3b87b0d018be35">&#9670;&nbsp;</a></span>mbedtls_aes_encrypt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void mbedtls_aes_encrypt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char&#160;</td>
          <td class="paramname"><em>input</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>output</em>[16]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Deprecated internal AES block encryption function without return value. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Superseded by mbedtls_aes_encrypt_ext() in 2.5.0.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to use for encryption. </td></tr>
    <tr><td class="paramname">input</td><td>Plaintext block. </td></tr>
    <tr><td class="paramname">output</td><td>Output (ciphertext) block. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad1424ff458ff2ed765d37b620aae4882"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1424ff458ff2ed765d37b620aae4882">&#9670;&nbsp;</a></span>mbedtls_aes_free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_aes_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function releases and clears the specified AES context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to clear. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa72dac8d698ab861843ef74ce8ebf62c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa72dac8d698ab861843ef74ce8ebf62c">&#9670;&nbsp;</a></span>mbedtls_aes_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_aes_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function initializes the specified AES context. </p>
<p>It must be the first API called before using the context.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to initialize. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a17845a4d1272959f0bb9370e86bfd398"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17845a4d1272959f0bb9370e86bfd398">&#9670;&nbsp;</a></span>mbedtls_aes_self_test()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_aes_self_test </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>verbose</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checkup routine. </p>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success, or <code>1</code> on failure. </dd></dl>

</div>
</div>
<a id="a11580b789634605dd57e425eadb56617"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11580b789634605dd57e425eadb56617">&#9670;&nbsp;</a></span>mbedtls_aes_setkey_dec()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_aes_setkey_dec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>keybits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the decryption key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to which the key should be bound. </td></tr>
    <tr><td class="paramname">key</td><td>The decryption key. </td></tr>
    <tr><td class="paramname">keybits</td><td>The size of data passed. Valid options are: <ul>
<li>
128 bits </li>
<li>
192 bits </li>
<li>
256 bits</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success, or <a class="el" href="aes_8h.html#a4506452f9cd9a317327b2b1ce9b1bf59">MBEDTLS_ERR_AES_INVALID_KEY_LENGTH</a> on failure. </dd></dl>

</div>
</div>
<a id="acec17c6592b98876106d035c372b1efa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acec17c6592b98876106d035c372b1efa">&#9670;&nbsp;</a></span>mbedtls_aes_setkey_enc()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_aes_setkey_enc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>keybits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the encryption key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to which the key should be bound. </td></tr>
    <tr><td class="paramname">key</td><td>The encryption key. </td></tr>
    <tr><td class="paramname">keybits</td><td>The size of data passed in bits. Valid options are: <ul>
<li>
128 bits </li>
<li>
192 bits </li>
<li>
256 bits</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success or <a class="el" href="aes_8h.html#a4506452f9cd9a317327b2b1ce9b1bf59">MBEDTLS_ERR_AES_INVALID_KEY_LENGTH</a> on failure. </dd></dl>

</div>
</div>
<a id="ae3e7a68be582d306ab5d96fb4fc043a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3e7a68be582d306ab5d96fb4fc043a6">&#9670;&nbsp;</a></span>mbedtls_internal_aes_decrypt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_internal_aes_decrypt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char&#160;</td>
          <td class="paramname"><em>input</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>output</em>[16]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal AES block decryption function. This is only exposed to allow overriding it using see <code>MBEDTLS_AES_DECRYPT_ALT</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to use for decryption. </td></tr>
    <tr><td class="paramname">input</td><td>The ciphertext block. </td></tr>
    <tr><td class="paramname">output</td><td>The output (plaintext) block.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success. </dd></dl>

</div>
</div>
<a id="a78da421a44bb3e01a3e2d2e98f989a28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78da421a44bb3e01a3e2d2e98f989a28">&#9670;&nbsp;</a></span>mbedtls_internal_aes_encrypt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_internal_aes_encrypt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__aes__context.html">mbedtls_aes_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char&#160;</td>
          <td class="paramname"><em>input</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>output</em>[16]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal AES block encryption function. This is only exposed to allow overriding it using <code>MBEDTLS_AES_ENCRYPT_ALT</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The AES context to use for encryption. </td></tr>
    <tr><td class="paramname">input</td><td>The plaintext block. </td></tr>
    <tr><td class="paramname">output</td><td>The output (ciphertext) block.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success. </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue May 8 2018 21:08:41 for mbed TLS v2.7.3 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>