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>Initialize</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/CcmEncryptor/Overview.html">CcmEncryptor</a>::Initialize</CODE> Member Function</h1> 11 <h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14void Initialize( 15 const <a href="../../../nn/crypto/BlockCipher/Overview.html">BlockCipher</a> & c, 16 const void * pIv, 17 size_t ivSize, 18 size_t adataSize, 19 size_t pdataSize, 20 size_t macSize 21); 22</pre> 23 </div> 24 <h2>Parameters</h2> 25 <div class="section"> 26 <table class="arguments"> 27 <thead> 28 <tr> 29 <td width="15" /> 30 <th>Name</th> 31 <td>Description</td> 32 </tr> 33 </thead> 34 <tr> 35 <td>in</td> 36 <th>c</th> 37 <td>Instance of the block encryption implementation used in encryption.</td> 38 </tr> 39 <tr> 40 <td>in</td> 41 <th>pIv</th> 42 <td>Pointer to the buffer storing the IV.</td> 43 </tr> 44 <tr> 45 <td>in</td> 46 <th>ivSize</th> 47 <td>IV size in bytes.</td> 48 </tr> 49 <tr> 50 <td>in</td> 51 <th>adataSize</th> 52 <td>Adata size in bytes.</td> 53 </tr> 54 <tr> 55 <td>in</td> 56 <th>pdataSize</th> 57 <td>Pdata size in bytes.</td> 58 </tr> 59 <tr> 60 <td>in</td> 61 <th>macSize</th> 62 <td>MAC size in bytes.</td> 63 </tr> </table> 64 </div> 65 <h2>Return Values</h2> 66 <div class="section"> 67 None. 68 </div> 69 <h2>Description</h2> 70 <div class="section"> 71 <p>Initializes encryption in CCM mode.</p><p>For <SPAN class="argument">c</SPAN>, specify an instance of a class derived from the <CODE><a href="../../../nn/crypto/BlockCipher/Overview.html">BlockCipher</a></CODE> class that implements the block cipher used in encryption. You must have previously used the <CODE><a href="../../../nn/crypto/BlockCipher/SetKey.html">BlockCipher::SetKey</a></CODE> function to set the key 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>. The IV is called a "nonce" in CCM mode. The value in <SPAN class="argument">ivSize</SPAN> must be at least 7 and no more than 13. You cannot specify 13 if <SPAN class="argument">pdataSize</SPAN> exceeds <CODE>0x01000000</CODE> bytes. Nintendo strongly recommends specifying 12 or 13.</p><p>The value in <SPAN class="argument">macSize</SPAN> must be an even number of at least 4 and no more than 16. Nintendo strongly recommends specifying 16.</p><!-- write here --></div> 72 <h2>Revision History</h2> 73 <div class="section"> 74 <dl class="history"> 75 <dt>2011/10/27</dt> 76 <dd>Initial version.<br /> 77 </dd> 78 </dl> 79 </div> 80 <hr><p>CONFIDENTIAL</p></body> 81</html>