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>