📄 class_c_f_b___mode_policy.html
字号:
virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#548b24c9354ebda5cdd06ef1cd79667b">IsForwardTransformation</a> () const=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns whether this is an encryption object <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f31510a192d1121856efe8ad0a9b844"></a><!-- doxytag: member="CFB_ModePolicy::AlgorithmName" ref="4f31510a192d1121856efe8ad0a9b844" args="() const" -->virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_algorithm.html#4f31510a192d1121856efe8ad0a9b844">AlgorithmName</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns name of this algorithm, not universally implemented yet <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0016ba2d505c23aa85aad49e6c19bb7"></a><!-- doxytag: member="CFB_ModePolicy::Clone" ref="d0016ba2d505c23aa85aad49e6c19bb7" args="() const" -->virtual <a class="el" href="class_clonable.html">Clonable</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_clonable.html#d0016ba2d505c23aa85aad49e6c19bb7">Clone</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">this is not implemented by most classes yet <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#df3c29b3ef3af74788a58c7c49887fd7">SetKey</a> (const byte *key, size_t length, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &params=<a class="el" href="cryptlib_8h.html#d3205973dd1afa14090a683154c1109c">g_nullNameValuePairs</a>)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">set or reset the key of this object <a href="#df3c29b3ef3af74788a58c7c49887fd7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0401f9c67930805180964bc02ae0ac1c"></a><!-- doxytag: member="CFB_ModePolicy::SetKeyWithRounds" ref="0401f9c67930805180964bc02ae0ac1c" args="(const byte *key, size_t length, int rounds)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#0401f9c67930805180964bc02ae0ac1c">SetKeyWithRounds</a> (const byte *key, size_t length, int rounds)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">calls <a class="el" href="class_simple_keying_interface.html#df3c29b3ef3af74788a58c7c49887fd7" title="set or reset the key of this object">SetKey()</a> with an <a class="el" href="class_name_value_pairs.html" title="interface for retrieving values given their names">NameValuePairs</a> object that just specifies "Rounds" <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c25e27eaeae2e909741c07de93caef49"></a><!-- doxytag: member="CFB_ModePolicy::SetKeyWithIV" ref="c25e27eaeae2e909741c07de93caef49" args="(const byte *key, size_t length, const byte *iv)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#c25e27eaeae2e909741c07de93caef49">SetKeyWithIV</a> (const byte *key, size_t length, const byte *iv)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">calls <a class="el" href="class_simple_keying_interface.html#df3c29b3ef3af74788a58c7c49887fd7" title="set or reset the key of this object">SetKey()</a> with an <a class="el" href="class_name_value_pairs.html" title="interface for retrieving values given their names">NameValuePairs</a> object that just specifies "IV" <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#71039112353cc70e9859ebd95037cc1a">IsResynchronizable</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns whether this object can be resynchronized (i.e. supports initialization vectors) <a href="#71039112353cc70e9859ebd95037cc1a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a09fd0893ac8c6068e07ce30bb55c1d9"></a><!-- doxytag: member="CFB_ModePolicy::CanUseRandomIVs" ref="a09fd0893ac8c6068e07ce30bb55c1d9" args="() const" -->bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#a09fd0893ac8c6068e07ce30bb55c1d9">CanUseRandomIVs</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns whether this object can use random IVs (in addition to ones returned by GetNextIV) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b98803e8744b73663e7e9c872eef822b"></a><!-- doxytag: member="CFB_ModePolicy::CanUsePredictableIVs" ref="b98803e8744b73663e7e9c872eef822b" args="() const" -->bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#b98803e8744b73663e7e9c872eef822b">CanUsePredictableIVs</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns whether this object can use random but possibly predictable IVs (in addition to ones returned by GetNextIV) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fbf7065f7db5439d471d1bcc260d3bd5"></a><!-- doxytag: member="CFB_ModePolicy::CanUseStructuredIVs" ref="fbf7065f7db5439d471d1bcc260d3bd5" args="() const" -->bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#fbf7065f7db5439d471d1bcc260d3bd5">CanUseStructuredIVs</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns whether this object can use structured IVs, for example a counter (in addition to ones returned by GetNextIV) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ee3f5f9c00d193bf9d8fd8aa46ccbb2"></a><!-- doxytag: member="CFB_ModePolicy::Resynchronize" ref="8ee3f5f9c00d193bf9d8fd8aa46ccbb2" args="(const byte *IV)" -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#8ee3f5f9c00d193bf9d8fd8aa46ccbb2">Resynchronize</a> (const byte *IV)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">resynchronize with an IV <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#917224bb6df7431d6469e7a10feac5fa">GetNextIV</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, byte *IV)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a secure IV for the next message <a href="#917224bb6df7431d6469e7a10feac5fa"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d3cf5f1f95bc71115bc9cddf91821886"></a><!-- doxytag: member="CFB_ModePolicy::CanIterate" ref="d3cf5f1f95bc71115bc9cddf91821886" args="() const" -->virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___cipher_abstract_policy.html#d3cf5f1f95bc71115bc9cddf91821886">CanIterate</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="021f82d6099659217e92aabb222200d4"></a><!-- doxytag: member="CFB_ModePolicy::Iterate" ref="021f82d6099659217e92aabb222200d4" args="(byte *output, const byte *input, CipherDir dir, size_t iterationCount)" -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___cipher_abstract_policy.html#021f82d6099659217e92aabb222200d4">Iterate</a> (byte *output, const byte *input, <a class="el" href="cryptlib_8h.html#353ccabf5ddc119a6a33e92f7b9961c7">CipherDir</a> dir, size_t iterationCount)</td></tr><tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="680d77ca6c3ea9ced0567e39c755b3a6"></a><!-- doxytag: member="CFB_ModePolicy::StaticAlgorithmName" ref="680d77ca6c3ea9ced0567e39c755b3a6" args="()" -->static const char *__cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___mode_policy.html#680d77ca6c3ea9ced0567e39c755b3a6">StaticAlgorithmName</a> ()</td></tr><tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fdf9b0c44c6d16ed8555e1713719030f"></a><!-- doxytag: member="CFB_ModePolicy::GetBytesPerIteration" ref="fdf9b0c44c6d16ed8555e1713719030f" args="() const" -->unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___mode_policy.html#fdf9b0c44c6d16ed8555e1713719030f">GetBytesPerIteration</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d33d9b4fab007750dac748a0d25cb49f"></a><!-- doxytag: member="CFB_ModePolicy::GetRegisterBegin" ref="d33d9b4fab007750dac748a0d25cb49f" args="()" -->byte * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___mode_policy.html#d33d9b4fab007750dac748a0d25cb49f">GetRegisterBegin</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dbefecab5cb048bfce9cdea106ef3ac0"></a><!-- doxytag: member="CFB_ModePolicy::TransformRegister" ref="dbefecab5cb048bfce9cdea106ef3ac0" args="()" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___mode_policy.html#dbefecab5cb048bfce9cdea106ef3ac0">TransformRegister</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78490e0b7794ca4cd7758d47343b0d47"></a><!-- doxytag: member="CFB_ModePolicy::CipherResynchronize" ref="78490e0b7794ca4cd7758d47343b0d47" args="(const byte *iv)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___mode_policy.html#78490e0b7794ca4cd7758d47343b0d47">CipherResynchronize</a> (const byte *iv)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="94b4e3f06db50fd888ec24026323646d"></a><!-- doxytag: member="CFB_ModePolicy::SetFeedbackSize" ref="94b4e3f06db50fd888ec24026323646d" args="(unsigned int feedbackSize)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___mode_policy.html#94b4e3f06db50fd888ec24026323646d">SetFeedbackSize</a> (unsigned int feedbackSize)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17ae07ee0ef40f778bd94a52202ed2be"></a><!-- doxytag: member="CFB_ModePolicy::ResizeBuffers" ref="17ae07ee0ef40f778bd94a52202ed2be" args="()" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___mode_policy.html#17ae07ee0ef40f778bd94a52202ed2be">ResizeBuffers</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6d0a5b8deef965aa690441541c5a7aa7"></a><!-- doxytag: member="CFB_ModePolicy::BlockSize" ref="6d0a5b8deef965aa690441541c5a7aa7" args="() const" -->unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_cipher_mode_base.html#6d0a5b8deef965aa690441541c5a7aa7">BlockSize</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6afcfe922c393cc1954d37fc4264637"></a><!-- doxytag: member="CFB_ModePolicy::GetAlgorithm" ref="b6afcfe922c393cc1954d37fc4264637" args="() const=0" -->virtual const <a class="el" href="class_algorithm.html">Algorithm</a> & </td><td class="memItemRight" valign="bottom"><b>GetAlgorithm</b> () const=0</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="911df1b09f35e18a19e474942971947b"></a><!-- doxytag: member="CFB_ModePolicy::UncheckedSetKey" ref="911df1b09f35e18a19e474942971947b" args="(const byte *key, unsigned int length, const NameValuePairs &params)=0" -->virtual void </td><td class="memItemRight" valign="bottom"><b>UncheckedSetKey</b> (const byte *key, unsigned int length, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &params)=0</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="32b2095542b18025814118734bf34da2"></a><!-- doxytag: member="CFB_ModePolicy::ThrowIfInvalidKeyLength" ref="32b2095542b18025814118734bf34da2" args="(size_t length)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#32b2095542b18025814118734bf34da2">ThrowIfInvalidKeyLength</a> (size_t length)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e60d9774af66fc673fe6139f5880c477"></a><!-- doxytag: member="CFB_ModePolicy::ThrowIfResynchronizable" ref="e60d9774af66fc673fe6139f5880c477" args="()" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#e60d9774af66fc673fe6139f5880c477">ThrowIfResynchronizable</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c687add7d0a09c626d85b77714bbd114"></a><!-- doxytag: member="CFB_ModePolicy::ThrowIfInvalidIV" ref="c687add7d0a09c626d85b77714bbd114" args="(const byte *iv)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#c687add7d0a09c626d85b77714bbd114">ThrowIfInvalidIV</a> (const byte *iv)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d63825e000442603429b6f433b798f5"></a><!-- doxytag: member="CFB_ModePolicy::GetIVAndThrowIfInvalid" ref="8d63825e000442603429b6f433b798f5" args="(const NameValuePairs &params)" -->const byte * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#8d63825e000442603429b6f433b798f5">GetIVAndThrowIfInvalid</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &params)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="719efcf12f0de461b951830b8131b36a"></a><!-- doxytag: member="CFB_ModePolicy::AssertValidKeyLength" ref="719efcf12f0de461b951830b8131b36a" args="(size_t length) const " -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#719efcf12f0de461b951830b8131b36a">AssertValidKeyLength</a> (size_t length) const </td></tr><tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3f54e6a630ed22a9fc40457a5926f18b"></a><!-- doxytag: member="CFB_ModePolicy::m_temp" ref="3f54e6a630ed22a9fc40457a5926f18b" args="" --><a class="el" href="class_sec_block.html">SecByteBlock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___mode_policy.html#3f54e6a630ed22a9fc40457a5926f18b">m_temp</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39e0c7dda96bfbf8cfe7abe3709b0138"></a><!-- doxytag: member="CFB_ModePolicy::m_feedbackSize" ref="39e0c7dda96bfbf8cfe7abe3709b0138" args="" -->unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_f_b___mode_policy.html#39e0c7dda96bfbf8cfe7abe3709b0138">m_feedbackSize</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6c63ae5b5521b462912b1bb2d766989"></a><!-- doxytag: member="CFB_ModePolicy::m_cipher" ref="b6c63ae5b5521b462912b1bb2d766989" args="" --><a class="el" href="class_block_cipher.html">BlockCipher</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_cipher_mode_base.html#b6c63ae5b5521b462912b1bb2d766989">m_cipher</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d4cdcf2a0a4f5c52115fa622eebc10a"></a><!-- doxytag: member="CFB_ModePolicy::m_register" ref="5d4cdcf2a0a4f5c52115fa622eebc10a" args="" --><a class="el" href="class_sec_block.html">SecByteBlock</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_cipher_mode_base.html#5d4cdcf2a0a4f5c52115fa622eebc10a">m_register</a></td></tr></table><hr><h2>Member Enumeration Documentation</h2><a class="anchor" name="88201c180fbfaa9fef2715252546ad6e"></a><!-- doxytag: member="CFB_ModePolicy::IV_Requirement" ref="88201c180fbfaa9fef2715252546ad6e" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6e">SimpleKeyingInterface::IV_Requirement</a><code> [inherited]</code> </td> </tr> </table></div><div class="memdoc"><p><dl compact><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"><tr><td valign="top"><em><a class="anchor" name="88201c180fbfaa9fef2715252546ad6e1cc32e69fe4f385e54d9d482a2ab5a56"></a><!-- doxytag: member="UNIQUE_IV" ref="88201c180fbfaa9fef2715252546ad6e1cc32e69fe4f385e54d9d482a2ab5a56" args="" -->UNIQUE_IV</em> </td><td></td></tr><tr><td valign="top"><em><a class="anchor" name="88201c180fbfaa9fef2715252546ad6e4520c4379ee3a1aed95a36e2235ba338"></a><!-- doxytag: member="RANDOM_IV" ref="88201c180fbfaa9fef2715252546ad6e4520c4379ee3a1aed95a36e2235ba338" args="" -->RANDOM_IV</em> </td><td></td></tr><tr><td valign="top"><em><a class="anchor" name="88201c180fbfaa9fef2715252546ad6eceff3ad4b12bcb6d7b61a5bd543a815c"></a><!-- doxytag: member="UNPREDICTABLE_RANDOM_IV" ref="88201c180fbfaa9fef2715252546ad6eceff3ad4b12bcb6d7b61a5bd543a815c" args="" -->UNPREDICTABLE_RANDOM_IV</em> </td><td></td></tr><tr><td valign="top"><em><a class="anchor" name="88201c180fbfaa9fef2715252546ad6eb659bf6d2c470c50c14bfbab5b2d45ab"></a><!-- doxytag: member="INTERNALLY_GENERATED_IV" ref="88201c180fbfaa9fef2715252546ad6eb659bf6d2c470c50c14bfbab5b2d45ab" args="" -->INTERNALLY_GENERATED_IV</em> </td><td></td></tr><tr><td valign="top"><em><a class="anchor" name="88201c180fbfaa9fef2715252546ad6ec1d24de3dedd05c28516f452d3ace417"></a><!-- doxytag: member="NOT_RESYNCHRONIZABLE" ref="88201c180fbfaa9fef2715252546ad6ec1d24de3dedd05c28516f452d3ace417" args="" -->NOT_RESYNCHRONIZABLE</em> </td><td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -