📄 class_invertible_l_u_c_function.html
字号:
<tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha41" doxytag="InvertibleLUCFunction::GetValueNames"></a>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_l_u_c_function.html#_x_t_r___d_ha41">GetValueNames</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a list of value names that can be retrieved <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_l_u_c_function.html#_x_t_r___d_ha42">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 </em> <a href="#_x_t_r___d_ha42"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha43" doxytag="InvertibleLUCFunction::GetIntValueWithDefault"></a>int </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_l_u_c_function.html#_x_t_r___d_ha43">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><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha44" doxytag="InvertibleLUCFunction::GetRequiredParameter"></a>template<class T> void </td><td class="memItemRight" valign=bottom><b>GetRequiredParameter</b> (const char *className, const char *name, T &value) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha45" doxytag="InvertibleLUCFunction::GetRequiredIntParameter"></a>void </td><td class="memItemRight" valign=bottom><b>GetRequiredIntParameter</b> (const char *className, const char *name, int &value) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_trapdoor_function_inversea1" doxytag="InvertibleLUCFunction::CalculateRandomizedInverse"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>CalculateRandomizedInverse</b> (<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 name="_x_t_r___d_ha28" doxytag="InvertibleLUCFunction::GenerateRandomWithKeySize"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_l_u_c_function.html#_x_t_r___d_ha28">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">NameValuePairs</a> object that just specifies "KeySize" <br><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 name="_x_t_r___d_he0" doxytag="InvertibleLUCFunction::ThrowIfTypeMismatch"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_l_u_c_function.html#_x_t_r___d_he0">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><br></td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_l_u_c_functionp0" doxytag="InvertibleLUCFunction::m_p"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>m_p</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_l_u_c_functionp1" doxytag="InvertibleLUCFunction::m_q"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>m_q</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_l_u_c_functionp2" doxytag="InvertibleLUCFunction::m_u"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>m_u</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_l_u_c_functionp0" doxytag="InvertibleLUCFunction::m_n"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>m_n</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_l_u_c_functionp1" doxytag="InvertibleLUCFunction::m_e"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>m_e</b></td></tr></table><hr><h2>Member Function Documentation</h2><a name="_invertible_l_u_c_functiona5" doxytag="InvertibleLUCFunction::Validate"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> bool InvertibleLUCFunction::Validate </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> & </td> <td class="mdname" nowrap> <em>rng</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>level</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"> const<code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><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><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 compact><dt><b>Returns:</b></dt><dd>true if the tests pass </dd></dl><p>Reimplemented from <a class="el" href="class_l_u_c_function.html#_l_u_c_functiona6">LUCFunction</a>.<p>Definition at line <a class="el" href="luc_8cpp-source.html#l00172">172</a> of file <a class="el" href="luc_8cpp-source.html">luc.cpp</a>.<p>References <a class="el" href="integer_8h-source.html#l00231">Integer::IsOdd()</a>, <a class="el" href="integer_8h-source.html#l00225">Integer::IsPositive()</a>, <a class="el" href="integer_8cpp-source.html#l02616">Integer::One()</a>, and <a class="el" href="luc_8cpp-source.html#l00070">LUCFunction::Validate()</a>. </td> </tr></table><a name="_invertible_l_u_c_functiona7" doxytag="InvertibleLUCFunction::AssignFrom"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void InvertibleLUCFunction::AssignFrom </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> & </td> <td class="mdname1" valign="top" nowrap> <em>source</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>assign values from source to this object <p><dl compact><dt><b>Note:</b></dt><dd>This function can be used to create a public key from a private key. </dd></dl><p>Reimplemented from <a class="el" href="class_l_u_c_function.html#_l_u_c_functiona8">LUCFunction</a>.<p>Definition at line <a class="el" href="luc_8cpp-source.html#l00201">201</a> of file <a class="el" href="luc_8cpp-source.html">luc.cpp</a>.<p>References <a class="el" href="argnames_8h-source.html#l00040">Name::MultiplicativeInverseOfPrime2ModPrime1()</a>, <a class="el" href="argnames_8h-source.html#l00036">Name::Prime1()</a>, and <a class="el" href="argnames_8h-source.html#l00037">Name::Prime2()</a>. </td> </tr></table><a name="_invertible_l_u_c_functiona8" doxytag="InvertibleLUCFunction::GenerateRandom"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void InvertibleLUCFunction::GenerateRandom </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> & </td> <td class="mdname" nowrap> <em>rng</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> & </td> <td class="mdname" nowrap> <em>alg</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [virtual]</code></td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -