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    <title>EncryptAndGenerateAes128Ccm</title>
8  </head>
9  <body>
10    <h1><CODE><a href="../../nn/Overview.html">nn</a>::<a href="../../nn/crypto/Overview.html">crypto</a>::EncryptAndGenerateAes128Ccm</CODE> Function</h1>
11    <h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14void EncryptAndGenerateAes128Ccm(
15     void * pDst,
16     const void * pSrc,
17     size_t srcSize,
18     const void * pKey
19);
20</pre>
21    </div>
22    <h2>Parameters</h2>
23    <div class="section">
24      <table class="arguments">
25        <thead>
26          <tr>
27            <td width="15" />
28            <th>Name</th>
29            <td>Description</td>
30          </tr>
31        </thead>
32        <tr>
33          <td>out</td>
34          <th>pDst</th>
35          <td>Pointer to the buffer storing the encryption results. This buffer must be at least as big as <SPAN class="argument">srcSize</SPAN> + <CODE><a href="../../nn/crypto/GENERATE_HEADER_SIZE.html">GENERATE_HEADER_SIZE</a></CODE>.</td>
36        </tr>
37        <tr>
38          <td>in</td>
39          <th>pSrc</th>
40          <td>Pointer to the buffer storing data to encrypt.</td>
41        </tr>
42        <tr>
43          <td>in</td>
44          <th>srcSize</th>
45          <td>Size in bytes of the data to encrypt.</td>
46        </tr>
47        <tr>
48          <td>in</td>
49          <th>pKey</th>
50          <td>Pointer to the buffer storing the key. The key is 16 bytes in length.</td>
51        </tr> </table>
52    </div>
53    <h2>Return Values</h2>
54    <div class="section">
55                None.
56               </div>
57    <h2>Description</h2>
58    <div class="section">
59      <p>Encrypts and generates data for tampering tests.</p><p>Internally generates IV and other elements needed for encryption and uses 128-bit AES in CCM mode to encrypt.</p><p>Use the <CODE><a href="../../nn/crypto/DecryptAndVerifyAes128Ccm.html">DecryptAndVerifyAes128Ccm</a></CODE> function to decrypt and verify data encrypted by this function.</p><p>Data encrypted by this function is increased in size by <CODE><a href="../../nn/crypto/GENERATE_HEADER_SIZE.html">GENERATE_HEADER_SIZE</a></CODE> (that is, 32) bytes. Consequently, the buffer pointed to by <SPAN class="argument">pDst</SPAN> must be big enough to hold <SPAN class="argument">srcSize</SPAN> + <CODE><a href="../../nn/crypto/GENERATE_HEADER_SIZE.html">GENERATE_HEADER_SIZE</a></CODE> bytes of data.</p><!-- write here --></div>
60    <h2>Revision History</h2>
61    <div class="section">
62      <dl class="history">
63        <dt>2011/10/27</dt>
64        <dd>Initial version.<br />
65        </dd>
66      </dl>
67    </div>
68  <hr><p>CONFIDENTIAL</p></body>
69</html>