📄 class_simple_keying_interface.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>Crypto++: SimpleKeyingInterface Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.2 --><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="classes.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="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</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><h1>SimpleKeyingInterface Class Reference</h1><!-- doxytag: class="SimpleKeyingInterface" --><code>#include <<a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>></code><p><p>Inheritance diagram for SimpleKeyingInterface:<p><center><img src="class_simple_keying_interface.png" usemap="#SimpleKeyingInterface_map" border="0" alt=""></center><map name="SimpleKeyingInterface_map"><area href="class_block_cipher.html" alt="BlockCipher" shape="rect" coords="0,56,489,80"><area href="class_message_authentication_code.html" alt="MessageAuthenticationCode" shape="rect" coords="998,56,1487,80"><area href="class_simple_keyed_transformation.html" alt="SimpleKeyedTransformation< T >" shape="rect" coords="1497,56,1986,80"><area href="class_symmetric_cipher.html" alt="SymmetricCipher" shape="rect" coords="1996,56,2485,80"><area href="class_s_a_f_e_r_1_1_base.html" alt="SAFER::Base" shape="rect" coords="499,112,988,136"><area href="class_simple_keying_interface_impl.html" alt="SimpleKeyingInterfaceImpl< BlockCipher, BTEA_Info >" shape="rect" coords="499,168,988,192"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, Blowfish_Info >" shape="rect" coords="499,224,988,248"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, Camellia_Info >" shape="rect" coords="499,280,988,304"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, CAST128_Info >" shape="rect" coords="499,336,988,360"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, CAST256_Info >" shape="rect" coords="499,392,988,416"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, DES_EDE2_Info >" shape="rect" coords="499,448,988,472"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, DES_EDE3_Info >" shape="rect" coords="499,504,988,528"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, DES_Info >" shape="rect" coords="499,560,988,584"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, DES_XEX3_Info >" shape="rect" coords="499,616,988,640"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, GOST_Info >" shape="rect" coords="499,672,988,696"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, IDEA_Info >" shape="rect" coords="499,728,988,752"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, LR_Info< T > >" shape="rect" coords="499,784,988,808"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, MARS_Info >" shape="rect" coords="499,840,988,864"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, MDC_Info< T > >" shape="rect" coords="499,896,988,920"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, RC2_Info >" shape="rect" coords="499,952,988,976"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, RC5_Info >" shape="rect" coords="499,1008,988,1032"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, RC6_Info >" shape="rect" coords="499,1064,988,1088"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, Rijndael_Info >" shape="rect" coords="499,1120,988,1144"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, Serpent_Info >" shape="rect" coords="499,1176,988,1200"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, SHACAL2_Info >" shape="rect" coords="499,1232,988,1256"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, SHARK_Info >" shape="rect" coords="499,1288,988,1312"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, SKIPJACK_Info >" shape="rect" coords="499,1344,988,1368"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, Square_Info >" shape="rect" coords="499,1400,988,1424"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, TEA_Info >" shape="rect" coords="499,1456,988,1480"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, ThreeWay_Info >" shape="rect" coords="499,1512,988,1536"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, Twofish_Info >" shape="rect" coords="499,1568,988,1592"><area href="class_two_bases.html" alt="TwoBases< BlockCipher, XTEA_Info >" shape="rect" coords="499,1624,988,1648"><area href="class_c_b_c___m_a_c___base.html" alt="CBC_MAC_Base" shape="rect" coords="1497,112,1986,136"><area href="class_d_m_a_c___base.html" alt="DMAC_Base< T >" shape="rect" coords="1497,168,1986,192"><area href="class_h_m_a_c___base.html" alt="HMAC_Base" shape="rect" coords="1497,224,1986,248"><area href="class_iterated_hash_base.html" alt="IteratedHashBase< word32, MessageAuthenticationCode >" shape="rect" coords="1497,280,1986,304"><area href="class_iterated_hash_base.html" alt="IteratedHashBase< word64, MessageAuthenticationCode >" shape="rect" coords="1497,336,1986,360"><area href="class_two_bases.html" alt="TwoBases< MessageAuthenticationCode, VariableKeyLength< 32, 0, INT_MAX > >" shape="rect" coords="1497,392,1986,416"><area href="class_cipher_mode_base.html" alt="CipherModeBase" shape="rect" coords="2495,112,2984,136"><area href="class_weak1_1_1_a_r_c4___base.html" alt="Weak1::ARC4_Base" shape="rect" coords="2495,168,2984,192"></map><a href="class_simple_keying_interface-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>keying interface for crypto algorithms that take byte strings as keys <p><p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00353">353</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.<table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Public Types</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6e">IV_Requirement</a> { <br> <a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6e1cc32e69fe4f385e54d9d482a2ab5a56">UNIQUE_IV</a> = 0, <a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6e4520c4379ee3a1aed95a36e2235ba338">RANDOM_IV</a>, <a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6eceff3ad4b12bcb6d7b61a5bd543a815c">UNPREDICTABLE_RANDOM_IV</a>, <a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6eb659bf6d2c470c50c14bfbab5b2d45ab">INTERNALLY_GENERATED_IV</a>, <br> <a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6ec1d24de3dedd05c28516f452d3ace417">NOT_RESYNCHRONIZABLE</a><br> }</td></tr><tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e0fc6e456477b293902fae10497ba69"></a><!-- doxytag: member="SimpleKeyingInterface::~SimpleKeyingInterface" ref="6e0fc6e456477b293902fae10497ba69" args="()" -->virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#6e0fc6e456477b293902fae10497ba69">~SimpleKeyingInterface</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9e027a141d40929fef51343064d1a69"></a><!-- doxytag: member="SimpleKeyingInterface::MinKeyLength" ref="b9e027a141d40929fef51343064d1a69" args="() const=0" -->virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#b9e027a141d40929fef51343064d1a69">MinKeyLength</a> () const=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns smallest valid key length in bytes */ <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="99ebc91e778d51d8481c4c4e8403508b"></a><!-- doxytag: member="SimpleKeyingInterface::MaxKeyLength" ref="99ebc91e778d51d8481c4c4e8403508b" args="() const=0" -->virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#99ebc91e778d51d8481c4c4e8403508b">MaxKeyLength</a> () const=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns largest valid key length in bytes */ <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f900bd0bce7f925cfe8c6002b828d810"></a><!-- doxytag: member="SimpleKeyingInterface::DefaultKeyLength" ref="f900bd0bce7f925cfe8c6002b828d810" args="() const=0" -->virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#f900bd0bce7f925cfe8c6002b828d810">DefaultKeyLength</a> () const=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns default (recommended) key length in bytes */ <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4fb24fe36b6396c361d83dcc8c647f0"></a><!-- doxytag: member="SimpleKeyingInterface::GetValidKeyLength" ref="d4fb24fe36b6396c361d83dcc8c647f0" args="(size_t n) const=0" -->virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#d4fb24fe36b6396c361d83dcc8c647f0">GetValidKeyLength</a> (size_t n) const=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns the smallest valid key length in bytes that is >= min(n, GetMaxKeyLength()) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2229cdb9d7ac7e2cf3b02b39ae59ad77"></a><!-- doxytag: member="SimpleKeyingInterface::IsValidKeyLength" ref="2229cdb9d7ac7e2cf3b02b39ae59ad77" args="(size_t n) const" -->virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#2229cdb9d7ac7e2cf3b02b39ae59ad77">IsValidKeyLength</a> (size_t n) const</td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -