📄 class_e_c_b___one_way.html
字号:
<td class="paramkey"></td> <td></td> <td class="paramtype">const byte * </td> <td class="paramname"> <em>inString</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>length</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual, inherited]</code></td> </tr> </table></div><div class="memdoc"><p>encrypt or decrypt an array of bytes of specified length <p><dl class="note" compact><dt><b>Note:</b></dt><dd>either inString == outString, or they don't overlap </dd></dl><p>Implements <a class="el" href="class_stream_transformation.html#26feabde21bc4d1783195969733e3bb0">StreamTransformation</a>.<p>Definition at line <a class="el" href="modes_8cpp-source.html#l00095">95</a> of file <a class="el" href="modes_8cpp-source.html">modes.cpp</a>.<p>References <a class="el" href="cryptlib_8cpp-source.html#l00114">BlockTransformation::BlockAlignment()</a>, <a class="el" href="modes_8h-source.html#l00046">CipherModeBase::BlockSize()</a>, <a class="el" href="modes_8h-source.html#l00188">BlockOrientedCipherModeBase::m_buffer</a>, <a class="el" href="modes_8h-source.html#l00057">CipherModeBase::m_cipher</a>, and <a class="el" href="modes_8h-source.html#l00180">BlockOrientedCipherModeBase::RequireAlignedInput()</a>.</div></div><p><a class="anchor" name="8c9304fff5af593ee68d3cf0d33c06e9"></a><!-- doxytag: member="ECB_OneWay::Ref" ref="8c9304fff5af593ee68d3cf0d33c06e9" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_stream_transformation.html">StreamTransformation</a>& StreamTransformation::Ref </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline, inherited]</code></td> </tr> </table></div><div class="memdoc"><p>return a reference to this object, <p>This function is useful for passing a temporary <a class="el" href="class_stream_transformation.html" title="interface for the data processing part of stream ciphers">StreamTransformation</a> object to a function that takes a non-const reference. <p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00470">470</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.</div></div><p><a class="anchor" name="0668b78edaea082f87bf3e878c4c02f7"></a><!-- doxytag: member="ECB_OneWay::ProcessLastBlock" ref="0668b78edaea082f87bf3e878c4c02f7" args="(byte *outString, const byte *inString, size_t length)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void StreamTransformation::ProcessLastBlock </td> <td>(</td> <td class="paramtype">byte * </td> <td class="paramname"> <em>outString</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const byte * </td> <td class="paramname"> <em>inString</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>length</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual, inherited]</code></td> </tr> </table></div><div class="memdoc"><p>for ciphers where the last block of data is special, encrypt or decrypt the last block of data <p>For now the only use of this function is for CBC-CTS mode. <p>Reimplemented in <a class="el" href="class_c_b_c___c_t_s___encryption.html#fa5e227b89c39bff1386df7cebaa5f32">CBC_CTS_Encryption</a>, and <a class="el" href="class_c_b_c___c_t_s___decryption.html#2f23aad280dc56920f16ea0711b39d89">CBC_CTS_Decryption</a>.<p>Definition at line <a class="el" href="cryptlib_8cpp-source.html#l00119">119</a> of file <a class="el" href="cryptlib_8cpp-source.html">cryptlib.cpp</a>.<p>References <a class="el" href="cryptlib_8h-source.html#l00473">StreamTransformation::MandatoryBlockSize()</a>, <a class="el" href="cryptlib_8h-source.html#l00492">StreamTransformation::MinLastBlockSize()</a>, and <a class="el" href="class_stream_transformation.html#26feabde21bc4d1783195969733e3bb0">StreamTransformation::ProcessData()</a>.<p>Referenced by <a class="el" href="filters_8cpp-source.html#l00613">StreamTransformationFilter::LastPut()</a>.</div></div><p><a class="anchor" name="71039112353cc70e9859ebd95037cc1a"></a><!-- doxytag: member="ECB_OneWay::IsResynchronizable" ref="71039112353cc70e9859ebd95037cc1a" args="() const" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">bool SimpleKeyingInterface::IsResynchronizable </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [inline, inherited]</code></td> </tr> </table></div><div class="memdoc"><p>returns whether this object can be resynchronized (i.e. supports initialization vectors) <p>If this function returns true, and no IV is passed to <a class="el" href="class_simple_keying_interface.html#df3c29b3ef3af74788a58c7c49887fd7" title="set or reset the key of this object">SetKey()</a> and <a class="el" href="class_simple_keying_interface.html#fbf7065f7db5439d471d1bcc260d3bd5" title="returns whether this object can use structured IVs, for example a counter (in addition...">CanUseStructuredIVs()</a>==true, an IV of all 0's will be assumed. <p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00388">388</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.<p>Referenced by <a class="el" href="cryptlib_8cpp-source.html#l00080">SimpleKeyingInterface::ThrowIfInvalidIV()</a>, <a class="el" href="cryptlib_8cpp-source.html#l00074">SimpleKeyingInterface::ThrowIfResynchronizable()</a>, and <a class="el" href="modes_8cpp-source.html#l00087">BlockOrientedCipherModeBase::UncheckedSetKey()</a>.</div></div><p><a class="anchor" name="917224bb6df7431d6469e7a10feac5fa"></a><!-- doxytag: member="ECB_OneWay::GetNextIV" ref="917224bb6df7431d6469e7a10feac5fa" args="(RandomNumberGenerator &rng, byte *IV)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void SimpleKeyingInterface::GetNextIV </td> <td>(</td> <td class="paramtype"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> & </td> <td class="paramname"> <em>rng</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">byte * </td> <td class="paramname"> <em>IV</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual, inherited]</code></td> </tr> </table></div><div class="memdoc"><p>get a secure IV for the next message <p>This method should be called after you finish encrypting one message and are ready to start the next one. After calling it, you must call <a class="el" href="class_simple_keying_interface.html#df3c29b3ef3af74788a58c7c49887fd7" title="set or reset the key of this object">SetKey()</a> or <a class="el" href="class_simple_keying_interface.html#8ee3f5f9c00d193bf9d8fd8aa46ccbb2" title="resynchronize with an IV">Resynchronize()</a> before using this object again. This method is not implemented on decryption objects. <p>Reimplemented in <a class="el" href="class_v_m_a_c___base.html#bd5685ab3eaf6ec272f7e062c3194c6c">VMAC_Base</a>.<p>Definition at line <a class="el" href="cryptlib_8cpp-source.html#l00096">96</a> of file <a class="el" href="cryptlib_8cpp-source.html">cryptlib.cpp</a>.<p>References <a class="el" href="cryptlib_8cpp-source.html#l00157">RandomNumberGenerator::GenerateBlock()</a>, and <a class="el" href="cryptlib_8h-source.html#l00397">SimpleKeyingInterface::IVSize()</a>.<p>Referenced by <a class="el" href="vmac_8cpp-source.html#l00090">VMAC_Base::GetNextIV()</a>.</div></div><p><hr>The documentation for this class was generated from the following file:<ul><li><a class="el" href="modes_8h-source.html">modes.h</a></ul><hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 1 11:11:36 2007 for Crypto++ by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -