Sophie

Sophie

distrib > Mageia > 6 > x86_64 > by-pkgid > e405d5f6b10a3a92bd2c28c4aa026c70 > files > 138

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mbed TLS v2.6.0: ccm.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">mbed TLS v2.6.0
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b4d146e9a6d8dd56ed4afb2480a97fd3.html">mbedtls</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">ccm.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Counter with CBC-MAC (CCM) for 128-bit block ciphers.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="cipher_8h_source.html">cipher.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ccm.h:</div>
<div class="dyncontent">
<div class="center"><img src="ccm_8h__incl.png" border="0" usemap="#ccm_8h" alt=""/></div>
<map name="ccm_8h" id="ccm_8h">
<area shape="rect" id="node2" href="cipher_8h.html" title="Generic cipher wrapper. " alt="" coords="98,80,201,107"/>
<area shape="rect" id="node3" href="config_8h.html" title="Configuration options (set of defines) " alt="" coords="35,155,138,181"/>
<area shape="rect" id="node4" href="check__config_8h.html" title="Consistency checks for configuration options. " alt="" coords="5,229,168,256"/>
</map>
</div>
</div>
<p><a href="ccm_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmbedtls__ccm__context.html">mbedtls_ccm_context</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CCM context structure.  <a href="structmbedtls__ccm__context.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a6ad00876b856ad8ac9f366fa7e1cf463"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#a6ad00876b856ad8ac9f366fa7e1cf463">MBEDTLS_ERR_CCM_BAD_INPUT</a>&#160;&#160;&#160;-0x000D</td></tr>
<tr class="memdesc:a6ad00876b856ad8ac9f366fa7e1cf463"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bad input parameters to function.  <a href="#a6ad00876b856ad8ac9f366fa7e1cf463">More...</a><br /></td></tr>
<tr class="separator:a6ad00876b856ad8ac9f366fa7e1cf463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7fda1fbbd14f096374da7ccd54f9d3e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#ae7fda1fbbd14f096374da7ccd54f9d3e">MBEDTLS_ERR_CCM_AUTH_FAILED</a>&#160;&#160;&#160;-0x000F</td></tr>
<tr class="memdesc:ae7fda1fbbd14f096374da7ccd54f9d3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Authenticated decryption failed.  <a href="#ae7fda1fbbd14f096374da7ccd54f9d3e">More...</a><br /></td></tr>
<tr class="separator:ae7fda1fbbd14f096374da7ccd54f9d3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:abaeb0629dfac72016fda58a4f7870040"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#abaeb0629dfac72016fda58a4f7870040">mbedtls_ccm_init</a> (<a class="el" href="structmbedtls__ccm__context.html">mbedtls_ccm_context</a> *ctx)</td></tr>
<tr class="memdesc:abaeb0629dfac72016fda58a4f7870040"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize CCM context (just makes references valid) Makes the context ready for <a class="el" href="ccm_8h.html#a464d8e724738b4bbd5b415ca0580f1b1" title="CCM initialization (encryption and decryption) ">mbedtls_ccm_setkey()</a> or <a class="el" href="ccm_8h.html#a2bd8130a83c6633a4dfd61b181cdabac" title="Free a CCM context and underlying cipher sub-context. ">mbedtls_ccm_free()</a>.  <a href="#abaeb0629dfac72016fda58a4f7870040">More...</a><br /></td></tr>
<tr class="separator:abaeb0629dfac72016fda58a4f7870040"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a464d8e724738b4bbd5b415ca0580f1b1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#a464d8e724738b4bbd5b415ca0580f1b1">mbedtls_ccm_setkey</a> (<a class="el" href="structmbedtls__ccm__context.html">mbedtls_ccm_context</a> *ctx, <a class="el" href="cipher_8h.html#af5b069ffd0b2ad31225e42ee4ee29b1b">mbedtls_cipher_id_t</a> cipher, const unsigned char *key, unsigned int keybits)</td></tr>
<tr class="memdesc:a464d8e724738b4bbd5b415ca0580f1b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">CCM initialization (encryption and decryption)  <a href="#a464d8e724738b4bbd5b415ca0580f1b1">More...</a><br /></td></tr>
<tr class="separator:a464d8e724738b4bbd5b415ca0580f1b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bd8130a83c6633a4dfd61b181cdabac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#a2bd8130a83c6633a4dfd61b181cdabac">mbedtls_ccm_free</a> (<a class="el" href="structmbedtls__ccm__context.html">mbedtls_ccm_context</a> *ctx)</td></tr>
<tr class="memdesc:a2bd8130a83c6633a4dfd61b181cdabac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a CCM context and underlying cipher sub-context.  <a href="#a2bd8130a83c6633a4dfd61b181cdabac">More...</a><br /></td></tr>
<tr class="separator:a2bd8130a83c6633a4dfd61b181cdabac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64de697edfefbff94d7eb0d9a8de926f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#a64de697edfefbff94d7eb0d9a8de926f">mbedtls_ccm_encrypt_and_tag</a> (<a class="el" href="structmbedtls__ccm__context.html">mbedtls_ccm_context</a> *ctx, size_t length, const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t add_len, const unsigned char *input, unsigned char *output, unsigned char *tag, size_t tag_len)</td></tr>
<tr class="memdesc:a64de697edfefbff94d7eb0d9a8de926f"><td class="mdescLeft">&#160;</td><td class="mdescRight">CCM buffer encryption.  <a href="#a64de697edfefbff94d7eb0d9a8de926f">More...</a><br /></td></tr>
<tr class="separator:a64de697edfefbff94d7eb0d9a8de926f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dc9dfe246064185498f005d8bf22622"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#a8dc9dfe246064185498f005d8bf22622">mbedtls_ccm_auth_decrypt</a> (<a class="el" href="structmbedtls__ccm__context.html">mbedtls_ccm_context</a> *ctx, size_t length, const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t add_len, const unsigned char *input, unsigned char *output, const unsigned char *tag, size_t tag_len)</td></tr>
<tr class="memdesc:a8dc9dfe246064185498f005d8bf22622"><td class="mdescLeft">&#160;</td><td class="mdescRight">CCM buffer authenticated decryption.  <a href="#a8dc9dfe246064185498f005d8bf22622">More...</a><br /></td></tr>
<tr class="separator:a8dc9dfe246064185498f005d8bf22622"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14e016798db6cee11977bbdf5e7e0ab8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#a14e016798db6cee11977bbdf5e7e0ab8">mbedtls_ccm_self_test</a> (int verbose)</td></tr>
<tr class="memdesc:a14e016798db6cee11977bbdf5e7e0ab8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checkup routine.  <a href="#a14e016798db6cee11977bbdf5e7e0ab8">More...</a><br /></td></tr>
<tr class="separator:a14e016798db6cee11977bbdf5e7e0ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Counter with CBC-MAC (CCM) for 128-bit block ciphers. </p>
<p>Copyright (C) 2006-2015, ARM Limited, All Rights Reserved SPDX-License-Identifier: Apache-2.0</p>
<p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at</p>
<p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
<p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.</p>
<p>This file is part of mbed TLS (<a href="https://tls.mbed.org">https://tls.mbed.org</a>) </p>

<p class="definition">Definition in file <a class="el" href="ccm_8h_source.html">ccm.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ae7fda1fbbd14f096374da7ccd54f9d3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7fda1fbbd14f096374da7ccd54f9d3e">&#9670;&nbsp;</a></span>MBEDTLS_ERR_CCM_AUTH_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_CCM_AUTH_FAILED&#160;&#160;&#160;-0x000F</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Authenticated decryption failed. </p>

<p class="definition">Definition at line <a class="el" href="ccm_8h_source.html#l00029">29</a> of file <a class="el" href="ccm_8h_source.html">ccm.h</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_CCM_BAD_INPUT&#160;&#160;&#160;-0x000D</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bad input parameters to function. </p>

<p class="definition">Definition at line <a class="el" href="ccm_8h_source.html#l00028">28</a> of file <a class="el" href="ccm_8h_source.html">ccm.h</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ccm_auth_decrypt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ccm__context.html">mbedtls_ccm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>iv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>iv_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>add</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>add_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>tag_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>CCM buffer authenticated decryption. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>CCM context </td></tr>
    <tr><td class="paramname">length</td><td>length of the input data </td></tr>
    <tr><td class="paramname">iv</td><td>initialization vector </td></tr>
    <tr><td class="paramname">iv_len</td><td>length of IV </td></tr>
    <tr><td class="paramname">add</td><td>additional data </td></tr>
    <tr><td class="paramname">add_len</td><td>length of additional data </td></tr>
    <tr><td class="paramname">input</td><td>buffer holding the input data </td></tr>
    <tr><td class="paramname">output</td><td>buffer for holding the output data </td></tr>
    <tr><td class="paramname">tag</td><td>buffer holding the tag </td></tr>
    <tr><td class="paramname">tag_len</td><td>length of the tag</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful and authenticated, MBEDTLS_ERR_CCM_AUTH_FAILED if tag does not match </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ccm_encrypt_and_tag </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ccm__context.html">mbedtls_ccm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>iv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>iv_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>add</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>add_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>tag_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>CCM buffer encryption. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>CCM context </td></tr>
    <tr><td class="paramname">length</td><td>length of the input data in bytes </td></tr>
    <tr><td class="paramname">iv</td><td>nonce (initialization vector) </td></tr>
    <tr><td class="paramname">iv_len</td><td>length of IV in bytes must be 2, 3, 4, 5, 6, 7 or 8 </td></tr>
    <tr><td class="paramname">add</td><td>additional data </td></tr>
    <tr><td class="paramname">add_len</td><td>length of additional data in bytes must be less than 2^16 - 2^8 </td></tr>
    <tr><td class="paramname">input</td><td>buffer holding the input data </td></tr>
    <tr><td class="paramname">output</td><td>buffer for holding the output data must be at least 'length' bytes wide </td></tr>
    <tr><td class="paramname">tag</td><td>buffer for holding the tag </td></tr>
    <tr><td class="paramname">tag_len</td><td>length of the tag to generate in bytes must be 4, 6, 8, 10, 14 or 16</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The tag is written to a separate buffer. To get the tag concatenated with the output as in the CCM spec, use tag = output + length and make sure the output buffer is at least length + tag_len wide.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful </dd></dl>

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

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

<p>Free a CCM context and underlying cipher sub-context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>CCM context to free </td></tr>
  </table>
  </dd>
</dl>

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

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

<p>Initialize CCM context (just makes references valid) Makes the context ready for <a class="el" href="ccm_8h.html#a464d8e724738b4bbd5b415ca0580f1b1" title="CCM initialization (encryption and decryption) ">mbedtls_ccm_setkey()</a> or <a class="el" href="ccm_8h.html#a2bd8130a83c6633a4dfd61b181cdabac" title="Free a CCM context and underlying cipher sub-context. ">mbedtls_ccm_free()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>CCM context to initialize </td></tr>
  </table>
  </dd>
</dl>

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

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

<p>Checkup routine. </p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or 1 if the test failed </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ccm_setkey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ccm__context.html">mbedtls_ccm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="cipher_8h.html#af5b069ffd0b2ad31225e42ee4ee29b1b">mbedtls_cipher_id_t</a>&#160;</td>
          <td class="paramname"><em>cipher</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>keybits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>CCM initialization (encryption and decryption) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>CCM context to be initialized </td></tr>
    <tr><td class="paramname">cipher</td><td>cipher to use (a 128-bit block cipher) </td></tr>
    <tr><td class="paramname">key</td><td>encryption key </td></tr>
    <tr><td class="paramname">keybits</td><td>key size in bits (must be acceptable by the cipher)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a cipher specific error code </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Dec 28 2017 18:33:30 for mbed TLS v2.6.0 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>