<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Crypto++: PanamaCipherPolicy< B > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>PanamaCipherPolicy< B > Class Template Reference</h1><!-- doxytag: class="PanamaCipherPolicy" --><!-- doxytag: inherits="AdditiveCipherConcretePolicy< word32, 8 >,PanamaCipherInfo,Panama" --> <p>_ <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="panama_8h_source.html">panama.h</a>></code></p> <div class="dynheader"> Inheritance diagram for PanamaCipherPolicy< B >:</div> <div class="dynsection"> <div class="center"> <img src="class_panama_cipher_policy.gif" usemap="#PanamaCipherPolicy< B >_map" alt=""/> <map id="PanamaCipherPolicy< B >_map" name="PanamaCipherPolicy< B >_map"> <area href="struct_additive_cipher_concrete_policy.html" alt="AdditiveCipherConcretePolicy< word32, 8 >" shape="rect" coords="0,56,370,80"/> <area href="struct_panama_cipher_info.html" alt="PanamaCipherInfo< B >" shape="rect" coords="380,56,750,80"/> <area href="class_panama.html" alt="Panama< B >" shape="rect" coords="760,56,1130,80"/> <area href="struct_additive_cipher_abstract_policy.html" alt="AdditiveCipherAbstractPolicy" shape="rect" coords="0,0,370,24"/> <area href="class_fixed_key_length.html" alt="FixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 32 >" shape="rect" coords="380,0,750,24"/> </map> </div> </div> <p><a href="class_panama_cipher_policy-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94149b18cb6bf530f196ba0132ba904f"></a><!-- doxytag: member="PanamaCipherPolicy::WordType" ref="a94149b18cb6bf530f196ba0132ba904f" args="" --> typedef word32 </td><td class="memItemRight" valign="bottom"><b>WordType</b></td></tr> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a900b7d37bbd99f38166d0b6c345ffd1a"></a><!-- doxytag: member="PanamaCipherPolicy::GetAlignment" ref="a900b7d37bbd99f38166d0b6c345ffd1a" args="() const" --> unsigned int </td><td class="memItemRight" valign="bottom"><b>GetAlignment</b> () const</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4896a260d3137d3b22f669c46ceba048"></a><!-- doxytag: member="PanamaCipherPolicy::GetBytesPerIteration" ref="a4896a260d3137d3b22f669c46ceba048" args="() const" --> unsigned int </td><td class="memItemRight" valign="bottom"><b>GetBytesPerIteration</b> () const</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a52e6ddb14d246bffded57768f6b0c44f"></a><!-- doxytag: member="PanamaCipherPolicy::GetIterationsToBuffer" ref="a52e6ddb14d246bffded57768f6b0c44f" args="() const" --> unsigned int </td><td class="memItemRight" valign="bottom"><b>GetIterationsToBuffer</b> () const</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe05a4a31d1516aeeb2003e5898b9c8d"></a><!-- doxytag: member="PanamaCipherPolicy::CanOperateKeystream" ref="afe05a4a31d1516aeeb2003e5898b9c8d" args="() const" --> bool </td><td class="memItemRight" valign="bottom"><b>CanOperateKeystream</b> () const</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79a5290262325372d5133797086afd28"></a><!-- doxytag: member="PanamaCipherPolicy::GetOptimalBlockSize" ref="a79a5290262325372d5133797086afd28" args="() const " --> virtual unsigned int </td><td class="memItemRight" valign="bottom"><b>GetOptimalBlockSize</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea8268ee42cbc98cf9be638bf77aafef"></a><!-- doxytag: member="PanamaCipherPolicy::WriteKeystream" ref="aea8268ee42cbc98cf9be638bf77aafef" args="(byte *keystream, size_t iterationCount)" --> virtual void </td><td class="memItemRight" valign="bottom"><b>WriteKeystream</b> (byte *keystream, size_t iterationCount)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fce38d2b7d84732fc3efea410b82d54"></a><!-- doxytag: member="PanamaCipherPolicy::SeekToIteration" ref="a8fce38d2b7d84732fc3efea410b82d54" args="(lword iterationCount)" --> virtual void </td><td class="memItemRight" valign="bottom"><b>SeekToIteration</b> (lword iterationCount)</td></tr> <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ff466d377ac96b5d82a1a417af980b1"></a><!-- doxytag: member="PanamaCipherPolicy::StaticAlgorithmName" ref="a7ff466d377ac96b5d82a1a417af980b1" args="()" --> static const char * </td><td class="memItemRight" valign="bottom"><b>StaticAlgorithmName</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6052c926d7d040b524a829e96710496"></a><!-- doxytag: member="PanamaCipherPolicy::StaticGetValidKeyLength" ref="af6052c926d7d040b524a829e96710496" args="(size_t)" --> static size_t __cdecl </td><td class="memItemRight" valign="bottom"><b>StaticGetValidKeyLength</b> (size_t)</td></tr> <tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c584b68c2f3a8208ff245cd8d09fcd5"></a><!-- doxytag: member="PanamaCipherPolicy::BYTES_PER_ITERATION" ref="a0c584b68c2f3a8208ff245cd8d09fcd5" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>BYTES_PER_ITERATION</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab994d881a105849f64a973373e8f282c"></a><!-- doxytag: member="PanamaCipherPolicy::KEYLENGTH" ref="ab994d881a105849f64a973373e8f282c" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>KEYLENGTH</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a198440f34bfe0f343fab3cdbef586a3b"></a><!-- doxytag: member="PanamaCipherPolicy::MIN_KEYLENGTH" ref="a198440f34bfe0f343fab3cdbef586a3b" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>MIN_KEYLENGTH</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c599a7ebb4e0fa4773c4cd1b4023b18"></a><!-- doxytag: member="PanamaCipherPolicy::MAX_KEYLENGTH" ref="a7c599a7ebb4e0fa4773c4cd1b4023b18" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>MAX_KEYLENGTH</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e9951e11c42a0a8c75bd959bcf26f31"></a><!-- doxytag: member="PanamaCipherPolicy::DEFAULT_KEYLENGTH" ref="a1e9951e11c42a0a8c75bd959bcf26f31" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>DEFAULT_KEYLENGTH</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1a634167fe78a3ee06554a268e6d61c"></a><!-- doxytag: member="PanamaCipherPolicy::IV_REQUIREMENT" ref="ab1a634167fe78a3ee06554a268e6d61c" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>IV_REQUIREMENT</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a467a0101968e4181f770509e19ebef28"></a><!-- doxytag: member="PanamaCipherPolicy::IV_LENGTH" ref="a467a0101968e4181f770509e19ebef28" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>IV_LENGTH</b></td></tr> <tr><td colspan="2"><h2>Protected Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a319fd8dc70b68fe385a517fd98b474ae"></a><!-- doxytag: member="PanamaCipherPolicy::Stage" ref="a319fd8dc70b68fe385a517fd98b474ae" args="[8]" --> typedef word32 </td><td class="memItemRight" valign="bottom"><b>Stage</b> [8]</td></tr> <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea7436592ce7365bc45a9ef48315bd0d"></a><!-- doxytag: member="PanamaCipherPolicy::CipherSetKey" ref="aea7436592ce7365bc45a9ef48315bd0d" args="(const NameValuePairs &params, const byte *key, size_t length)" --> void </td><td class="memItemRight" valign="bottom"><b>CipherSetKey</b> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &params, const byte *key, size_t length)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8adab47e2a854cb711a1abf2a54c21f8"></a><!-- doxytag: member="PanamaCipherPolicy::OperateKeystream" ref="a8adab47e2a854cb711a1abf2a54c21f8" args="(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount)" --> void </td><td class="memItemRight" valign="bottom"><b>OperateKeystream</b> (KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6e968963c138e3464f7cdda8412064d"></a><!-- doxytag: member="PanamaCipherPolicy::CipherIsRandomAccess" ref="ae6e968963c138e3464f7cdda8412064d" args="() const " --> bool </td><td class="memItemRight" valign="bottom"><b>CipherIsRandomAccess</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a117cc74aae14a2d05f27d18aed376ab1"></a><!-- doxytag: member="PanamaCipherPolicy::CipherResynchronize" ref="a117cc74aae14a2d05f27d18aed376ab1" args="(byte *keystreamBuffer, const byte *iv, size_t length)" --> void </td><td class="memItemRight" valign="bottom"><b>CipherResynchronize</b> (byte *keystreamBuffer, const byte *iv, size_t length)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20f3428611261bcb3a179d0f59f55722"></a><!-- doxytag: member="PanamaCipherPolicy::Reset" ref="a20f3428611261bcb3a179d0f59f55722" args="()" --> void </td><td class="memItemRight" valign="bottom"><b>Reset</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab576dd602b018f3572e54ea9d043961a"></a><!-- doxytag: member="PanamaCipherPolicy::Iterate" ref="ab576dd602b018f3572e54ea9d043961a" args="(size_t count, const word32 *p=NULL, word32 *z=NULL, const word32 *y=NULL)" --> void </td><td class="memItemRight" valign="bottom"><b>Iterate</b> (size_t count, const word32 *p=NULL, word32 *z=NULL, const word32 *y=NULL)</td></tr> <tr><td colspan="2"><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd9ede3c795cfa401173bece1d20e51a"></a><!-- doxytag: member="PanamaCipherPolicy::m_key" ref="afd9ede3c795cfa401173bece1d20e51a" args="" --> <a class="el" href="class_fixed_size_sec_block.html">FixedSizeSecBlock</a>< word32, 8 > </td><td class="memItemRight" valign="bottom"><b>m_key</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa24602ddf6d8b7da9c5e77609af9e3ce"></a><!-- doxytag: member="PanamaCipherPolicy::m_state" ref="aa24602ddf6d8b7da9c5e77609af9e3ce" args="" --> <a class="el" href="class_fixed_size_aligned_sec_block.html">FixedSizeAlignedSecBlock</a><br class="typebreak"/> < word32, 20+8 *32 > </td><td class="memItemRight" valign="bottom"><b>m_state</b></td></tr> <tr><td colspan="2"><h2>Static Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0251e90ceebde954a2a1a0b2021259ce"></a><!-- doxytag: member="PanamaCipherPolicy::STAGES" ref="a0251e90ceebde954a2a1a0b2021259ce" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>STAGES</b> = 32</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class B><br/> class PanamaCipherPolicy< B ></h3> <p>_ </p> <p>Definition at line <a class="el" href="panama_8h_source.html#l00118">118</a> of file <a class="el" href="panama_8h_source.html">panama.h</a>.</p> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="panama_8h_source.html">panama.h</a></li> <li><a class="el" href="panama_8cpp_source.html">panama.cpp</a></li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on 9 Dec 2009 for Crypto++ by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>