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>DecryptAndVerifyAes128Ccm</title> 8 </head> 9 <body> 10 <h1><CODE><a href="../../nn/Overview.html">nn</a>::<a href="../../nn/crypto/Overview.html">crypto</a>::DecryptAndVerifyAes128Ccm</CODE> Function</h1> 11 <h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14bool DecryptAndVerifyAes128Ccm( 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 decryption 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 the ciphertext.</td> 41 </tr> 42 <tr> 43 <td>in</td> 44 <th>srcSize</th> 45 <td>Ciphertext size in bytes.</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">Returns whether the validity test succeeded. If <CODE>TRUE</CODE>, there is likely no tampering. If <CODE>FALSE</CODE>, the file has likely been tampered with. </div> 55 <h2>Description</h2> 56 <div class="section"> 57 <p>Decrypts and tests for tampering.<BR></p><p>Decrypts data encrypted using the <CODE><a href="../../nn/crypto/EncryptAndGenerateAes128Ccm.html">EncryptAndGenerateAes128Ccm</a></CODE> function, and tests the decrypted data to see if it has been tampered with.</p><p>Data decrypted by this function is reduced in size by <CODE><a href="../../nn/crypto/GENERATE_HEADER_SIZE.html">GENERATE_HEADER_SIZE</a></CODE> (that is, 16) 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> 58 <h2>Revision History</h2> 59 <div class="section"> 60 <dl class="history"> 61 <dt>2011/10/27</dt> 62 <dd>Initial version.<br /> 63 </dd> 64 </dl> 65 </div> 66 <hr><p>CONFIDENTIAL</p></body> 67</html>