📄 class_invertible_r_w_function.html
字号:
<tr><td class="mdescLeft"> </td><td class="mdescRight">do precomputation <a href="#39e512d2ea70d0e967db98c19994a7fd"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2911ebd9a28efa43dab71e5c12e2c90d"></a><!-- doxytag: member="InvertibleRWFunction::LoadPrecomputation" ref="2911ebd9a28efa43dab71e5c12e2c90d" args="(BufferedTransformation &storedPrecomputation)" -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#2911ebd9a28efa43dab71e5c12e2c90d">LoadPrecomputation</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &storedPrecomputation)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve previously saved precomputation <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="839d0f7f3e256b625caf6fd792925ad4"></a><!-- doxytag: member="InvertibleRWFunction::SavePrecomputation" ref="839d0f7f3e256b625caf6fd792925ad4" args="(BufferedTransformation &storedPrecomputation) const " -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#839d0f7f3e256b625caf6fd792925ad4">SavePrecomputation</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &storedPrecomputation) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">save precomputation for later use <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1da44802c5cf00946043922cb9e7e6e"></a><!-- doxytag: member="InvertibleRWFunction::DoQuickSanityCheck" ref="a1da44802c5cf00946043922cb9e7e6e" args="() const" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#a1da44802c5cf00946043922cb9e7e6e">DoQuickSanityCheck</a> () const</td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="16d9f1685fbb1be3f29a22dbba911142"></a><!-- doxytag: member="InvertibleRWFunction::GetThisObject" ref="16d9f1685fbb1be3f29a22dbba911142" args="(T &object) const" -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#16d9f1685fbb1be3f29a22dbba911142">GetThisObject</a> (T &object) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a copy of this object or a subobject of it <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="01c64a1e0a5f667898b4c1968a853c0f"></a><!-- doxytag: member="InvertibleRWFunction::GetThisPointer" ref="01c64a1e0a5f667898b4c1968a853c0f" args="(T *&p) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#01c64a1e0a5f667898b4c1968a853c0f">GetThisPointer</a> (T *&p) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a pointer to this object, as a pointer to T <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="96686e9f8d6ce3ab870e516fb72b608e"></a><!-- doxytag: member="InvertibleRWFunction::GetValue" ref="96686e9f8d6ce3ab870e516fb72b608e" args="(const char *name, T &value) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#96686e9f8d6ce3ab870e516fb72b608e">GetValue</a> (const char *name, T &value) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value, returns true if the name exists <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="943b2009297783f1c35bae46efc3b5f7"></a><!-- doxytag: member="InvertibleRWFunction::GetValueWithDefault" ref="943b2009297783f1c35bae46efc3b5f7" args="(const char *name, T defaultValue) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#943b2009297783f1c35bae46efc3b5f7">GetValueWithDefault</a> (const char *name, T defaultValue) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value, returns the default if the name doesn't exist <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13faea827ee047cd58557282806ed2e1"></a><!-- doxytag: member="InvertibleRWFunction::GetValueNames" ref="13faea827ee047cd58557282806ed2e1" args="() const" -->std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#13faea827ee047cd58557282806ed2e1">GetValueNames</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a list of value names that can be retrieved <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#39b6daefcabcdd07f5ae482a075e1728">GetIntValue</a> (const char *name, int &value) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value with type int <a href="#39b6daefcabcdd07f5ae482a075e1728"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ddb654b7afcd1a04422a7b4b01366d9"></a><!-- doxytag: member="InvertibleRWFunction::GetIntValueWithDefault" ref="7ddb654b7afcd1a04422a7b4b01366d9" args="(const char *name, int defaultValue) const" -->int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#7ddb654b7afcd1a04422a7b4b01366d9">GetIntValueWithDefault</a> (const char *name, int defaultValue) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value with type int, with default <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c66048d3bc2a741712486d02e1f75d78"></a><!-- doxytag: member="InvertibleRWFunction::GetRequiredParameter" ref="c66048d3bc2a741712486d02e1f75d78" args="(const char *className, const char *name, T &value) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#c66048d3bc2a741712486d02e1f75d78">GetRequiredParameter</a> (const char *className, const char *name, T &value) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e6596c87ad9c2bb7f2a4d7b2194b949"></a><!-- doxytag: member="InvertibleRWFunction::GetRequiredIntParameter" ref="1e6596c87ad9c2bb7f2a4d7b2194b949" args="(const char *className, const char *name, int &value) const " -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#1e6596c87ad9c2bb7f2a4d7b2194b949">GetRequiredIntParameter</a> (const char *className, const char *name, int &value) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="676ce8748a1fbdde3cdeaa9d5e2a1c41"></a><!-- doxytag: member="InvertibleRWFunction::CalculateRandomizedInverse" ref="676ce8748a1fbdde3cdeaa9d5e2a1c41" args="(RandomNumberGenerator &rng, const Integer &x) const " --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_trapdoor_function_inverse.html#676ce8748a1fbdde3cdeaa9d5e2a1c41">CalculateRandomizedInverse</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const <a class="el" href="class_integer.html">Integer</a> &x) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b2cad45cb51609e3caedfa7bb44594e"></a><!-- doxytag: member="InvertibleRWFunction::IsRandomized" ref="9b2cad45cb51609e3caedfa7bb44594e" args="() const" -->bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_trapdoor_function_inverse.html#9b2cad45cb51609e3caedfa7bb44594e">IsRandomized</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38d492343c32e530a5c2781b5797f755"></a><!-- doxytag: member="InvertibleRWFunction::GenerateRandomWithKeySize" ref="38d492343c32e530a5c2781b5797f755" args="(RandomNumberGenerator &rng, unsigned int keySize)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_generatable_crypto_material.html#38d492343c32e530a5c2781b5797f755">GenerateRandomWithKeySize</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, unsigned int keySize)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">calls the above function with a <a class="el" href="class_name_value_pairs.html" title="interface for retrieving values given their names">NameValuePairs</a> object that just specifies "KeySize" <br></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="a50a73b1705adb00ace9463b59696fb7"></a><!-- doxytag: member="InvertibleRWFunction::ThrowIfTypeMismatch" ref="a50a73b1705adb00ace9463b59696fb7" args="(const char *name, const std::type_info &stored, const std::type_info &retrieving)" -->static void __cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#a50a73b1705adb00ace9463b59696fb7">ThrowIfTypeMismatch</a> (const char *name, const std::type_info &stored, const std::type_info &retrieving)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">used by derived classes to check for type mismatch <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="b4a121ce0a3f24d29b88b08ed8fa275e"></a><!-- doxytag: member="InvertibleRWFunction::m_p" ref="b4a121ce0a3f24d29b88b08ed8fa275e" args="" --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#b4a121ce0a3f24d29b88b08ed8fa275e">m_p</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="42013f81c5212a7d2072d2382018ae8d"></a><!-- doxytag: member="InvertibleRWFunction::m_q" ref="42013f81c5212a7d2072d2382018ae8d" args="" --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#42013f81c5212a7d2072d2382018ae8d">m_q</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e2afd7a6cc5342f098a858dde9161581"></a><!-- doxytag: member="InvertibleRWFunction::m_u" ref="e2afd7a6cc5342f098a858dde9161581" args="" --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#e2afd7a6cc5342f098a858dde9161581">m_u</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21b3158cafdb7121e6305b742ffb340f"></a><!-- doxytag: member="InvertibleRWFunction::m_n" ref="21b3158cafdb7121e6305b742ffb340f" args="" --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_w_function.html#21b3158cafdb7121e6305b742ffb340f">m_n</a></td></tr></table><hr><h2>Member Function Documentation</h2><a class="anchor" name="1c3858f76fdd2c48bcac7346d75b8c9e"></a><!-- doxytag: member="InvertibleRWFunction::Validate" ref="1c3858f76fdd2c48bcac7346d75b8c9e" args="(RandomNumberGenerator &rng, unsigned int level) const" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">bool InvertibleRWFunction::Validate </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">unsigned int </td> <td class="paramname"> <em>level</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table></div><div class="memdoc"><p>check this object for errors <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>level</em> </td><td>denotes the level of thoroughness: 0 - using this object won't cause a crash or exception (rng is ignored) 1 - this object will probably function (encrypt, sign, etc.) correctly (but may not check for weak keys and such) 2 - make sure this object will function correctly, and do reasonable security checks 3 - do checks that may take a long time </td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the tests pass </dd></dl><p>Reimplemented from <a class="el" href="class_r_w_function.html#f326ae91ff9d6719c879861d21d380ac">RWFunction</a>.<p>Definition at line <a class="el" href="rw_8cpp-source.html#l00160">160</a> of file <a class="el" href="rw_8cpp-source.html">rw.cpp</a>.<p>References <a class="el" href="integer_8h-source.html#l00205">Integer::IsPositive()</a>, <a class="el" href="rw_8h-source.html#l00037">RWFunction::m_n</a>, <a class="el" href="rw_8h-source.html#l00073">m_p</a>, <a class="el" href="rw_8h-source.html#l00073">m_q</a>, <a class="el" href="rw_8h-source.html#l00073">m_u</a>, <a class="el" href="integer_8cpp-source.html#l02867">Integer::One()</a>, and <a class="el" href="rw_8cpp-source.html#l00063">RWFunction::Validate()</a>.</div></div><p><a class="anchor" name="56b0314b678c58228671d3c9049f86db"></a><!-- doxytag: member="InvertibleRWFunction::AssignFrom" ref="56b0314b678c58228671d3c9049f86db" args="(const NameValuePairs &source)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void InvertibleRWFunction::AssignFrom </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> & </td> <td class="paramname"> <em>source</em> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table></div><div class="memdoc"><p>assign values from source to this object <p><dl class="note" compact><dt><b>Note:</b></dt><dd>This function can be used to create a public key from a private key. </dd></dl>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -