📄 class_blum_blum_shub.html
字号:
<tr><td class="mdescLeft"> </td><td class="mdescRight">returns the input block size that is most efficient for this cipher <a href="#f66ef64545279c01310718af3d627534"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8422f6eee08fbc70069e222186e90de"></a><!-- doxytag: member="BlumBlumShub::GetOptimalBlockSizeUsed" ref="b8422f6eee08fbc70069e222186e90de" args="() const" -->virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#b8422f6eee08fbc70069e222186e90de">GetOptimalBlockSizeUsed</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns how much of the current block is used up <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9e603c24d02c4538b77b9d59f36310e"></a><!-- doxytag: member="BlumBlumShub::OptimalDataAlignment" ref="b9e603c24d02c4538b77b9d59f36310e" args="() const" -->virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#b9e603c24d02c4538b77b9d59f36310e">OptimalDataAlignment</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns how input should be aligned for optimal performance <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_stream_transformation.html#0668b78edaea082f87bf3e878c4c02f7">ProcessLastBlock</a> (byte *outString, const byte *inString, size_t length)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">for ciphers where the last block of data is special, encrypt or decrypt the last block of data <a href="#0668b78edaea082f87bf3e878c4c02f7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b7c5bc41b9b5f6443ee32d65ebc044c"></a><!-- doxytag: member="BlumBlumShub::MinLastBlockSize" ref="0b7c5bc41b9b5f6443ee32d65ebc044c" args="() const" -->virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#0b7c5bc41b9b5f6443ee32d65ebc044c">MinLastBlockSize</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns the minimum size of the last block, 0 indicating the last block is not special <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c00f3fcc21f33f11c8efa4de67ff7774"></a><!-- doxytag: member="BlumBlumShub::ProcessString" ref="c00f3fcc21f33f11c8efa4de67ff7774" args="(byte *inoutString, size_t length)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#c00f3fcc21f33f11c8efa4de67ff7774">ProcessString</a> (byte *inoutString, size_t length)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">same as ProcessData(inoutString, inoutString, length) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17951cb36412763e0d6bd9696177175d"></a><!-- doxytag: member="BlumBlumShub::ProcessString" ref="17951cb36412763e0d6bd9696177175d" args="(byte *outString, const byte *inString, size_t length)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#17951cb36412763e0d6bd9696177175d">ProcessString</a> (byte *outString, const byte *inString, size_t length)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">same as ProcessData(outString, inString, length) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71a9bd33526fc7f227050075e7a78106"></a><!-- doxytag: member="BlumBlumShub::ProcessByte" ref="71a9bd33526fc7f227050075e7a78106" args="(byte input)" -->byte </td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#71a9bd33526fc7f227050075e7a78106">ProcessByte</a> (byte input)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">implemented as {ProcessData(&input, &input, 1); return input;} <br></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="ea41f47a0b2fc6c05a80b3a59857e70b"></a><!-- doxytag: member="BlumBlumShub::p" ref="ea41f47a0b2fc6c05a80b3a59857e70b" args="" -->const <a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_blum_blum_shub.html#ea41f47a0b2fc6c05a80b3a59857e70b">p</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec0407cb51a5edac638ad7acc8380577"></a><!-- doxytag: member="BlumBlumShub::q" ref="ec0407cb51a5edac638ad7acc8380577" args="" -->const <a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_blum_blum_shub.html#ec0407cb51a5edac638ad7acc8380577">q</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a402876633f8a93a59eb862a6e1f6ee"></a><!-- doxytag: member="BlumBlumShub::x0" ref="3a402876633f8a93a59eb862a6e1f6ee" args="" -->const <a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_blum_blum_shub.html#3a402876633f8a93a59eb862a6e1f6ee">x0</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="60712ac102ff230738ea09fe7e141d89"></a><!-- doxytag: member="BlumBlumShub::modn" ref="60712ac102ff230738ea09fe7e141d89" args="" --><a class="el" href="class_modular_arithmetic.html">ModularArithmetic</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_public_blum_blum_shub.html#60712ac102ff230738ea09fe7e141d89">modn</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45e5b885b73eef60d42220504e151701"></a><!-- doxytag: member="BlumBlumShub::maxBits" ref="45e5b885b73eef60d42220504e151701" args="" -->word </td><td class="memItemRight" valign="bottom"><a class="el" href="class_public_blum_blum_shub.html#45e5b885b73eef60d42220504e151701">maxBits</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="910cdec6f2473f08a1a7d06ec41c12af"></a><!-- doxytag: member="BlumBlumShub::bitsLeft" ref="910cdec6f2473f08a1a7d06ec41c12af" args="" -->word </td><td class="memItemRight" valign="bottom"><a class="el" href="class_public_blum_blum_shub.html#910cdec6f2473f08a1a7d06ec41c12af">bitsLeft</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="060f64661986ffee95b4ec13107cb363"></a><!-- doxytag: member="BlumBlumShub::current" ref="060f64661986ffee95b4ec13107cb363" args="" --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_public_blum_blum_shub.html#060f64661986ffee95b4ec13107cb363">current</a></td></tr><tr><td colspan="2"><br><h2>Friends</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="64155f59c06572d6d5ebc0246f80fefd"></a><!-- doxytag: member="BlumBlumShub::BlumGoldwasserPublicKey" ref="64155f59c06572d6d5ebc0246f80fefd" args="" -->class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_public_blum_blum_shub.html#64155f59c06572d6d5ebc0246f80fefd">BlumGoldwasserPublicKey</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31aabf892ac3430c6e63d71acee8a373"></a><!-- doxytag: member="BlumBlumShub::BlumGoldwasserPrivateKey" ref="31aabf892ac3430c6e63d71acee8a373" args="" -->class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_public_blum_blum_shub.html#31aabf892ac3430c6e63d71acee8a373">BlumGoldwasserPrivateKey</a></td></tr></table><hr><h2>Member Function Documentation</h2><a class="anchor" name="6871d5e2ba162f32574d6b43e2473286"></a><!-- doxytag: member="BlumBlumShub::GenerateBit" ref="6871d5e2ba162f32574d6b43e2473286" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int PublicBlumBlumShub::GenerateBit </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual, inherited]</code></td> </tr> </table></div><div class="memdoc"><p>generate new random bit and return it <p>Default implementation is to call <a class="el" href="class_public_blum_blum_shub.html#aeb3ba6a07fe0a67d35c4fb84bfc71cf" title="generate new random byte and return it">GenerateByte()</a> and return its lowest bit. <p>Reimplemented from <a class="el" href="class_random_number_generator.html#ce592244cfbd6c18398ea6c75857532e">RandomNumberGenerator</a>.<p>Definition at line <a class="el" href="blumshub_8cpp-source.html#l00016">16</a> of file <a class="el" href="blumshub_8cpp-source.html">blumshub.cpp</a>.<p>References <a class="el" href="blumshub_8h-source.html#l00028">PublicBlumBlumShub::bitsLeft</a>, <a class="el" href="blumshub_8h-source.html#l00029">PublicBlumBlumShub::current</a>, <a class="el" href="integer_8cpp-source.html#l02894">Integer::GetBit()</a>, <a class="el" href="blumshub_8h-source.html#l00028">PublicBlumBlumShub::maxBits</a>, <a class="el" href="blumshub_8h-source.html#l00027">PublicBlumBlumShub::modn</a>, and <a class="el" href="modarith_8h-source.html#l00079">ModularArithmetic::Square()</a>.<p>Referenced by <a class="el" href="blumshub_8cpp-source.html#l00027">PublicBlumBlumShub::GenerateByte()</a>.</div></div><p><a class="anchor" name="fb03a58653cb83c9a9013f3a57105bfc"></a><!-- doxytag: member="BlumBlumShub::ProcessData" ref="fb03a58653cb83c9a9013f3a57105bfc" args="(byte *outString, const byte *inString, size_t length)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void PublicBlumBlumShub::ProcessData </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">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -