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>DecryptAndVerify</title> 8 </head> 9 <body> 10 <h1><CODE><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/crypto/Overview.html">crypto</a>::<a href="../../../nn/crypto/CcmDecryptor/Overview.html">CcmDecryptor</a>::DecryptAndVerify</CODE> Member Function</h1> 11 <h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14static bool DecryptAndVerify( 15 void * pDst, 16 size_t dstSize, 17 const void * pAdata, 18 size_t adataSize, 19 const void * pCdata, 20 size_t cdataSize, 21 const void * pIv, 22 size_t ivSize, 23 const void * pMac, 24 size_t macSize, 25 const <a href="../../../nn/crypto/BlockCipher/Overview.html">BlockCipher</a> & c 26); 27</pre> 28 </div> 29 <h2>Parameters</h2> 30 <div class="section"> 31 <table class="arguments"> 32 <thead> 33 <tr> 34 <td width="15" /> 35 <th>Name</th> 36 <td>Description</td> 37 </tr> 38 </thead> 39 <tr> 40 <td>out</td> 41 <th>pDst</th> 42 <td>Pointer to the buffer storing the decryption results.</td> 43 </tr> 44 <tr> 45 <td>in</td> 46 <th>dstSize</th> 47 <td>Size of the buffer pointed to by <SPAN class="argument">pDst</SPAN>.</td> 48 </tr> 49 <tr> 50 <td>in</td> 51 <th>pAdata</th> 52 <td>Pointer to the buffer storing the Adata.</td> 53 </tr> 54 <tr> 55 <td>in</td> 56 <th>adataSize</th> 57 <td>Adata size in bytes.</td> 58 </tr> 59 <tr> 60 <td>in</td> 61 <th>pCdata</th> 62 <td>Pointer to the buffer storing the Cdata.</td> 63 </tr> 64 <tr> 65 <td>in</td> 66 <th>cdataSize</th> 67 <td>Cdata size in bytes.</td> 68 </tr> 69 <tr> 70 <td>in</td> 71 <th>pIv</th> 72 <td>Pointer to the buffer storing the IV.</td> 73 </tr> 74 <tr> 75 <td>in</td> 76 <th>ivSize</th> 77 <td>IV size in bytes.</td> 78 </tr> 79 <tr> 80 <td>in</td> 81 <th>pMac</th> 82 <td>Pointer to the buffer storing the MAC.</td> 83 </tr> 84 <tr> 85 <td>in</td> 86 <th>macSize</th> 87 <td>MAC size in bytes.</td> 88 </tr> 89 <tr> 90 <td>in</td> 91 <th>c</th> 92 <td>Instance of the block cipher implementation used in decryption.</td> 93 </tr> </table> 94 </div> 95 <h2>Return Values</h2> 96 <div class="section">Returns whether MAC verification succeeded. Returns <CODE>TRUE</CODE> if MAC verification succeeded and <CODE>FALSE</CODE> otherwise. If <CODE>TRUE</CODE>, there is likely no tampering. </div> 97 <h2>Description</h2> 98 <div class="section"> 99 <p>Handles batch decryption and verification when in CTR mode.</p><p>When all data is loaded into memory, you can call this function to decrypt and verify all of the data at once.</p><p>For <SPAN class="argument">c</SPAN>, specify the same key used in encryption for the block cipher of the same algorithm used in encryption.</p><p>Specify a pointer to an IV object in <SPAN class="argument">pIv</SPAN>, and its size in <SPAN class="argument">ivSize</SPAN>. You must specify the same IV, <SPAN class="argument">adataSize</SPAN>, and <SPAN class="argument">macSize</SPAN> values as those used for encryption.</p><p>You must specify the same <SPAN class="argument">cdataSize</SPAN> value as the <SPAN class="argument">pdataSize</SPAN> value used for encryption.</p><!-- write here --></div> 100 <h2>Revision History</h2> 101 <div class="section"> 102 <dl class="history"> 103 <dt>2011/10/27</dt> 104 <dd>Initial version.<br /> 105 </dd> 106 </dl> 107 </div> 108 <hr><p>CONFIDENTIAL</p></body> 109</html>