<!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++: XTEA Class 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.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Crypto++</div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <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 id="navrow2" class="tabs2"> <ul class="tablist"> <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="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-types">Public Types</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pub-static-attribs">Static Public Attributes</a> | <a href="#pro-methods">Protected Member Functions</a> </div> <div class="headertitle"> <h1>XTEA Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="XTEA" --><!-- doxytag: inherits="XTEA_Info,BlockCipherDocumentation" --> <p><a href="http://www.weidai.com/scan-mirror/cs.html#TEA">XTEA</a> <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="tea_8h_source.html">tea.h</a>></code></p> <div class="dynheader"> Inheritance diagram for XTEA:</div> <div class="dyncontent"> <div class="center"> <img src="class_x_t_e_a.png" usemap="#XTEA_map" alt=""/> <map id="XTEA_map" name="XTEA_map"> <area href="struct_x_t_e_a___info.html" alt="XTEA_Info" shape="rect" coords="174,56,338,80"/> <area href="struct_block_cipher_documentation.html" alt="BlockCipherDocumentation" shape="rect" coords="348,56,512,80"/> <area href="class_fixed_block_size.html" alt="FixedBlockSize< 8 >" shape="rect" coords="0,0,164,24"/> <area href="class_fixed_key_length.html" alt="FixedKeyLength< 16 >" shape="rect" coords="174,0,338,24"/> <area href="class_variable_rounds.html" alt="VariableRounds< 32 >" shape="rect" coords="348,0,512,24"/> </map> </div></div> <p><a href="class_x_t_e_a-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Base</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Dec</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>Enc</b></td></tr> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1ea302b3eacbc23172a93be14466d17"></a><!-- doxytag: member="XTEA::Encryption" ref="ac1ea302b3eacbc23172a93be14466d17" args="" --> typedef <a class="el" href="class_block_cipher_final.html">BlockCipherFinal</a><br class="typebreak"/> < ENCRYPTION, Enc > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_x_t_e_a.html#ac1ea302b3eacbc23172a93be14466d17">Encryption</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">implements the <a class="el" href="class_block_cipher.html" title="interface for one direction (encryption or decryption) of a block cipher">BlockCipher</a> interface <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7054eefd118671e860c111fde21b853"></a><!-- doxytag: member="XTEA::Decryption" ref="af7054eefd118671e860c111fde21b853" args="" --> typedef <a class="el" href="class_block_cipher_final.html">BlockCipherFinal</a><br class="typebreak"/> < DECRYPTION, Dec > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_x_t_e_a.html#af7054eefd118671e860c111fde21b853">Decryption</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">implements the <a class="el" href="class_block_cipher.html" title="interface for one direction (encryption or decryption) of a block cipher">BlockCipher</a> interface <br/></td></tr> <tr><td colspan="2"><h2><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ababb644a051fbcdd9d059be2ca2e784e"></a><!-- doxytag: member="XTEA::StaticAlgorithmName" ref="ababb644a051fbcdd9d059be2ca2e784e" 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="ad1aa0f7bbdacd564003eb1ede0d80870"></a><!-- doxytag: member="XTEA::StaticGetValidKeyLength" ref="ad1aa0f7bbdacd564003eb1ede0d80870" args="(size_t)" --> static size_t </td><td class="memItemRight" valign="bottom"><b>StaticGetValidKeyLength</b> (size_t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a356298696da2e721cffe8a70dcdec964"></a><!-- doxytag: member="XTEA::StaticGetDefaultRounds" ref="a356298696da2e721cffe8a70dcdec964" args="(size_t keylength)" --> static unsigned int </td><td class="memItemRight" valign="bottom"><b>StaticGetDefaultRounds</b> (size_t keylength)</td></tr> <tr><td colspan="2"><h2><a name="pub-static-attribs"></a> Static Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b051f369471fbb83d9b61a90b06e99f"></a><!-- doxytag: member="XTEA::BLOCKSIZE" ref="a2b051f369471fbb83d9b61a90b06e99f" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>BLOCKSIZE</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab994d881a105849f64a973373e8f282c"></a><!-- doxytag: member="XTEA::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="XTEA::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="XTEA::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="XTEA::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="XTEA::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="XTEA::IV_LENGTH" ref="a467a0101968e4181f770509e19ebef28" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>IV_LENGTH</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28b6780fe25e29c10db31ab5ddf457bc"></a><!-- doxytag: member="XTEA::DEFAULT_ROUNDS" ref="a28b6780fe25e29c10db31ab5ddf457bc" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>DEFAULT_ROUNDS</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade59ae3b5198852159c4b9362b93b2a5"></a><!-- doxytag: member="XTEA::MIN_ROUNDS" ref="ade59ae3b5198852159c4b9362b93b2a5" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>MIN_ROUNDS</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affcd1b51e2ca369beb86b9c98c86e46f"></a><!-- doxytag: member="XTEA::MAX_ROUNDS" ref="affcd1b51e2ca369beb86b9c98c86e46f" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>MAX_ROUNDS</b></td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a712e3fa69c57db159fa894287d5b326d"></a><!-- doxytag: member="XTEA::ThrowIfInvalidRounds" ref="a712e3fa69c57db159fa894287d5b326d" args="(int rounds, const Algorithm *alg)" --> void </td><td class="memItemRight" valign="bottom"><b>ThrowIfInvalidRounds</b> (int rounds, const <a class="el" href="class_algorithm.html">Algorithm</a> *alg)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29b6eb81e0829529f442106c4093d3c9"></a><!-- doxytag: member="XTEA::GetRoundsAndThrowIfInvalid" ref="a29b6eb81e0829529f442106c4093d3c9" args="(const NameValuePairs &param, const Algorithm *alg)" --> unsigned int </td><td class="memItemRight" valign="bottom"><b>GetRoundsAndThrowIfInvalid</b> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &param, const <a class="el" href="class_algorithm.html">Algorithm</a> *alg)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p><a href="http://www.weidai.com/scan-mirror/cs.html#TEA">XTEA</a> </p> <p>Definition at line <a class="el" href="tea_8h_source.html#l00058">58</a> of file <a class="el" href="tea_8h_source.html">tea.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="tea_8h_source.html">tea.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Tue Feb 8 2011 for Crypto++ by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> </body> </html>