Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 9e72f3e7ecf68cce016a7c5c59e863d3 > files > 183

lib64polarssl-devel-1.3.8-1.mga4.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.5"/>
<title>PolarSSL v1.3.8: cipher.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="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">PolarSSL v1.3.8
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></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>Globals</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_6a9bbd12bf4e19a18c45e270f8fae3fd.html">include</a></li><li class="navelem"><a class="el" href="dir_04272d44da4745cf8b8bfc767d6c6523.html">polarssl</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">cipher.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="cipher_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="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#ifndef POLARSSL_CIPHER_H</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define POLARSSL_CIPHER_H</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if !defined(POLARSSL_CONFIG_FILE)</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="config_8h.html">config.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include POLARSSL_CONFIG_FILE</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#if defined(POLARSSL_GCM_C) || defined(POLARSSL_CCM_C)</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="cipher_8h.html#a98537bee3c712431f7dce5c154e89164">   40</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define POLARSSL_CIPHER_MODE_AEAD</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#if defined(POLARSSL_CIPHER_MODE_CBC)</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="cipher_8h.html#a5347e7fd4e1fbf8968317a34dd67bb9d">   44</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define POLARSSL_CIPHER_MODE_WITH_PADDING</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#if defined(_MSC_VER) &amp;&amp; !defined(inline)</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define inline _inline</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if defined(__ARMCC_VERSION) &amp;&amp; !defined(inline)</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define inline __inline</span></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* __ARMCC_VERSION */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/*_MSC_VER */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="cipher_8h.html#a8625e259f484845e8fe6103f14f14f85">   57</a></span>&#160;<span class="preprocessor">#define POLARSSL_ERR_CIPHER_FEATURE_UNAVAILABLE            -0x6080  </span></div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="cipher_8h.html#a7078656ad138756ee9991f15d529d3bb">   58</a></span>&#160;<span class="preprocessor">#define POLARSSL_ERR_CIPHER_BAD_INPUT_DATA                 -0x6100  </span></div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="cipher_8h.html#ab4d8385421d4fb4a71f2a00734487688">   59</a></span>&#160;<span class="preprocessor">#define POLARSSL_ERR_CIPHER_ALLOC_FAILED                   -0x6180  </span></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="cipher_8h.html#a87777f84d48de3a0d48b252d85c8adc3">   60</a></span>&#160;<span class="preprocessor">#define POLARSSL_ERR_CIPHER_INVALID_PADDING                -0x6200  </span></div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="cipher_8h.html#ae92e3caeb14ac7b0a3ac63aa49d88e9e">   61</a></span>&#160;<span class="preprocessor">#define POLARSSL_ERR_CIPHER_FULL_BLOCK_EXPECTED            -0x6280  </span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="cipher_8h.html#a0ed0acc64ce4edbb029dd1d7fd1c8710">   62</a></span>&#160;<span class="preprocessor">#define POLARSSL_ERR_CIPHER_AUTH_FAILED                    -0x6300  </span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="cipher_8h.html#af1930bcb6327197ff0980aed8bfc3736">   64</a></span>&#160;<span class="preprocessor">#define POLARSSL_CIPHER_VARIABLE_IV_LEN     0x01    </span></div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="cipher_8h.html#a49772688b048b1048944402c3429bf41">   65</a></span>&#160;<span class="preprocessor">#define POLARSSL_CIPHER_VARIABLE_KEY_LEN    0x02    </span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560">   71</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a18bc87fe56e4f9fcb83c2a59829915d8">   72</a></span>&#160;    <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a18bc87fe56e4f9fcb83c2a59829915d8">POLARSSL_CIPHER_ID_NONE</a> = 0,</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560aad5ebb9bbbb1a70f117da429c31f1850">   73</a></span>&#160;    <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560aad5ebb9bbbb1a70f117da429c31f1850">POLARSSL_CIPHER_ID_NULL</a>,</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a7f2185b07190a2ea88e864155bbec21d">   74</a></span>&#160;    <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a7f2185b07190a2ea88e864155bbec21d">POLARSSL_CIPHER_ID_AES</a>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a54c7640a78cff246c1c9557d23ff5fa6">   75</a></span>&#160;    <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a54c7640a78cff246c1c9557d23ff5fa6">POLARSSL_CIPHER_ID_DES</a>,</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a945e095b835040add01d72e8a24e0047">   76</a></span>&#160;    <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a945e095b835040add01d72e8a24e0047">POLARSSL_CIPHER_ID_3DES</a>,</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a4e4271ec0a459bae7d6f4a0a825bddc9">   77</a></span>&#160;    <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a4e4271ec0a459bae7d6f4a0a825bddc9">POLARSSL_CIPHER_ID_CAMELLIA</a>,</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a4156bba2b3f3f98a5ef5ee212a6ce992">   78</a></span>&#160;    <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a4156bba2b3f3f98a5ef5ee212a6ce992">POLARSSL_CIPHER_ID_BLOWFISH</a>,</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a3c1f6cf1191ddfb115467769ddff4851">   79</a></span>&#160;    <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a3c1f6cf1191ddfb115467769ddff4851">POLARSSL_CIPHER_ID_ARC4</a>,</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;} <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560">cipher_id_t</a>;</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6">   82</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6af46e4d5256f808678490a13ab72c1006">   83</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6af46e4d5256f808678490a13ab72c1006">POLARSSL_CIPHER_NONE</a> = 0,</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a26b732304711bc77fbd4984f59719461">   84</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a26b732304711bc77fbd4984f59719461">POLARSSL_CIPHER_NULL</a>,</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a425c63dfadae3b8dd2eea5cad19832ab">   85</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a425c63dfadae3b8dd2eea5cad19832ab">POLARSSL_CIPHER_AES_128_ECB</a>,</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6adef0dc398d25e9e354ec08c64066f8e7">   86</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6adef0dc398d25e9e354ec08c64066f8e7">POLARSSL_CIPHER_AES_192_ECB</a>,</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6adb00f9e0c03029ce6536979ba41fe1a5">   87</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6adb00f9e0c03029ce6536979ba41fe1a5">POLARSSL_CIPHER_AES_256_ECB</a>,</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8d4e003be055910575927334574d81e2">   88</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8d4e003be055910575927334574d81e2">POLARSSL_CIPHER_AES_128_CBC</a>,</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6adf8f7062a1324652e90eedd7d986a15a">   89</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6adf8f7062a1324652e90eedd7d986a15a">POLARSSL_CIPHER_AES_192_CBC</a>,</div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a383bff04387b7fbb14fdf526688a87c4">   90</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a383bff04387b7fbb14fdf526688a87c4">POLARSSL_CIPHER_AES_256_CBC</a>,</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a7f02d410ddbed8cf2d14900cf3574409">   91</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a7f02d410ddbed8cf2d14900cf3574409">POLARSSL_CIPHER_AES_128_CFB128</a>,</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6aad917e3c424e563fc088827959c88868">   92</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6aad917e3c424e563fc088827959c88868">POLARSSL_CIPHER_AES_192_CFB128</a>,</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a69e28d61d887dea757badae6bb5cc1c5">   93</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a69e28d61d887dea757badae6bb5cc1c5">POLARSSL_CIPHER_AES_256_CFB128</a>,</div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a76fa4f3edfc079d0d9e40356d5827c7b">   94</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a76fa4f3edfc079d0d9e40356d5827c7b">POLARSSL_CIPHER_AES_128_CTR</a>,</div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a5aca9e36e3bf9a29724bd867dfc7550f">   95</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a5aca9e36e3bf9a29724bd867dfc7550f">POLARSSL_CIPHER_AES_192_CTR</a>,</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6abaeb5cf2ebe24189a042f999151468ae">   96</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6abaeb5cf2ebe24189a042f999151468ae">POLARSSL_CIPHER_AES_256_CTR</a>,</div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a2d0bc2d755adbd6dba51be94893e296d">   97</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a2d0bc2d755adbd6dba51be94893e296d">POLARSSL_CIPHER_AES_128_GCM</a>,</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a916a07fd9b1787be9f9bf4d55e92a2a8">   98</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a916a07fd9b1787be9f9bf4d55e92a2a8">POLARSSL_CIPHER_AES_192_GCM</a>,</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a5113b084db48bacfe7f8773a8f709a30">   99</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a5113b084db48bacfe7f8773a8f709a30">POLARSSL_CIPHER_AES_256_GCM</a>,</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6afb71c594cdaf3411cf7768ff57431125">  100</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6afb71c594cdaf3411cf7768ff57431125">POLARSSL_CIPHER_CAMELLIA_128_ECB</a>,</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a971ae82c98df3922c99ac98983cf3a86">  101</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a971ae82c98df3922c99ac98983cf3a86">POLARSSL_CIPHER_CAMELLIA_192_ECB</a>,</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a89d049ae306bffa6d89431b51c8a786b">  102</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a89d049ae306bffa6d89431b51c8a786b">POLARSSL_CIPHER_CAMELLIA_256_ECB</a>,</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a7fbc06c11043b1283a2f0c37063025ef">  103</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a7fbc06c11043b1283a2f0c37063025ef">POLARSSL_CIPHER_CAMELLIA_128_CBC</a>,</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a25d8a914e19a95d2f95ecb764058d49c">  104</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a25d8a914e19a95d2f95ecb764058d49c">POLARSSL_CIPHER_CAMELLIA_192_CBC</a>,</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ad1b4dfdab416de3a5e384e13d622a7a6">  105</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ad1b4dfdab416de3a5e384e13d622a7a6">POLARSSL_CIPHER_CAMELLIA_256_CBC</a>,</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8193cb4f12803423fc303f3f804038a4">  106</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8193cb4f12803423fc303f3f804038a4">POLARSSL_CIPHER_CAMELLIA_128_CFB128</a>,</div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a9924eac692478f079e815869556553d2">  107</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a9924eac692478f079e815869556553d2">POLARSSL_CIPHER_CAMELLIA_192_CFB128</a>,</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a634d2a1fff658d083c07a21175ca6c8e">  108</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a634d2a1fff658d083c07a21175ca6c8e">POLARSSL_CIPHER_CAMELLIA_256_CFB128</a>,</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a771ce38dd356f676da95c91c86ac3b2d">  109</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a771ce38dd356f676da95c91c86ac3b2d">POLARSSL_CIPHER_CAMELLIA_128_CTR</a>,</div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8ff89c9e9e41ec779b9424f51bfa2fba">  110</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8ff89c9e9e41ec779b9424f51bfa2fba">POLARSSL_CIPHER_CAMELLIA_192_CTR</a>,</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a25905ecd711ed8af6d78bd38b19790de">  111</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a25905ecd711ed8af6d78bd38b19790de">POLARSSL_CIPHER_CAMELLIA_256_CTR</a>,</div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a4802ed2b8f0b2201a35bbee4779ca40b">  112</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a4802ed2b8f0b2201a35bbee4779ca40b">POLARSSL_CIPHER_CAMELLIA_128_GCM</a>,</div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8355e93505e089dbe9fb391e901d6d44">  113</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8355e93505e089dbe9fb391e901d6d44">POLARSSL_CIPHER_CAMELLIA_192_GCM</a>,</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a028f9f32aacd390889b29f67c6d9fdcd">  114</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a028f9f32aacd390889b29f67c6d9fdcd">POLARSSL_CIPHER_CAMELLIA_256_GCM</a>,</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a14e0f405590439261729bac7ed0be6d4">  115</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a14e0f405590439261729bac7ed0be6d4">POLARSSL_CIPHER_DES_ECB</a>,</div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6af14528a0b54195461babbaec8181913c">  116</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6af14528a0b54195461babbaec8181913c">POLARSSL_CIPHER_DES_CBC</a>,</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a148083389736dc34ee2d729515482d85">  117</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a148083389736dc34ee2d729515482d85">POLARSSL_CIPHER_DES_EDE_ECB</a>,</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8ce984017149df219b49fcc1d506ce10">  118</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8ce984017149df219b49fcc1d506ce10">POLARSSL_CIPHER_DES_EDE_CBC</a>,</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a79352d8566dcb0eb1395d0f4ce4ba0b2">  119</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a79352d8566dcb0eb1395d0f4ce4ba0b2">POLARSSL_CIPHER_DES_EDE3_ECB</a>,</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ae6ab208bff4f88dbba3277a05686b0a9">  120</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ae6ab208bff4f88dbba3277a05686b0a9">POLARSSL_CIPHER_DES_EDE3_CBC</a>,</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ade30c0ba8f3b4c0149dc711f595c32a9">  121</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ade30c0ba8f3b4c0149dc711f595c32a9">POLARSSL_CIPHER_BLOWFISH_ECB</a>,</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a38daa50cfa1c23ffda451ea940474a3f">  122</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a38daa50cfa1c23ffda451ea940474a3f">POLARSSL_CIPHER_BLOWFISH_CBC</a>,</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ad678b6ae83820aaa338fdd8a9888904d">  123</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ad678b6ae83820aaa338fdd8a9888904d">POLARSSL_CIPHER_BLOWFISH_CFB64</a>,</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a0da001217dca5276686d3fe73939bb77">  124</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a0da001217dca5276686d3fe73939bb77">POLARSSL_CIPHER_BLOWFISH_CTR</a>,</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ab7f25ac8ae942ca9cfbe97a65d56ce2e">  125</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ab7f25ac8ae942ca9cfbe97a65d56ce2e">POLARSSL_CIPHER_ARC4_128</a>,</div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ab613ba7e4b52c0cdc64e93d314cd3fbf">  126</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ab613ba7e4b52c0cdc64e93d314cd3fbf">POLARSSL_CIPHER_AES_128_CCM</a>,</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ab62b45d44176c1c74d0894f1245268ae">  127</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ab62b45d44176c1c74d0894f1245268ae">POLARSSL_CIPHER_AES_192_CCM</a>,</div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a2c83917c06819e0159c46d081beeed85">  128</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a2c83917c06819e0159c46d081beeed85">POLARSSL_CIPHER_AES_256_CCM</a>,</div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a2c9c1dabfa8c03b612dd7064fedc6540">  129</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a2c9c1dabfa8c03b612dd7064fedc6540">POLARSSL_CIPHER_CAMELLIA_128_CCM</a>,</div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a17e4803d634ea1ee4daa8f26500a6393">  130</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a17e4803d634ea1ee4daa8f26500a6393">POLARSSL_CIPHER_CAMELLIA_192_CCM</a>,</div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a80290044d0da4521376ed60d5edc8c67">  131</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a80290044d0da4521376ed60d5edc8c67">POLARSSL_CIPHER_CAMELLIA_256_CCM</a>,</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;} <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6">cipher_type_t</a>;</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179c">  134</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179ca12481621829a56c22c4620d5596feca5">  135</a></span>&#160;    <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179ca12481621829a56c22c4620d5596feca5">POLARSSL_MODE_NONE</a> = 0,</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179caaefd6ed34c1992d638129e161b28084a">  136</a></span>&#160;    <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179caaefd6ed34c1992d638129e161b28084a">POLARSSL_MODE_ECB</a>,</div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179cabc642c3486ec5224ef3c13e53fc941d0">  137</a></span>&#160;    <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179cabc642c3486ec5224ef3c13e53fc941d0">POLARSSL_MODE_CBC</a>,</div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179cafea74e56f89fafd334db1f5cb850e913">  138</a></span>&#160;    <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179cafea74e56f89fafd334db1f5cb850e913">POLARSSL_MODE_CFB</a>,</div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179caa04d33ad2e38d6ef6996cd00c0e55730">  139</a></span>&#160;    <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179caa04d33ad2e38d6ef6996cd00c0e55730">POLARSSL_MODE_OFB</a>, <span class="comment">/* Unused! */</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179ca9c7b9959c0a1b08bed57d40edc27ffe9">  140</a></span>&#160;    <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179ca9c7b9959c0a1b08bed57d40edc27ffe9">POLARSSL_MODE_CTR</a>,</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179ca45d7a269317fef5880d5ae9c6dae13f9">  141</a></span>&#160;    <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179ca45d7a269317fef5880d5ae9c6dae13f9">POLARSSL_MODE_GCM</a>,</div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179caf460bee5fb0bf8b383a1fe23099b6707">  142</a></span>&#160;    <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179caf460bee5fb0bf8b383a1fe23099b6707">POLARSSL_MODE_STREAM</a>,</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179cabf517e1e6d97cc0b58ae154f5a2a1265">  143</a></span>&#160;    <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179cabf517e1e6d97cc0b58ae154f5a2a1265">POLARSSL_MODE_CCM</a>,</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;} <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179c">cipher_mode_t</a>;</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dd">  146</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dda4a67d6bf4aec45912ee66f37a3cbb8a8">  147</a></span>&#160;    <a class="code" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dda4a67d6bf4aec45912ee66f37a3cbb8a8">POLARSSL_PADDING_PKCS7</a> = 0,     </div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dda1500b0293a75a29cef21ea91ca279edc">  148</a></span>&#160;    <a class="code" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dda1500b0293a75a29cef21ea91ca279edc">POLARSSL_PADDING_ONE_AND_ZEROS</a>, </div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dda5610144cf3e2bf2289e0e52e3fe16aa2">  149</a></span>&#160;    <a class="code" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dda5610144cf3e2bf2289e0e52e3fe16aa2">POLARSSL_PADDING_ZEROS_AND_LEN</a>, </div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7ddadba7dd52d3452542bba0d1391301b7d6">  150</a></span>&#160;    <a class="code" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7ddadba7dd52d3452542bba0d1391301b7d6">POLARSSL_PADDING_ZEROS</a>,         </div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7ddaae558f0b4d848f4a29f0fae3fedbcf99">  151</a></span>&#160;    <a class="code" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7ddaae558f0b4d848f4a29f0fae3fedbcf99">POLARSSL_PADDING_NONE</a>,          </div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;} <a class="code" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dd">cipher_padding_t</a>;</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">  154</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36a878b38bff48702f7816ee15e6954b717">  155</a></span>&#160;    <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36a878b38bff48702f7816ee15e6954b717">POLARSSL_OPERATION_NONE</a> = -1,</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36ae99cd4d55b496dbb74727f7a6ed872c7">  156</a></span>&#160;    <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36ae99cd4d55b496dbb74727f7a6ed872c7">POLARSSL_DECRYPT</a> = 0,</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36ad8e41c0d381b23d7835dd322e511564f">  157</a></span>&#160;    <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36ad8e41c0d381b23d7835dd322e511564f">POLARSSL_ENCRYPT</a>,</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;} <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a>;</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">enum</span> {</div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55badc72f57d8ab7a6ca11f7cf86c6899366">  162</a></span>&#160;    <a class="code" href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55badc72f57d8ab7a6ca11f7cf86c6899366">POLARSSL_KEY_LENGTH_NONE</a> = 0,</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba47ee3dc5200730a429c1ec172e7d3a9d">  164</a></span>&#160;    <a class="code" href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba47ee3dc5200730a429c1ec172e7d3a9d">POLARSSL_KEY_LENGTH_DES</a>  = 64,</div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55bac20e9716bcdadc5bddba0e6e6ebb133b">  166</a></span>&#160;    <a class="code" href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55bac20e9716bcdadc5bddba0e6e6ebb133b">POLARSSL_KEY_LENGTH_DES_EDE</a> = 128,</div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55bae76d012453101c4c2abe7a807de47219">  168</a></span>&#160;    <a class="code" href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55bae76d012453101c4c2abe7a807de47219">POLARSSL_KEY_LENGTH_DES_EDE3</a> = 192,</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;};</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="cipher_8h.html#aded691b9d905920d9675e7b9828a237c">  172</a></span>&#160;<span class="preprocessor">#define POLARSSL_MAX_IV_LENGTH      16</span></div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="cipher_8h.html#aa2488bd674e8deee5938b1926f4868f0">  174</a></span>&#160;<span class="preprocessor">#define POLARSSL_MAX_BLOCK_LENGTH   16</span></div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="structcipher__base__t.html">  179</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="structcipher__base__t.html#a539b9bf80fc122393affcc4cf8e1d3cc">  182</a></span>&#160;    <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560">cipher_id_t</a> <a class="code" href="structcipher__base__t.html#a539b9bf80fc122393affcc4cf8e1d3cc">cipher</a>;</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="structcipher__base__t.html#af6992411c58361334758dfa5caeac2c1">  185</a></span>&#160;    int (*ecb_func)( <span class="keywordtype">void</span> *ctx, <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> mode,</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                     <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output );</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="structcipher__base__t.html#a72fe8be6c0c358fa81953db9251d482e">  189</a></span>&#160;    int (*cbc_func)( <span class="keywordtype">void</span> *ctx, <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> mode, <span class="keywordtype">size_t</span> length,</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *iv, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input,</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output );</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="structcipher__base__t.html#af6c613d58788fe5a9b52268a63f8b7fc">  194</a></span>&#160;    int (*cfb_func)( <span class="keywordtype">void</span> *ctx, <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> mode, <span class="keywordtype">size_t</span> length, <span class="keywordtype">size_t</span> *iv_off,</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *iv, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input,</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output );</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="structcipher__base__t.html#a52cf7e0f45be977a86dce9df04a38efa">  199</a></span>&#160;    int (*ctr_func)( <span class="keywordtype">void</span> *ctx, <span class="keywordtype">size_t</span> length, <span class="keywordtype">size_t</span> *nc_off,</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;                     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *nonce_counter, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *stream_block,</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;                     <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output );</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="structcipher__base__t.html#a2f751a12e583a0c1bdf4e35376e1a79b">  204</a></span>&#160;    int (*stream_func)( <span class="keywordtype">void</span> *ctx, <span class="keywordtype">size_t</span> length,</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output );</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="structcipher__base__t.html#a408d1cfbdf0e392052223e32dec2be3a">  208</a></span>&#160;    int (*setkey_enc_func)( <span class="keywordtype">void</span> *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key,</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;                            <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> key_length );</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="structcipher__base__t.html#ad6e8bdd1fe87bc2fc1d83d5b84900d1f">  212</a></span>&#160;    int (*setkey_dec_func)( <span class="keywordtype">void</span> *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key,</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;                            <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> key_length);</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div>
<div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="structcipher__base__t.html#a91741724a7a4e396e4a946d6d4f713c1">  216</a></span>&#160;    <span class="keywordtype">void</span> * (*ctx_alloc_func)( void );</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="structcipher__base__t.html#a8066218dfde7c5207d9b50458ee81ca6">  219</a></span>&#160;    void (*ctx_free_func)( <span class="keywordtype">void</span> *ctx );</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;} <a class="code" href="structcipher__base__t.html">cipher_base_t</a>;</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="structcipher__info__t.html">  226</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="structcipher__info__t.html#a4cd6c957b0a94edbc002b5ab070dc0fe">  228</a></span>&#160;    <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6">cipher_type_t</a> <a class="code" href="structcipher__info__t.html#a4cd6c957b0a94edbc002b5ab070dc0fe">type</a>;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div>
<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="structcipher__info__t.html#a61c2ca01508859a6119d8b4c22e2edd2">  231</a></span>&#160;    <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179c">cipher_mode_t</a> <a class="code" href="structcipher__info__t.html#a61c2ca01508859a6119d8b4c22e2edd2">mode</a>;</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div>
<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="structcipher__info__t.html#a2a22ee6e5c529e10cbe6225d71460b26">  235</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structcipher__info__t.html#a2a22ee6e5c529e10cbe6225d71460b26">key_length</a>;</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div>
<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="structcipher__info__t.html#a9b189d0ce9de3eada6b874f1ce8a7393">  238</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="structcipher__info__t.html#a9b189d0ce9de3eada6b874f1ce8a7393">name</a>;</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div>
<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="structcipher__info__t.html#ae8fde413dc240da60f4062c3138eec0a">  242</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structcipher__info__t.html#ae8fde413dc240da60f4062c3138eec0a">iv_size</a>;</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div>
<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="structcipher__info__t.html#ab3a9f706fa42f9a43a0e8d50ac54a959">  245</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structcipher__info__t.html#ab3a9f706fa42f9a43a0e8d50ac54a959">flags</a>;</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div>
<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="structcipher__info__t.html#a7e21795685c79613b5125ca608b0c63b">  248</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structcipher__info__t.html#a7e21795685c79613b5125ca608b0c63b">block_size</a>;</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div>
<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="structcipher__info__t.html#a12c80723dd2c354ff5596b0931d4fedb">  251</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="structcipher__base__t.html">cipher_base_t</a> *<a class="code" href="structcipher__info__t.html#a12c80723dd2c354ff5596b0931d4fedb">base</a>;</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;} <a class="code" href="structcipher__info__t.html">cipher_info_t</a>;</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="structcipher__context__t.html">  258</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">  260</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="structcipher__info__t.html">cipher_info_t</a> *<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a>;</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div>
<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="structcipher__context__t.html#ab101b4f205022bb29b5aa3e46ba9c79f">  263</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structcipher__context__t.html#ab101b4f205022bb29b5aa3e46ba9c79f">key_length</a>;</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div>
<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="structcipher__context__t.html#a621cd7faaf726b227e2ad58e8b7b755d">  266</a></span>&#160;    <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> <a class="code" href="structcipher__context__t.html#a621cd7faaf726b227e2ad58e8b7b755d">operation</a>;</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div>
<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="structcipher__context__t.html#a74f805b3f876cb363903b874e8f753d4">  269</a></span>&#160;    void (*add_padding)( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output, <span class="keywordtype">size_t</span> olen, <span class="keywordtype">size_t</span> data_len );</div>
<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="structcipher__context__t.html#a43140706e02a4b53d0bd3e048221f3e0">  270</a></span>&#160;    int (*get_padding)( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">size_t</span> ilen, <span class="keywordtype">size_t</span> *data_len );</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;</div>
<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="structcipher__context__t.html#a972bc531a9d9b7779d42c433157ac908">  273</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> unprocessed_data[<a class="code" href="cipher_8h.html#aa2488bd674e8deee5938b1926f4868f0">POLARSSL_MAX_BLOCK_LENGTH</a>];</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div>
<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="structcipher__context__t.html#a777d4a1f4f3951a475ec9ebbf2527a28">  276</a></span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="structcipher__context__t.html#a777d4a1f4f3951a475ec9ebbf2527a28">unprocessed_len</a>;</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div>
<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="structcipher__context__t.html#ade41d48b148134eebae1e5801b0cf426">  279</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> iv[<a class="code" href="cipher_8h.html#aded691b9d905920d9675e7b9828a237c">POLARSSL_MAX_IV_LENGTH</a>];</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="structcipher__context__t.html#a124f269c0d3b1ce1a74f5dcacf69b688">  282</a></span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="structcipher__context__t.html#a124f269c0d3b1ce1a74f5dcacf69b688">iv_size</a>;</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div>
<div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="structcipher__context__t.html#aef2bf9abf15fb851faf69c1591790f29">  285</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="structcipher__context__t.html#aef2bf9abf15fb851faf69c1591790f29">cipher_ctx</a>;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;} <a class="code" href="structcipher__context__t.html">cipher_context_t</a>;</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="keyword">const</span> <span class="keywordtype">int</span> *<a class="code" href="cipher_8h.html#a036719c5224e57cf8469ebf9daceb137">cipher_list</a>( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keyword">const</span> <a class="code" href="structcipher__info__t.html">cipher_info_t</a> *<a class="code" href="cipher_8h.html#a76763329d5579d862dfca01adf32c05b">cipher_info_from_string</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *cipher_name );</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="keyword">const</span> <a class="code" href="structcipher__info__t.html">cipher_info_t</a> *<a class="code" href="cipher_8h.html#a1a6dfa43a6758eb075dd2eb86b538900">cipher_info_from_type</a>( <span class="keyword">const</span> <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6">cipher_type_t</a> cipher_type );</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="keyword">const</span> <a class="code" href="structcipher__info__t.html">cipher_info_t</a> *<a class="code" href="cipher_8h.html#a68fd6a4ea2c236dc4abcad76d73d5cac">cipher_info_from_values</a>( <span class="keyword">const</span> <a class="code" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560">cipher_id_t</a> cipher_id,</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;                                              <span class="keywordtype">int</span> key_length,</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;                                              <span class="keyword">const</span> <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179c">cipher_mode_t</a> mode );</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="keywordtype">void</span> <a class="code" href="cipher_8h.html#a6a719708dc3b2f0d0e7beadccf871f4f">cipher_init</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx );</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="keywordtype">void</span> <a class="code" href="cipher_8h.html#af27f8e4cd1fab59615c3d73c69d136c8">cipher_free</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx );</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#adc7c37e925193805884085ca87587f64">cipher_init_ctx</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx, <span class="keyword">const</span> <a class="code" href="structcipher__info__t.html">cipher_info_t</a> *cipher_info );</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#ac8abe3c96c800481697cfe8260cf829d">cipher_free_ctx</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx );</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"><a class="line" href="cipher_8h.html#ac3ffcee4725c03638726f7211b31bcb7">  384</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#ac3ffcee4725c03638726f7211b31bcb7">cipher_get_block_size</a>( <span class="keyword">const</span> <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx )</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;{</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    <span class="keywordflow">if</span>( NULL == ctx || NULL == ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a> )</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <span class="keywordflow">return</span> ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a>-&gt;<a class="code" href="structcipher__info__t.html#a7e21795685c79613b5125ca608b0c63b">block_size</a>;</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;}</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;</div>
<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="cipher_8h.html#a8cc9566954343cc25ab4432db0c3a353">  401</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179c">cipher_mode_t</a> <a class="code" href="cipher_8h.html#a8cc9566954343cc25ab4432db0c3a353">cipher_get_cipher_mode</a>( <span class="keyword">const</span> <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx )</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;{</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <span class="keywordflow">if</span>( NULL == ctx || NULL == ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a> )</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179ca12481621829a56c22c4620d5596feca5">POLARSSL_MODE_NONE</a>;</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;</div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="keywordflow">return</span> ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a>-&gt;<a class="code" href="structcipher__info__t.html#a61c2ca01508859a6119d8b4c22e2edd2">mode</a>;</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;}</div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;</div>
<div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="cipher_8h.html#a0555cab5391282ebcb61a899c00addec">  418</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#a0555cab5391282ebcb61a899c00addec">cipher_get_iv_size</a>( <span class="keyword">const</span> <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx )</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;{</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <span class="keywordflow">if</span>( NULL == ctx || NULL == ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a> )</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    <span class="keywordflow">if</span>( ctx-&gt;<a class="code" href="structcipher__context__t.html#a124f269c0d3b1ce1a74f5dcacf69b688">iv_size</a> != 0 )</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        <span class="keywordflow">return</span> (<span class="keywordtype">int</span>) ctx-&gt;<a class="code" href="structcipher__context__t.html#a124f269c0d3b1ce1a74f5dcacf69b688">iv_size</a>;</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="keywordflow">return</span> ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a>-&gt;<a class="code" href="structcipher__info__t.html#ae8fde413dc240da60f4062c3138eec0a">iv_size</a>;</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;}</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div>
<div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="cipher_8h.html#a07c79d24f8381fade8fcad38b8351f79">  437</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6">cipher_type_t</a> <a class="code" href="cipher_8h.html#a07c79d24f8381fade8fcad38b8351f79">cipher_get_type</a>( <span class="keyword">const</span> <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx )</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;{</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    <span class="keywordflow">if</span>( NULL == ctx || NULL == ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a> )</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6af46e4d5256f808678490a13ab72c1006">POLARSSL_CIPHER_NONE</a>;</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordflow">return</span> ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a>-&gt;<a class="code" href="structcipher__info__t.html#a4cd6c957b0a94edbc002b5ab070dc0fe">type</a>;</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;}</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div>
<div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="cipher_8h.html#ab13b86afbee6e045811edf5601dc5ce5">  452</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="cipher_8h.html#ab13b86afbee6e045811edf5601dc5ce5">cipher_get_name</a>( <span class="keyword">const</span> <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx )</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;{</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    <span class="keywordflow">if</span>( NULL == ctx || NULL == ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a> )</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    <span class="keywordflow">return</span> ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a>-&gt;<a class="code" href="structcipher__info__t.html#a9b189d0ce9de3eada6b874f1ce8a7393">name</a>;</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;}</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;</div>
<div class="line"><a name="l00469"></a><span class="lineno"><a class="line" href="cipher_8h.html#a9534326eea78885a9b47ce0b0a3aa0d3">  469</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#a9534326eea78885a9b47ce0b0a3aa0d3">cipher_get_key_size</a> ( <span class="keyword">const</span> <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx )</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;{</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    <span class="keywordflow">if</span>( NULL == ctx || NULL == ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a> )</div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55badc72f57d8ab7a6ca11f7cf86c6899366">POLARSSL_KEY_LENGTH_NONE</a>;</div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    <span class="keywordflow">return</span> ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a>-&gt;<a class="code" href="structcipher__info__t.html#a2a22ee6e5c529e10cbe6225d71460b26">key_length</a>;</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;}</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;</div>
<div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="cipher_8h.html#ab6316d711155a6ba661d6dd18eaf3bf2">  486</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> <a class="code" href="cipher_8h.html#ab6316d711155a6ba661d6dd18eaf3bf2">cipher_get_operation</a>( <span class="keyword">const</span> <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx )</div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;{</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keywordflow">if</span>( NULL == ctx || NULL == ctx-&gt;<a class="code" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a> )</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36a878b38bff48702f7816ee15e6954b717">POLARSSL_OPERATION_NONE</a>;</div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="keywordflow">return</span> ctx-&gt;<a class="code" href="structcipher__context__t.html#a621cd7faaf726b227e2ad58e8b7b755d">operation</a>;</div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;}</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#a77355bddf2d69f68d55e2bd2374e9257">cipher_setkey</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key,</div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;                   <span class="keywordtype">int</span> key_length, <span class="keyword">const</span> <a class="code" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> operation );</div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<span class="preprocessor">#if defined(POLARSSL_CIPHER_MODE_WITH_PADDING)</span></div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#abbc809fe32e1cce35834006d1edf1f2c">cipher_set_padding_mode</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx, <a class="code" href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dd">cipher_padding_t</a> mode );</div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_CIPHER_MODE_WITH_PADDING */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#abca5954bfff4e62c5280267d2a97171d">cipher_set_iv</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx,</div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *iv, <span class="keywordtype">size_t</span> iv_len );</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#a0a55a8eeae5ebb2627c59257ffb202bc">cipher_reset</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx );</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="preprocessor">#if defined(POLARSSL_GCM_C)</span></div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#a5b8cb1cff4b19e01849c84c67364500d">cipher_update_ad</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx,</div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;                      <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ad, <span class="keywordtype">size_t</span> ad_len );</div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_GCM_C */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#afca62e9b6e95da3a46fa6c95f0a09e38">cipher_update</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input,</div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;                   <span class="keywordtype">size_t</span> ilen, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output, <span class="keywordtype">size_t</span> *olen );</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;</div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#a12a036b9caa428f47dfb14c06753f14c">cipher_finish</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx,</div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;                   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output, <span class="keywordtype">size_t</span> *olen );</div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;<span class="preprocessor">#if defined(POLARSSL_GCM_C)</span></div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#a54a922d31e506aa36dd8ed7798ed2a41">cipher_write_tag</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx,</div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;                      <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *tag, <span class="keywordtype">size_t</span> tag_len );</div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#a907de4e9c5331d3e0a7d58c887e9173a">cipher_check_tag</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx,</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;                      <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *tag, <span class="keywordtype">size_t</span> tag_len );</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_GCM_C */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#aac61499800e5f1436c61fcdd8be5ba4b">cipher_crypt</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx,</div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;                  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *iv, <span class="keywordtype">size_t</span> iv_len,</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;                  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">size_t</span> ilen,</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;                  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output, <span class="keywordtype">size_t</span> *olen );</div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;</div>
<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;<span class="preprocessor">#if defined(POLARSSL_CIPHER_MODE_AEAD)</span></div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#a30155c676722d3538392b32ac45e8f8a">cipher_auth_encrypt</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx,</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *iv, <span class="keywordtype">size_t</span> iv_len,</div>
<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ad, <span class="keywordtype">size_t</span> ad_len,</div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">size_t</span> ilen,</div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;                         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output, <span class="keywordtype">size_t</span> *olen,</div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;                         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *tag, <span class="keywordtype">size_t</span> tag_len );</div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;</div>
<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#ad2f7c44697223ae63d7814fc7e8b9092">cipher_auth_decrypt</a>( <a class="code" href="structcipher__context__t.html">cipher_context_t</a> *ctx,</div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *iv, <span class="keywordtype">size_t</span> iv_len,</div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ad, <span class="keywordtype">size_t</span> ad_len,</div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">size_t</span> ilen,</div>
<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;                         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *output, <span class="keywordtype">size_t</span> *olen,</div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *tag, <span class="keywordtype">size_t</span> tag_len );</div>
<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_CIPHER_MODE_AEAD */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;<span class="keywordtype">int</span> <a class="code" href="cipher_8h.html#ae9adb04c9894c75bbf71189d25b1b988">cipher_self_test</a>( <span class="keywordtype">int</span> verbose );</div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_CIPHER_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="structcipher__context__t_html_ab101b4f205022bb29b5aa3e46ba9c79f"><div class="ttname"><a href="structcipher__context__t.html#ab101b4f205022bb29b5aa3e46ba9c79f">cipher_context_t::key_length</a></div><div class="ttdeci">int key_length</div><div class="ttdoc">Key length to use. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00263">cipher.h:263</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a14e0f405590439261729bac7ed0be6d4"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a14e0f405590439261729bac7ed0be6d4">POLARSSL_CIPHER_DES_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00115">cipher.h:115</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a2d0bc2d755adbd6dba51be94893e296d"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a2d0bc2d755adbd6dba51be94893e296d">POLARSSL_CIPHER_AES_128_GCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00097">cipher.h:97</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a2c83917c06819e0159c46d081beeed85"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a2c83917c06819e0159c46d081beeed85">POLARSSL_CIPHER_AES_256_CCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00128">cipher.h:128</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6ad1b4dfdab416de3a5e384e13d622a7a6"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ad1b4dfdab416de3a5e384e13d622a7a6">POLARSSL_CIPHER_CAMELLIA_256_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00105">cipher.h:105</a></div></div>
<div class="ttc" id="cipher_8h_html_a12a036b9caa428f47dfb14c06753f14c"><div class="ttname"><a href="cipher_8h.html#a12a036b9caa428f47dfb14c06753f14c">cipher_finish</a></div><div class="ttdeci">int cipher_finish(cipher_context_t *ctx, unsigned char *output, size_t *olen)</div><div class="ttdoc">Generic cipher finalisation function. </div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a148083389736dc34ee2d729515482d85"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a148083389736dc34ee2d729515482d85">POLARSSL_CIPHER_DES_EDE_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00117">cipher.h:117</a></div></div>
<div class="ttc" id="cipher_8h_html_af65d0bd9b5c3504fd010cf54955b179cafea74e56f89fafd334db1f5cb850e913"><div class="ttname"><a href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179cafea74e56f89fafd334db1f5cb850e913">POLARSSL_MODE_CFB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00138">cipher.h:138</a></div></div>
<div class="ttc" id="cipher_8h_html_a0555cab5391282ebcb61a899c00addec"><div class="ttname"><a href="cipher_8h.html#a0555cab5391282ebcb61a899c00addec">cipher_get_iv_size</a></div><div class="ttdeci">static int cipher_get_iv_size(const cipher_context_t *ctx)</div><div class="ttdoc">Returns the size of the cipher&amp;#39;s IV/NONCE in bytes. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00418">cipher.h:418</a></div></div>
<div class="ttc" id="structcipher__context__t_html"><div class="ttname"><a href="structcipher__context__t.html">cipher_context_t</a></div><div class="ttdoc">Generic cipher context. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00258">cipher.h:258</a></div></div>
<div class="ttc" id="cipher_8h_html_a06fc87d81c62e9abb8790b6e5713c55ba47ee3dc5200730a429c1ec172e7d3a9d"><div class="ttname"><a href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba47ee3dc5200730a429c1ec172e7d3a9d">POLARSSL_KEY_LENGTH_DES</a></div><div class="ttdoc">Key length, in bits (including parity), for DES keys. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00164">cipher.h:164</a></div></div>
<div class="ttc" id="cipher_8h_html_af65d0bd9b5c3504fd010cf54955b179cabf517e1e6d97cc0b58ae154f5a2a1265"><div class="ttname"><a href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179cabf517e1e6d97cc0b58ae154f5a2a1265">POLARSSL_MODE_CCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00143">cipher.h:143</a></div></div>
<div class="ttc" id="cipher_8h_html_af65d0bd9b5c3504fd010cf54955b179cabc642c3486ec5224ef3c13e53fc941d0"><div class="ttname"><a href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179cabc642c3486ec5224ef3c13e53fc941d0">POLARSSL_MODE_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00137">cipher.h:137</a></div></div>
<div class="ttc" id="structcipher__info__t_html_a4cd6c957b0a94edbc002b5ab070dc0fe"><div class="ttname"><a href="structcipher__info__t.html#a4cd6c957b0a94edbc002b5ab070dc0fe">cipher_info_t::type</a></div><div class="ttdeci">cipher_type_t type</div><div class="ttdoc">Full cipher identifier (e.g. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00228">cipher.h:228</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6af46e4d5256f808678490a13ab72c1006"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6af46e4d5256f808678490a13ab72c1006">POLARSSL_CIPHER_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00083">cipher.h:83</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a425c63dfadae3b8dd2eea5cad19832ab"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a425c63dfadae3b8dd2eea5cad19832ab">POLARSSL_CIPHER_AES_128_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00085">cipher.h:85</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6adef0dc398d25e9e354ec08c64066f8e7"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6adef0dc398d25e9e354ec08c64066f8e7">POLARSSL_CIPHER_AES_192_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00086">cipher.h:86</a></div></div>
<div class="ttc" id="cipher_8h_html_a6a719708dc3b2f0d0e7beadccf871f4f"><div class="ttname"><a href="cipher_8h.html#a6a719708dc3b2f0d0e7beadccf871f4f">cipher_init</a></div><div class="ttdeci">void cipher_init(cipher_context_t *ctx)</div><div class="ttdoc">Initialize a cipher_context (as NONE) </div></div>
<div class="ttc" id="cipher_8h_html_a8cc9566954343cc25ab4432db0c3a353"><div class="ttname"><a href="cipher_8h.html#a8cc9566954343cc25ab4432db0c3a353">cipher_get_cipher_mode</a></div><div class="ttdeci">static cipher_mode_t cipher_get_cipher_mode(const cipher_context_t *ctx)</div><div class="ttdoc">Returns the mode of operation for the cipher. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00401">cipher.h:401</a></div></div>
<div class="ttc" id="cipher_8h_html_af65d0bd9b5c3504fd010cf54955b179caa04d33ad2e38d6ef6996cd00c0e55730"><div class="ttname"><a href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179caa04d33ad2e38d6ef6996cd00c0e55730">POLARSSL_MODE_OFB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00139">cipher.h:139</a></div></div>
<div class="ttc" id="cipher_8h_html_a54a922d31e506aa36dd8ed7798ed2a41"><div class="ttname"><a href="cipher_8h.html#a54a922d31e506aa36dd8ed7798ed2a41">cipher_write_tag</a></div><div class="ttdeci">int cipher_write_tag(cipher_context_t *ctx, unsigned char *tag, size_t tag_len)</div><div class="ttdoc">Write tag for AEAD ciphers. </div></div>
<div class="ttc" id="cipher_8h_html_af65d0bd9b5c3504fd010cf54955b179caaefd6ed34c1992d638129e161b28084a"><div class="ttname"><a href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179caaefd6ed34c1992d638129e161b28084a">POLARSSL_MODE_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00136">cipher.h:136</a></div></div>
<div class="ttc" id="structcipher__info__t_html"><div class="ttname"><a href="structcipher__info__t.html">cipher_info_t</a></div><div class="ttdoc">Cipher information. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00226">cipher.h:226</a></div></div>
<div class="ttc" id="cipher_8h_html_acb17eb5d2106ba020a20b70d878aa7ddadba7dd52d3452542bba0d1391301b7d6"><div class="ttname"><a href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7ddadba7dd52d3452542bba0d1391301b7d6">POLARSSL_PADDING_ZEROS</a></div><div class="ttdoc">zero padding (not reversible!) </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00150">cipher.h:150</a></div></div>
<div class="ttc" id="cipher_8h_html_a1a6dfa43a6758eb075dd2eb86b538900"><div class="ttname"><a href="cipher_8h.html#a1a6dfa43a6758eb075dd2eb86b538900">cipher_info_from_type</a></div><div class="ttdeci">const cipher_info_t * cipher_info_from_type(const cipher_type_t cipher_type)</div><div class="ttdoc">Returns the cipher information structure associated with the given cipher type. </div></div>
<div class="ttc" id="cipher_8h_html_ac3ffcee4725c03638726f7211b31bcb7"><div class="ttname"><a href="cipher_8h.html#ac3ffcee4725c03638726f7211b31bcb7">cipher_get_block_size</a></div><div class="ttdeci">static unsigned int cipher_get_block_size(const cipher_context_t *ctx)</div><div class="ttdoc">Returns the block size of the given cipher. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00384">cipher.h:384</a></div></div>
<div class="ttc" id="cipher_8h_html_a76763329d5579d862dfca01adf32c05b"><div class="ttname"><a href="cipher_8h.html#a76763329d5579d862dfca01adf32c05b">cipher_info_from_string</a></div><div class="ttdeci">const cipher_info_t * cipher_info_from_string(const char *cipher_name)</div><div class="ttdoc">Returns the cipher information structure associated with the given cipher name. </div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6adf8f7062a1324652e90eedd7d986a15a"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6adf8f7062a1324652e90eedd7d986a15a">POLARSSL_CIPHER_AES_192_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00089">cipher.h:89</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a9924eac692478f079e815869556553d2"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a9924eac692478f079e815869556553d2">POLARSSL_CIPHER_CAMELLIA_192_CFB128</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00107">cipher.h:107</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a76fa4f3edfc079d0d9e40356d5827c7b"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a76fa4f3edfc079d0d9e40356d5827c7b">POLARSSL_CIPHER_AES_128_CTR</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00094">cipher.h:94</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a971ae82c98df3922c99ac98983cf3a86"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a971ae82c98df3922c99ac98983cf3a86">POLARSSL_CIPHER_CAMELLIA_192_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00101">cipher.h:101</a></div></div>
<div class="ttc" id="config_8h_html"><div class="ttname"><a href="config_8h.html">config.h</a></div><div class="ttdoc">Configuration options (set of defines) </div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6ad678b6ae83820aaa338fdd8a9888904d"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ad678b6ae83820aaa338fdd8a9888904d">POLARSSL_CIPHER_BLOWFISH_CFB64</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00123">cipher.h:123</a></div></div>
<div class="ttc" id="cipher_8h_html_af65d0bd9b5c3504fd010cf54955b179ca45d7a269317fef5880d5ae9c6dae13f9"><div class="ttname"><a href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179ca45d7a269317fef5880d5ae9c6dae13f9">POLARSSL_MODE_GCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00141">cipher.h:141</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6ab62b45d44176c1c74d0894f1245268ae"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ab62b45d44176c1c74d0894f1245268ae">POLARSSL_CIPHER_AES_192_CCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00127">cipher.h:127</a></div></div>
<div class="ttc" id="cipher_8h_html_ab13b86afbee6e045811edf5601dc5ce5"><div class="ttname"><a href="cipher_8h.html#ab13b86afbee6e045811edf5601dc5ce5">cipher_get_name</a></div><div class="ttdeci">static const char * cipher_get_name(const cipher_context_t *ctx)</div><div class="ttdoc">Returns the name of the given cipher, as a string. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00452">cipher.h:452</a></div></div>
<div class="ttc" id="cipher_8h_html_a07c79d24f8381fade8fcad38b8351f79"><div class="ttname"><a href="cipher_8h.html#a07c79d24f8381fade8fcad38b8351f79">cipher_get_type</a></div><div class="ttdeci">static cipher_type_t cipher_get_type(const cipher_context_t *ctx)</div><div class="ttdoc">Returns the type of the given cipher. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00437">cipher.h:437</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a5aca9e36e3bf9a29724bd867dfc7550f"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a5aca9e36e3bf9a29724bd867dfc7550f">POLARSSL_CIPHER_AES_192_CTR</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00095">cipher.h:95</a></div></div>
<div class="ttc" id="cipher_8h_html_acb17eb5d2106ba020a20b70d878aa7dda1500b0293a75a29cef21ea91ca279edc"><div class="ttname"><a href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dda1500b0293a75a29cef21ea91ca279edc">POLARSSL_PADDING_ONE_AND_ZEROS</a></div><div class="ttdoc">ISO/IEC 7816-4 padding. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00148">cipher.h:148</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a25d8a914e19a95d2f95ecb764058d49c"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a25d8a914e19a95d2f95ecb764058d49c">POLARSSL_CIPHER_CAMELLIA_192_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00104">cipher.h:104</a></div></div>
<div class="ttc" id="cipher_8h_html_aac61499800e5f1436c61fcdd8be5ba4b"><div class="ttname"><a href="cipher_8h.html#aac61499800e5f1436c61fcdd8be5ba4b">cipher_crypt</a></div><div class="ttdeci">int cipher_crypt(cipher_context_t *ctx, const unsigned char *iv, size_t iv_len, const unsigned char *input, size_t ilen, unsigned char *output, size_t *olen)</div><div class="ttdoc">Generic all-in-one encryption/decryption (for all ciphers except AEAD constructs). </div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6abaeb5cf2ebe24189a042f999151468ae"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6abaeb5cf2ebe24189a042f999151468ae">POLARSSL_CIPHER_AES_256_CTR</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00096">cipher.h:96</a></div></div>
<div class="ttc" id="cipher_8h_html_a373f5d3a0a42c77ff4f5fe4fe7da0560a3c1f6cf1191ddfb115467769ddff4851"><div class="ttname"><a href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a3c1f6cf1191ddfb115467769ddff4851">POLARSSL_CIPHER_ID_ARC4</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00079">cipher.h:79</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a38daa50cfa1c23ffda451ea940474a3f"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a38daa50cfa1c23ffda451ea940474a3f">POLARSSL_CIPHER_BLOWFISH_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00122">cipher.h:122</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a69e28d61d887dea757badae6bb5cc1c5"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a69e28d61d887dea757badae6bb5cc1c5">POLARSSL_CIPHER_AES_256_CFB128</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00093">cipher.h:93</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a17e4803d634ea1ee4daa8f26500a6393"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a17e4803d634ea1ee4daa8f26500a6393">POLARSSL_CIPHER_CAMELLIA_192_CCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00130">cipher.h:130</a></div></div>
<div class="ttc" id="cipher_8h_html_af65d0bd9b5c3504fd010cf54955b179caf460bee5fb0bf8b383a1fe23099b6707"><div class="ttname"><a href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179caf460bee5fb0bf8b383a1fe23099b6707">POLARSSL_MODE_STREAM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00142">cipher.h:142</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a634d2a1fff658d083c07a21175ca6c8e"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a634d2a1fff658d083c07a21175ca6c8e">POLARSSL_CIPHER_CAMELLIA_256_CFB128</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00108">cipher.h:108</a></div></div>
<div class="ttc" id="structcipher__context__t_html_a93c2ded51eb87ba78aa9ee10d8f476fb"><div class="ttname"><a href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_context_t::cipher_info</a></div><div class="ttdeci">const cipher_info_t * cipher_info</div><div class="ttdoc">Information about the associated cipher. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00260">cipher.h:260</a></div></div>
<div class="ttc" id="cipher_8h_html_a76a810650461f2062938ee9b82666b36ad8e41c0d381b23d7835dd322e511564f"><div class="ttname"><a href="cipher_8h.html#a76a810650461f2062938ee9b82666b36ad8e41c0d381b23d7835dd322e511564f">POLARSSL_ENCRYPT</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00157">cipher.h:157</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a2c9c1dabfa8c03b612dd7064fedc6540"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a2c9c1dabfa8c03b612dd7064fedc6540">POLARSSL_CIPHER_CAMELLIA_128_CCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00129">cipher.h:129</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a8ff89c9e9e41ec779b9424f51bfa2fba"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8ff89c9e9e41ec779b9424f51bfa2fba">POLARSSL_CIPHER_CAMELLIA_192_CTR</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00110">cipher.h:110</a></div></div>
<div class="ttc" id="cipher_8h_html_a373f5d3a0a42c77ff4f5fe4fe7da0560a945e095b835040add01d72e8a24e0047"><div class="ttname"><a href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a945e095b835040add01d72e8a24e0047">POLARSSL_CIPHER_ID_3DES</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00076">cipher.h:76</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a8355e93505e089dbe9fb391e901d6d44"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8355e93505e089dbe9fb391e901d6d44">POLARSSL_CIPHER_CAMELLIA_192_GCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00113">cipher.h:113</a></div></div>
<div class="ttc" id="structcipher__context__t_html_a621cd7faaf726b227e2ad58e8b7b755d"><div class="ttname"><a href="structcipher__context__t.html#a621cd7faaf726b227e2ad58e8b7b755d">cipher_context_t::operation</a></div><div class="ttdeci">operation_t operation</div><div class="ttdoc">Operation that the context&amp;#39;s key has been initialised for. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00266">cipher.h:266</a></div></div>
<div class="ttc" id="cipher_8h_html_af65d0bd9b5c3504fd010cf54955b179c"><div class="ttname"><a href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179c">cipher_mode_t</a></div><div class="ttdeci">cipher_mode_t</div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00134">cipher.h:134</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6adb00f9e0c03029ce6536979ba41fe1a5"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6adb00f9e0c03029ce6536979ba41fe1a5">POLARSSL_CIPHER_AES_256_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00087">cipher.h:87</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6">cipher_type_t</a></div><div class="ttdeci">cipher_type_t</div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00082">cipher.h:82</a></div></div>
<div class="ttc" id="cipher_8h_html_a373f5d3a0a42c77ff4f5fe4fe7da0560a54c7640a78cff246c1c9557d23ff5fa6"><div class="ttname"><a href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a54c7640a78cff246c1c9557d23ff5fa6">POLARSSL_CIPHER_ID_DES</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00075">cipher.h:75</a></div></div>
<div class="ttc" id="cipher_8h_html_aa2488bd674e8deee5938b1926f4868f0"><div class="ttname"><a href="cipher_8h.html#aa2488bd674e8deee5938b1926f4868f0">POLARSSL_MAX_BLOCK_LENGTH</a></div><div class="ttdeci">#define POLARSSL_MAX_BLOCK_LENGTH</div><div class="ttdoc">Maximum block size of any cipher, in bytes. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00174">cipher.h:174</a></div></div>
<div class="ttc" id="structcipher__context__t_html_a777d4a1f4f3951a475ec9ebbf2527a28"><div class="ttname"><a href="structcipher__context__t.html#a777d4a1f4f3951a475ec9ebbf2527a28">cipher_context_t::unprocessed_len</a></div><div class="ttdeci">size_t unprocessed_len</div><div class="ttdoc">Number of bytes that still need processing. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00276">cipher.h:276</a></div></div>
<div class="ttc" id="cipher_8h_html_ac8abe3c96c800481697cfe8260cf829d"><div class="ttname"><a href="cipher_8h.html#ac8abe3c96c800481697cfe8260cf829d">cipher_free_ctx</a></div><div class="ttdeci">int cipher_free_ctx(cipher_context_t *ctx)</div><div class="ttdoc">Free the cipher-specific context of ctx. </div></div>
<div class="ttc" id="cipher_8h_html_a5b8cb1cff4b19e01849c84c67364500d"><div class="ttname"><a href="cipher_8h.html#a5b8cb1cff4b19e01849c84c67364500d">cipher_update_ad</a></div><div class="ttdeci">int cipher_update_ad(cipher_context_t *ctx, const unsigned char *ad, size_t ad_len)</div><div class="ttdoc">Add additional data (for AEAD ciphers). </div></div>
<div class="ttc" id="structcipher__info__t_html_a2a22ee6e5c529e10cbe6225d71460b26"><div class="ttname"><a href="structcipher__info__t.html#a2a22ee6e5c529e10cbe6225d71460b26">cipher_info_t::key_length</a></div><div class="ttdeci">unsigned int key_length</div><div class="ttdoc">Cipher key length, in bits (default length for variable sized ciphers) (Includes parity bits for ciph...</div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00235">cipher.h:235</a></div></div>
<div class="ttc" id="cipher_8h_html_a76a810650461f2062938ee9b82666b36"><div class="ttname"><a href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a></div><div class="ttdeci">operation_t</div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00154">cipher.h:154</a></div></div>
<div class="ttc" id="cipher_8h_html_abca5954bfff4e62c5280267d2a97171d"><div class="ttname"><a href="cipher_8h.html#abca5954bfff4e62c5280267d2a97171d">cipher_set_iv</a></div><div class="ttdeci">int cipher_set_iv(cipher_context_t *ctx, const unsigned char *iv, size_t iv_len)</div><div class="ttdoc">Set the initialization vector (IV) or nonce. </div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6afb71c594cdaf3411cf7768ff57431125"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6afb71c594cdaf3411cf7768ff57431125">POLARSSL_CIPHER_CAMELLIA_128_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00100">cipher.h:100</a></div></div>
<div class="ttc" id="cipher_8h_html_a30155c676722d3538392b32ac45e8f8a"><div class="ttname"><a href="cipher_8h.html#a30155c676722d3538392b32ac45e8f8a">cipher_auth_encrypt</a></div><div class="ttdeci">int cipher_auth_encrypt(cipher_context_t *ctx, const unsigned char *iv, size_t iv_len, const unsigned char *ad, size_t ad_len, const unsigned char *input, size_t ilen, unsigned char *output, size_t *olen, unsigned char *tag, size_t tag_len)</div><div class="ttdoc">Generic autenticated encryption (AEAD ciphers). </div></div>
<div class="ttc" id="cipher_8h_html_afca62e9b6e95da3a46fa6c95f0a09e38"><div class="ttname"><a href="cipher_8h.html#afca62e9b6e95da3a46fa6c95f0a09e38">cipher_update</a></div><div class="ttdeci">int cipher_update(cipher_context_t *ctx, const unsigned char *input, size_t ilen, unsigned char *output, size_t *olen)</div><div class="ttdoc">Generic cipher update function. </div></div>
<div class="ttc" id="cipher_8h_html_a76a810650461f2062938ee9b82666b36a878b38bff48702f7816ee15e6954b717"><div class="ttname"><a href="cipher_8h.html#a76a810650461f2062938ee9b82666b36a878b38bff48702f7816ee15e6954b717">POLARSSL_OPERATION_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00155">cipher.h:155</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a8ce984017149df219b49fcc1d506ce10"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8ce984017149df219b49fcc1d506ce10">POLARSSL_CIPHER_DES_EDE_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00118">cipher.h:118</a></div></div>
<div class="ttc" id="cipher_8h_html_a373f5d3a0a42c77ff4f5fe4fe7da0560aad5ebb9bbbb1a70f117da429c31f1850"><div class="ttname"><a href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560aad5ebb9bbbb1a70f117da429c31f1850">POLARSSL_CIPHER_ID_NULL</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00073">cipher.h:73</a></div></div>
<div class="ttc" id="cipher_8h_html_ad2f7c44697223ae63d7814fc7e8b9092"><div class="ttname"><a href="cipher_8h.html#ad2f7c44697223ae63d7814fc7e8b9092">cipher_auth_decrypt</a></div><div class="ttdeci">int cipher_auth_decrypt(cipher_context_t *ctx, const unsigned char *iv, size_t iv_len, const unsigned char *ad, size_t ad_len, const unsigned char *input, size_t ilen, unsigned char *output, size_t *olen, const unsigned char *tag, size_t tag_len)</div><div class="ttdoc">Generic autenticated decryption (AEAD ciphers). </div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6af14528a0b54195461babbaec8181913c"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6af14528a0b54195461babbaec8181913c">POLARSSL_CIPHER_DES_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00116">cipher.h:116</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a8d4e003be055910575927334574d81e2"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8d4e003be055910575927334574d81e2">POLARSSL_CIPHER_AES_128_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00088">cipher.h:88</a></div></div>
<div class="ttc" id="cipher_8h_html_a06fc87d81c62e9abb8790b6e5713c55bae76d012453101c4c2abe7a807de47219"><div class="ttname"><a href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55bae76d012453101c4c2abe7a807de47219">POLARSSL_KEY_LENGTH_DES_EDE3</a></div><div class="ttdoc">Key length, in bits (including parity), for DES in three-key EDE. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00168">cipher.h:168</a></div></div>
<div class="ttc" id="structcipher__info__t_html_a9b189d0ce9de3eada6b874f1ce8a7393"><div class="ttname"><a href="structcipher__info__t.html#a9b189d0ce9de3eada6b874f1ce8a7393">cipher_info_t::name</a></div><div class="ttdeci">const char * name</div><div class="ttdoc">Name of the cipher. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00238">cipher.h:238</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a916a07fd9b1787be9f9bf4d55e92a2a8"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a916a07fd9b1787be9f9bf4d55e92a2a8">POLARSSL_CIPHER_AES_192_GCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00098">cipher.h:98</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a771ce38dd356f676da95c91c86ac3b2d"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a771ce38dd356f676da95c91c86ac3b2d">POLARSSL_CIPHER_CAMELLIA_128_CTR</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00109">cipher.h:109</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a7fbc06c11043b1283a2f0c37063025ef"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a7fbc06c11043b1283a2f0c37063025ef">POLARSSL_CIPHER_CAMELLIA_128_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00103">cipher.h:103</a></div></div>
<div class="ttc" id="cipher_8h_html_a373f5d3a0a42c77ff4f5fe4fe7da0560a7f2185b07190a2ea88e864155bbec21d"><div class="ttname"><a href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a7f2185b07190a2ea88e864155bbec21d">POLARSSL_CIPHER_ID_AES</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00074">cipher.h:74</a></div></div>
<div class="ttc" id="cipher_8h_html_a373f5d3a0a42c77ff4f5fe4fe7da0560"><div class="ttname"><a href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560">cipher_id_t</a></div><div class="ttdeci">cipher_id_t</div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00071">cipher.h:71</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a8193cb4f12803423fc303f3f804038a4"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a8193cb4f12803423fc303f3f804038a4">POLARSSL_CIPHER_CAMELLIA_128_CFB128</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00106">cipher.h:106</a></div></div>
<div class="ttc" id="cipher_8h_html_aded691b9d905920d9675e7b9828a237c"><div class="ttname"><a href="cipher_8h.html#aded691b9d905920d9675e7b9828a237c">POLARSSL_MAX_IV_LENGTH</a></div><div class="ttdeci">#define POLARSSL_MAX_IV_LENGTH</div><div class="ttdoc">Maximum length of any IV, in bytes. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00172">cipher.h:172</a></div></div>
<div class="ttc" id="cipher_8h_html_a0a55a8eeae5ebb2627c59257ffb202bc"><div class="ttname"><a href="cipher_8h.html#a0a55a8eeae5ebb2627c59257ffb202bc">cipher_reset</a></div><div class="ttdeci">int cipher_reset(cipher_context_t *ctx)</div><div class="ttdoc">Finish preparation of the given context. </div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a4802ed2b8f0b2201a35bbee4779ca40b"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a4802ed2b8f0b2201a35bbee4779ca40b">POLARSSL_CIPHER_CAMELLIA_128_GCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00112">cipher.h:112</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6ab7f25ac8ae942ca9cfbe97a65d56ce2e"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ab7f25ac8ae942ca9cfbe97a65d56ce2e">POLARSSL_CIPHER_ARC4_128</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00125">cipher.h:125</a></div></div>
<div class="ttc" id="structcipher__base__t_html_a539b9bf80fc122393affcc4cf8e1d3cc"><div class="ttname"><a href="structcipher__base__t.html#a539b9bf80fc122393affcc4cf8e1d3cc">cipher_base_t::cipher</a></div><div class="ttdeci">cipher_id_t cipher</div><div class="ttdoc">Base Cipher type (e.g. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00182">cipher.h:182</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a7f02d410ddbed8cf2d14900cf3574409"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a7f02d410ddbed8cf2d14900cf3574409">POLARSSL_CIPHER_AES_128_CFB128</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00091">cipher.h:91</a></div></div>
<div class="ttc" id="cipher_8h_html_af27f8e4cd1fab59615c3d73c69d136c8"><div class="ttname"><a href="cipher_8h.html#af27f8e4cd1fab59615c3d73c69d136c8">cipher_free</a></div><div class="ttdeci">void cipher_free(cipher_context_t *ctx)</div><div class="ttdoc">Free and clear the cipher-specific context of ctx. </div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a89d049ae306bffa6d89431b51c8a786b"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a89d049ae306bffa6d89431b51c8a786b">POLARSSL_CIPHER_CAMELLIA_256_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00102">cipher.h:102</a></div></div>
<div class="ttc" id="cipher_8h_html_abbc809fe32e1cce35834006d1edf1f2c"><div class="ttname"><a href="cipher_8h.html#abbc809fe32e1cce35834006d1edf1f2c">cipher_set_padding_mode</a></div><div class="ttdeci">int cipher_set_padding_mode(cipher_context_t *ctx, cipher_padding_t mode)</div><div class="ttdoc">Set padding mode, for cipher modes that use padding. </div></div>
<div class="ttc" id="structcipher__info__t_html_a61c2ca01508859a6119d8b4c22e2edd2"><div class="ttname"><a href="structcipher__info__t.html#a61c2ca01508859a6119d8b4c22e2edd2">cipher_info_t::mode</a></div><div class="ttdeci">cipher_mode_t mode</div><div class="ttdoc">Cipher mode (e.g. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00231">cipher.h:231</a></div></div>
<div class="ttc" id="cipher_8h_html_a76a810650461f2062938ee9b82666b36ae99cd4d55b496dbb74727f7a6ed872c7"><div class="ttname"><a href="cipher_8h.html#a76a810650461f2062938ee9b82666b36ae99cd4d55b496dbb74727f7a6ed872c7">POLARSSL_DECRYPT</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00156">cipher.h:156</a></div></div>
<div class="ttc" id="cipher_8h_html_af65d0bd9b5c3504fd010cf54955b179ca12481621829a56c22c4620d5596feca5"><div class="ttname"><a href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179ca12481621829a56c22c4620d5596feca5">POLARSSL_MODE_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00135">cipher.h:135</a></div></div>
<div class="ttc" id="cipher_8h_html_acb17eb5d2106ba020a20b70d878aa7dd"><div class="ttname"><a href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dd">cipher_padding_t</a></div><div class="ttdeci">cipher_padding_t</div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00146">cipher.h:146</a></div></div>
<div class="ttc" id="cipher_8h_html_ab6316d711155a6ba661d6dd18eaf3bf2"><div class="ttname"><a href="cipher_8h.html#ab6316d711155a6ba661d6dd18eaf3bf2">cipher_get_operation</a></div><div class="ttdeci">static operation_t cipher_get_operation(const cipher_context_t *ctx)</div><div class="ttdoc">Returns the operation of the given cipher. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00486">cipher.h:486</a></div></div>
<div class="ttc" id="cipher_8h_html_acb17eb5d2106ba020a20b70d878aa7dda4a67d6bf4aec45912ee66f37a3cbb8a8"><div class="ttname"><a href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dda4a67d6bf4aec45912ee66f37a3cbb8a8">POLARSSL_PADDING_PKCS7</a></div><div class="ttdoc">PKCS7 padding (default) </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00147">cipher.h:147</a></div></div>
<div class="ttc" id="cipher_8h_html_adc7c37e925193805884085ca87587f64"><div class="ttname"><a href="cipher_8h.html#adc7c37e925193805884085ca87587f64">cipher_init_ctx</a></div><div class="ttdeci">int cipher_init_ctx(cipher_context_t *ctx, const cipher_info_t *cipher_info)</div><div class="ttdoc">Initialises and fills the cipher context structure with the appropriate values. </div></div>
<div class="ttc" id="cipher_8h_html_a77355bddf2d69f68d55e2bd2374e9257"><div class="ttname"><a href="cipher_8h.html#a77355bddf2d69f68d55e2bd2374e9257">cipher_setkey</a></div><div class="ttdeci">int cipher_setkey(cipher_context_t *ctx, const unsigned char *key, int key_length, const operation_t operation)</div><div class="ttdoc">Set the key to use with the given context. </div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a0da001217dca5276686d3fe73939bb77"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a0da001217dca5276686d3fe73939bb77">POLARSSL_CIPHER_BLOWFISH_CTR</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00124">cipher.h:124</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6ab613ba7e4b52c0cdc64e93d314cd3fbf"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ab613ba7e4b52c0cdc64e93d314cd3fbf">POLARSSL_CIPHER_AES_128_CCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00126">cipher.h:126</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6aad917e3c424e563fc088827959c88868"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6aad917e3c424e563fc088827959c88868">POLARSSL_CIPHER_AES_192_CFB128</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00092">cipher.h:92</a></div></div>
<div class="ttc" id="cipher_8h_html_acb17eb5d2106ba020a20b70d878aa7ddaae558f0b4d848f4a29f0fae3fedbcf99"><div class="ttname"><a href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7ddaae558f0b4d848f4a29f0fae3fedbcf99">POLARSSL_PADDING_NONE</a></div><div class="ttdoc">never pad (full blocks only) </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00151">cipher.h:151</a></div></div>
<div class="ttc" id="structcipher__base__t_html"><div class="ttname"><a href="structcipher__base__t.html">cipher_base_t</a></div><div class="ttdoc">Base cipher information. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00179">cipher.h:179</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a26b732304711bc77fbd4984f59719461"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a26b732304711bc77fbd4984f59719461">POLARSSL_CIPHER_NULL</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00084">cipher.h:84</a></div></div>
<div class="ttc" id="structcipher__info__t_html_a12c80723dd2c354ff5596b0931d4fedb"><div class="ttname"><a href="structcipher__info__t.html#a12c80723dd2c354ff5596b0931d4fedb">cipher_info_t::base</a></div><div class="ttdeci">const cipher_base_t * base</div><div class="ttdoc">Base cipher information and functions. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00251">cipher.h:251</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a028f9f32aacd390889b29f67c6d9fdcd"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a028f9f32aacd390889b29f67c6d9fdcd">POLARSSL_CIPHER_CAMELLIA_256_GCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00114">cipher.h:114</a></div></div>
<div class="ttc" id="cipher_8h_html_a036719c5224e57cf8469ebf9daceb137"><div class="ttname"><a href="cipher_8h.html#a036719c5224e57cf8469ebf9daceb137">cipher_list</a></div><div class="ttdeci">const int * cipher_list(void)</div><div class="ttdoc">Returns the list of ciphers supported by the generic cipher module. </div></div>
<div class="ttc" id="cipher_8h_html_a06fc87d81c62e9abb8790b6e5713c55badc72f57d8ab7a6ca11f7cf86c6899366"><div class="ttname"><a href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55badc72f57d8ab7a6ca11f7cf86c6899366">POLARSSL_KEY_LENGTH_NONE</a></div><div class="ttdoc">Undefined key length. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00162">cipher.h:162</a></div></div>
<div class="ttc" id="cipher_8h_html_a373f5d3a0a42c77ff4f5fe4fe7da0560a4e4271ec0a459bae7d6f4a0a825bddc9"><div class="ttname"><a href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a4e4271ec0a459bae7d6f4a0a825bddc9">POLARSSL_CIPHER_ID_CAMELLIA</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00077">cipher.h:77</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a383bff04387b7fbb14fdf526688a87c4"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a383bff04387b7fbb14fdf526688a87c4">POLARSSL_CIPHER_AES_256_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00090">cipher.h:90</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a80290044d0da4521376ed60d5edc8c67"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a80290044d0da4521376ed60d5edc8c67">POLARSSL_CIPHER_CAMELLIA_256_CCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00131">cipher.h:131</a></div></div>
<div class="ttc" id="cipher_8h_html_acb17eb5d2106ba020a20b70d878aa7dda5610144cf3e2bf2289e0e52e3fe16aa2"><div class="ttname"><a href="cipher_8h.html#acb17eb5d2106ba020a20b70d878aa7dda5610144cf3e2bf2289e0e52e3fe16aa2">POLARSSL_PADDING_ZEROS_AND_LEN</a></div><div class="ttdoc">ANSI X.923 padding. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00149">cipher.h:149</a></div></div>
<div class="ttc" id="structcipher__info__t_html_a7e21795685c79613b5125ca608b0c63b"><div class="ttname"><a href="structcipher__info__t.html#a7e21795685c79613b5125ca608b0c63b">cipher_info_t::block_size</a></div><div class="ttdeci">unsigned int block_size</div><div class="ttdoc">block size, in bytes </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00248">cipher.h:248</a></div></div>
<div class="ttc" id="cipher_8h_html_af65d0bd9b5c3504fd010cf54955b179ca9c7b9959c0a1b08bed57d40edc27ffe9"><div class="ttname"><a href="cipher_8h.html#af65d0bd9b5c3504fd010cf54955b179ca9c7b9959c0a1b08bed57d40edc27ffe9">POLARSSL_MODE_CTR</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00140">cipher.h:140</a></div></div>
<div class="ttc" id="structcipher__context__t_html_aef2bf9abf15fb851faf69c1591790f29"><div class="ttname"><a href="structcipher__context__t.html#aef2bf9abf15fb851faf69c1591790f29">cipher_context_t::cipher_ctx</a></div><div class="ttdeci">void * cipher_ctx</div><div class="ttdoc">Cipher-specific context. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00285">cipher.h:285</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6ade30c0ba8f3b4c0149dc711f595c32a9"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ade30c0ba8f3b4c0149dc711f595c32a9">POLARSSL_CIPHER_BLOWFISH_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00121">cipher.h:121</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a25905ecd711ed8af6d78bd38b19790de"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a25905ecd711ed8af6d78bd38b19790de">POLARSSL_CIPHER_CAMELLIA_256_CTR</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00111">cipher.h:111</a></div></div>
<div class="ttc" id="cipher_8h_html_a9534326eea78885a9b47ce0b0a3aa0d3"><div class="ttname"><a href="cipher_8h.html#a9534326eea78885a9b47ce0b0a3aa0d3">cipher_get_key_size</a></div><div class="ttdeci">static int cipher_get_key_size(const cipher_context_t *ctx)</div><div class="ttdoc">Returns the key length of the cipher. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00469">cipher.h:469</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a5113b084db48bacfe7f8773a8f709a30"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a5113b084db48bacfe7f8773a8f709a30">POLARSSL_CIPHER_AES_256_GCM</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00099">cipher.h:99</a></div></div>
<div class="ttc" id="cipher_8h_html_ae9adb04c9894c75bbf71189d25b1b988"><div class="ttname"><a href="cipher_8h.html#ae9adb04c9894c75bbf71189d25b1b988">cipher_self_test</a></div><div class="ttdeci">int cipher_self_test(int verbose)</div><div class="ttdoc">Checkup routine. </div></div>
<div class="ttc" id="cipher_8h_html_a373f5d3a0a42c77ff4f5fe4fe7da0560a18bc87fe56e4f9fcb83c2a59829915d8"><div class="ttname"><a href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a18bc87fe56e4f9fcb83c2a59829915d8">POLARSSL_CIPHER_ID_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00072">cipher.h:72</a></div></div>
<div class="ttc" id="structcipher__context__t_html_a124f269c0d3b1ce1a74f5dcacf69b688"><div class="ttname"><a href="structcipher__context__t.html#a124f269c0d3b1ce1a74f5dcacf69b688">cipher_context_t::iv_size</a></div><div class="ttdeci">size_t iv_size</div><div class="ttdoc">IV size in bytes (for ciphers with variable-length IVs) </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00282">cipher.h:282</a></div></div>
<div class="ttc" id="cipher_8h_html_a373f5d3a0a42c77ff4f5fe4fe7da0560a4156bba2b3f3f98a5ef5ee212a6ce992"><div class="ttname"><a href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560a4156bba2b3f3f98a5ef5ee212a6ce992">POLARSSL_CIPHER_ID_BLOWFISH</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00078">cipher.h:78</a></div></div>
<div class="ttc" id="structcipher__info__t_html_ab3a9f706fa42f9a43a0e8d50ac54a959"><div class="ttname"><a href="structcipher__info__t.html#ab3a9f706fa42f9a43a0e8d50ac54a959">cipher_info_t::flags</a></div><div class="ttdeci">int flags</div><div class="ttdoc">Flags for variable IV size, variable key size, etc. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00245">cipher.h:245</a></div></div>
<div class="ttc" id="cipher_8h_html_a907de4e9c5331d3e0a7d58c887e9173a"><div class="ttname"><a href="cipher_8h.html#a907de4e9c5331d3e0a7d58c887e9173a">cipher_check_tag</a></div><div class="ttdeci">int cipher_check_tag(cipher_context_t *ctx, const unsigned char *tag, size_t tag_len)</div><div class="ttdoc">Check tag for AEAD ciphers. </div></div>
<div class="ttc" id="structcipher__info__t_html_ae8fde413dc240da60f4062c3138eec0a"><div class="ttname"><a href="structcipher__info__t.html#ae8fde413dc240da60f4062c3138eec0a">cipher_info_t::iv_size</a></div><div class="ttdeci">unsigned int iv_size</div><div class="ttdoc">IV/NONCE size, in bytes. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00242">cipher.h:242</a></div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6a79352d8566dcb0eb1395d0f4ce4ba0b2"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6a79352d8566dcb0eb1395d0f4ce4ba0b2">POLARSSL_CIPHER_DES_EDE3_ECB</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00119">cipher.h:119</a></div></div>
<div class="ttc" id="cipher_8h_html_a06fc87d81c62e9abb8790b6e5713c55bac20e9716bcdadc5bddba0e6e6ebb133b"><div class="ttname"><a href="cipher_8h.html#a06fc87d81c62e9abb8790b6e5713c55bac20e9716bcdadc5bddba0e6e6ebb133b">POLARSSL_KEY_LENGTH_DES_EDE</a></div><div class="ttdoc">Key length, in bits (including parity), for DES in two key EDE. </div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00166">cipher.h:166</a></div></div>
<div class="ttc" id="cipher_8h_html_a68fd6a4ea2c236dc4abcad76d73d5cac"><div class="ttname"><a href="cipher_8h.html#a68fd6a4ea2c236dc4abcad76d73d5cac">cipher_info_from_values</a></div><div class="ttdeci">const cipher_info_t * cipher_info_from_values(const cipher_id_t cipher_id, int key_length, const cipher_mode_t mode)</div><div class="ttdoc">Returns the cipher information structure associated with the given cipher id, key size and mode...</div></div>
<div class="ttc" id="cipher_8h_html_a806c82ed7e8b591dedc86093f38274e6ae6ab208bff4f88dbba3277a05686b0a9"><div class="ttname"><a href="cipher_8h.html#a806c82ed7e8b591dedc86093f38274e6ae6ab208bff4f88dbba3277a05686b0a9">POLARSSL_CIPHER_DES_EDE3_CBC</a></div><div class="ttdef"><b>Definition:</b> <a href="cipher_8h_source.html#l00120">cipher.h:120</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jul 31 2014 11:35:51 for PolarSSL v1.3.8 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>