<!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++: RC5 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.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>RC5 Class Reference</h1><!-- doxytag: class="RC5" --><!-- doxytag: inherits="RC5_Info,BlockCipherDocumentation" --> <p><a href="http://www.weidai.com/scan-mirror/cs.html#RC5">RC5</a> <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="rc5_8h_source.html">rc5.h</a>></code></p> <div class="dynheader"> Inheritance diagram for RC5:</div> <div class="dynsection"> <div class="center"> <img src="class_r_c5.gif" usemap="#RC5_map" alt=""/> <map id="RC5_map" name="RC5_map"> <area href="struct_r_c5___info.html" alt="RC5_Info" shape="rect" coords="214,56,418,80"/> <area href="struct_block_cipher_documentation.html" alt="BlockCipherDocumentation" shape="rect" coords="428,56,632,80"/> <area href="class_fixed_block_size.html" alt="FixedBlockSize< 8 >" shape="rect" coords="0,0,204,24"/> <area href="class_variable_key_length.html" alt="VariableKeyLength< 16, 0, 255 >" shape="rect" coords="214,0,418,24"/> <area href="class_variable_rounds.html" alt="VariableRounds< 16 >" shape="rect" coords="428,0,632,24"/> </map> </div> </div> <p><a href="class_r_c5-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>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>Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c639b4987029a60f5d7b90c691791ea"></a><!-- doxytag: member="RC5::Encryption" ref="a5c639b4987029a60f5d7b90c691791ea" 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_r_c5.html#a5c639b4987029a60f5d7b90c691791ea">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="ae4d63425fe8d3dc9fe5f60a614b8e384"></a><!-- doxytag: member="RC5::Decryption" ref="ae4d63425fe8d3dc9fe5f60a614b8e384" 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_r_c5.html#ae4d63425fe8d3dc9fe5f60a614b8e384">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 class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ba799430fba7098ecf6afc1c2f362a1"></a><!-- doxytag: member="RC5::RC5_WORD" ref="a2ba799430fba7098ecf6afc1c2f362a1" args="" --> typedef word32 </td><td class="memItemRight" valign="bottom"><b>RC5_WORD</b></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="a3d198a6fc92e61876c930e7f03ed18e0"></a><!-- doxytag: member="RC5::StaticAlgorithmName" ref="a3d198a6fc92e61876c930e7f03ed18e0" 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="a5bf532b28513e7e1d3d7202fd044b4c9"></a><!-- doxytag: member="RC5::StaticGetValidKeyLength" ref="a5bf532b28513e7e1d3d7202fd044b4c9" args="(size_t n)" --> static size_t __cdecl </td><td class="memItemRight" valign="bottom"><b>StaticGetValidKeyLength</b> (size_t n)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a356298696da2e721cffe8a70dcdec964"></a><!-- doxytag: member="RC5::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>Static Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b051f369471fbb83d9b61a90b06e99f"></a><!-- doxytag: member="RC5::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="aff5e41e92f02a8bb6a976b748e4e2ec9"></a><!-- doxytag: member="RC5::MIN_KEYLENGTH" ref="aff5e41e92f02a8bb6a976b748e4e2ec9" 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="a26f33392d61edcaa678ae65002842d36"></a><!-- doxytag: member="RC5::MAX_KEYLENGTH" ref="a26f33392d61edcaa678ae65002842d36" 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="a3788ee30b190bdc0c0e89d2721162614"></a><!-- doxytag: member="RC5::DEFAULT_KEYLENGTH" ref="a3788ee30b190bdc0c0e89d2721162614" 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="acaa6d8918bbd17c2da84e752df7bd285"></a><!-- doxytag: member="RC5::KEYLENGTH_MULTIPLE" ref="acaa6d8918bbd17c2da84e752df7bd285" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>KEYLENGTH_MULTIPLE</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefee62ae9b6dd90ede7211844235fc7b"></a><!-- doxytag: member="RC5::IV_REQUIREMENT" ref="aefee62ae9b6dd90ede7211844235fc7b" 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="ae5687e4a40c5289764feac86eed81cc2"></a><!-- doxytag: member="RC5::IV_LENGTH" ref="ae5687e4a40c5289764feac86eed81cc2" 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="RC5::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="RC5::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="RC5::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>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a712e3fa69c57db159fa894287d5b326d"></a><!-- doxytag: member="RC5::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="RC5::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> <p><a href="http://www.weidai.com/scan-mirror/cs.html#RC5">RC5</a> </p> <p>Definition at line <a class="el" href="rc5_8h_source.html#l00020">20</a> of file <a class="el" href="rc5_8h_source.html">rc5.h</a>.</p> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="rc5_8h_source.html">rc5.h</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>