1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" />
7    <style type="text/css"><!--
8      span.static_style
9      {
10        font-size			: 8pt;
11        color				: white;
12        font-weight			: bold;
13        background			: #44f;
14        border-left			: solid 1px #aaf;
15        border-top			: solid 1px #aaf;
16        border-right		: solid 1px #00c;
17        border-bottom		: solid 1px #00c;
18        padding-left		: 2px;
19        padding-right		: 2px;
20      }
21
22      span.virtual_style
23      {
24        font-size			 : 8pt;
25        color				 : white;
26        font-weight			: bold;
27        background			: #0a0;
28        border-left			: solid 1px #0f0;
29        border-top			: solid 1px #0f0;
30        border-right		: solid 1px #060;
31        border-bottom		: solid 1px #060;
32        padding-left		: 2px;
33        padding-right		: 2px;
34      }
35
36      span.protected_style
37      {
38        font-size			 : 8pt;
39        color				 : white;
40        font-weight			: bold;
41        background			: #444;
42        border-left			: solid 1px #ccc;
43        border-top			: solid 1px #ccc;
44        border-right		: solid 1px #222;
45        border-bottom		: solid 1px #222;
46        padding-left		: 2px;
47        padding-right		: 2px;
48      }
49        --></style>
50    <title>nn::crypto::CcmEncryptor</title>
51  </head>
52  <body>
53    <h1><CODE><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/crypto/Overview.html">crypto</a>::CcmEncryptor</CODE> Class</h1>
54    <h2>Syntax</h2>
55    <div class="section">
56      <pre class="definition">class CcmEncryptor : public <a href="../../../nn/crypto/AuthenticatedEncryptor/Overview.html">nn::crypto::AuthenticatedEncryptor</a></pre>
57    </div>
58    <h2>Description</h2>
59    <div class="section">
60      <p>Class for encrypting and generating an MAC in CCM mode.</p><p>CCM uses the cipher mode with verification stipulated by NIST SP 800-38C. When implementing this class, use the methods described in Appendix A of the above documentation for the input value format and counter value generation function.</p><p>CCM mode only supports block ciphers with block lengths of 128 bits.</p><!-- write here --></div>
61    <a name="constant" id="constant">
62      <h2>Member Constants</h2>
63      <div class="section">
64        <table class="members">
65          <tr>
66            <td width="100">
67              <span class="static_style" title="static">S</span>
68            </td>
69            <th>
70              <span class="argument"><a href="../../../nn/crypto/CcmEncryptor/BLOCK_SIZE.html"><CODE>BLOCK_SIZE</CODE></a></span>
71            </th>
72            <td width="100">const size_t</td>
73            <td>Constant representing the block size.</td>
74          </tr>
75          <tr>
76            <td width="100">
77              <span class="static_style" title="static">S</span>
78            </td>
79            <th>
80              <span class="argument"><a href="../../../nn/crypto/CcmEncryptor/IV_SIZE.html"><CODE>IV_SIZE</CODE></a></span>
81            </th>
82            <td width="100">const size_t</td>
83            <td>Constant representing the maximum IV size.</td>
84          </tr>
85          <tr>
86            <td width="100">
87              <span class="static_style" title="static">S</span>
88            </td>
89            <th>
90              <span class="argument"><a href="../../../nn/crypto/CcmEncryptor/UNIT_SIZE.html"><CODE>UNIT_SIZE</CODE></a></span>
91            </th>
92            <td width="100">const size_t</td>
93            <td>Constant representing the processing unit size.</td>
94          </tr>
95          <tr>
96            <td width="100">
97              <span class="static_style" title="static">S</span>
98            </td>
99            <th>
100              <span class="argument"><a href="../../../nn/crypto/CcmEncryptor/MAC_SIZE.html"><CODE>MAC_SIZE</CODE></a></span>
101            </th>
102            <td width="100">const size_t</td>
103            <td>Constant representing the maximum MAC size.</td>
104          </tr> </table>
105      </div>
106    </a> <a name="function" id="function">
107      <h2>Member Functions</h2>
108      <div class="section">
109        <table class="members">
110          <tr>
111            <td width="100">  </td>
112            <th>
113              <a href="../../../nn/crypto/CcmEncryptor/Initialize.html"><CODE>Initialize</CODE></a>
114            </th>
115            <td>Initializes encryption in CCM mode.</td>
116          </tr>
117          <tr>
118            <td width="100"> <span class="virtual_style" title="virtual">V</span>
119            </td>
120            <th>
121              <a href="../../../nn/crypto/CcmEncryptor/Finalize.html"><CODE>Finalize</CODE></a>
122            </th>
123            <td>Finalizes encryption in CCM mode.</td>
124          </tr>
125          <tr>
126            <td width="100"> <span class="virtual_style" title="virtual">V</span>
127            </td>
128            <th>
129              <a href="../../../nn/crypto/CcmEncryptor/GetIvSize.html"><CODE>GetIvSize</CODE></a>
130            </th>
131            <td>Gets the maximum IV size.</td>
132          </tr>
133          <tr>
134            <td width="100"> <span class="virtual_style" title="virtual">V</span>
135            </td>
136            <th>
137              <a href="../../../nn/crypto/CcmEncryptor/GetUnitSize.html"><CODE>GetUnitSize</CODE></a>
138            </th>
139            <td>Gets the processing unit size.</td>
140          </tr>
141          <tr>
142            <td width="100"> <span class="virtual_style" title="virtual">V</span>
143            </td>
144            <th>
145              <a href="../../../nn/crypto/CcmEncryptor/GetMacSize.html"><CODE>GetMacSize</CODE></a>
146            </th>
147            <td>Gets the maximum MAC size.</td>
148          </tr>
149          <tr>
150            <td width="100"> <span class="virtual_style" title="virtual">V</span>
151            </td>
152            <th>
153              <a href="../../../nn/crypto/CcmEncryptor/UpdateAdata.html"><CODE>UpdateAdata</CODE></a>
154            </th>
155            <td>Specifies the Adata.</td>
156          </tr>
157          <tr>
158            <td width="100"> <span class="virtual_style" title="virtual">V</span>
159            </td>
160            <th>
161              <a href="../../../nn/crypto/CcmEncryptor/UpdateAdataFinal.html"><CODE>UpdateAdataFinal</CODE></a>
162            </th>
163            <td>Finalizes Adata specification.</td>
164          </tr>
165          <tr>
166            <td width="100"> <span class="virtual_style" title="virtual">V</span>
167            </td>
168            <th>
169              <a href="../../../nn/crypto/CcmEncryptor/UpdatePdata.html"><CODE>UpdatePdata</CODE></a>
170            </th>
171            <td>Specifies the Pdata and gets the encryption result.</td>
172          </tr>
173          <tr>
174            <td width="100"> <span class="virtual_style" title="virtual">V</span>
175            </td>
176            <th>
177              <a href="../../../nn/crypto/CcmEncryptor/UpdatePdataFinal.html"><CODE>UpdatePdataFinal</CODE></a>
178            </th>
179            <td>Finalizes Pdata specification.</td>
180          </tr>
181          <tr>
182            <td width="100"> <span class="virtual_style" title="virtual">V</span>
183            </td>
184            <th>
185              <a href="../../../nn/crypto/CcmEncryptor/GenerateMac.html"><CODE>GenerateMac</CODE></a>
186            </th>
187            <td>Generates an MAC.</td>
188          </tr>
189          <tr>
190            <td width="100">
191              <span class="static_style" title="static">S</span> </td>
192            <th>
193              <a href="../../../nn/crypto/CcmEncryptor/EncryptAndGenerate.html"><CODE>EncryptAndGenerate</CODE></a>
194            </th>
195            <td>Handles batch encryption and MAC generation in CTR mode.</td>
196          </tr> </table>
197      </div>
198    </a>
199    <h2>Class Hierarchy</h2>
200    <div class="section">
201      <p class="hierarchy"><a href="../../../nn/crypto/CipherMode/Overview.html">nn::crypto::CipherMode</a><br />&nbsp;&nbsp;<a href="../../../nn/crypto/AuthenticatedEncryptor/Overview.html">nn::crypto::AuthenticatedEncryptor</a><br />&nbsp;&nbsp;&nbsp;&nbsp;<b>nn::crypto::CcmEncryptor</b>
202      </p>
203    </div>
204    <h2>Revision History</h2>
205    <div class="section">
206      <dl class="history">
207        <dt>2011/10/27</dt>
208        <dd>Initial version.<br />
209        </dd>
210      </dl>
211    </div>
212  <hr><p>CONFIDENTIAL</p></body>
213</html>