📄 class_d_l___group_parameters___d_s_a.html
字号:
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="16d9f1685fbb1be3f29a22dbba911142"></a><!-- doxytag: member="DL_GroupParameters_DSA::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="DL_GroupParameters_DSA::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="DL_GroupParameters_DSA::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="DL_GroupParameters_DSA::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="DL_GroupParameters_DSA::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="DL_GroupParameters_DSA::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="DL_GroupParameters_DSA::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="DL_GroupParameters_DSA::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 colspan="2"><br><h2>Static Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8aefa5fb1191a15136e1a5473900517"></a><!-- doxytag: member="DL_GroupParameters_DSA::StaticAlgorithmNamePrefix" ref="c8aefa5fb1191a15136e1a5473900517" args="()" -->static std::string __cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___group_parameters___integer_based.html#c8aefa5fb1191a15136e1a5473900517">StaticAlgorithmNamePrefix</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a50a73b1705adb00ace9463b59696fb7"></a><!-- doxytag: member="DL_GroupParameters_DSA::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 Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa7bb277d7446553ad243eec87da6efc"></a><!-- doxytag: member="DL_GroupParameters_DSA::GetFieldType" ref="aa7bb277d7446553ad243eec87da6efc" args="() const" -->int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___group_parameters___g_f_p.html#aa7bb277d7446553ad243eec87da6efc">GetFieldType</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05c2b65749d0357845599a7d434e3903"></a><!-- doxytag: member="DL_GroupParameters_DSA::ComputeGroupOrder" ref="05c2b65749d0357845599a7d434e3903" args="(const Integer &modulus) const " --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___group_parameters___integer_based.html#05c2b65749d0357845599a7d434e3903">ComputeGroupOrder</a> (const <a class="el" href="class_integer.html">Integer</a> &modulus) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="91dcd7ec2cad65152b863522144351bd"></a><!-- doxytag: member="DL_GroupParameters_DSA::GetDefaultSubgroupOrderSize" ref="91dcd7ec2cad65152b863522144351bd" args="(unsigned int modulusSize) const " -->virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___group_parameters___integer_based.html#91dcd7ec2cad65152b863522144351bd">GetDefaultSubgroupOrderSize</a> (unsigned int modulusSize) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="062c4508c8179ca10a7c1553ca031978"></a><!-- doxytag: member="DL_GroupParameters_DSA::ParametersChanged" ref="062c4508c8179ca10a7c1553ca031978" args="()" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___group_parameters.html#062c4508c8179ca10a7c1553ca031978">ParametersChanged</a> ()</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="9b4bc35a5e9a03d1ff075abefe8d045c"></a><!-- doxytag: member="DL_GroupParameters_DSA::m_groupPrecomputation" ref="9b4bc35a5e9a03d1ff075abefe8d045c" args="" --><a class="el" href="class_mod_exp_precomputation.html">ModExpPrecomputation</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___group_parameters_impl.html#9b4bc35a5e9a03d1ff075abefe8d045c">m_groupPrecomputation</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="187f7e42228ffcfd25ce90c35b979561"></a><!-- doxytag: member="DL_GroupParameters_DSA::m_gpc" ref="187f7e42228ffcfd25ce90c35b979561" args="" --><a class="el" href="class_d_l___fixed_base_precomputation_impl.html">DL_FixedBasePrecomputationImpl</a><<br> <a class="el" href="class_integer.html">typenameModExpPrecomputation::Element</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___group_parameters_impl.html#187f7e42228ffcfd25ce90c35b979561">m_gpc</a></td></tr></table><hr><h2>Member Function Documentation</h2><a class="anchor" name="a6928614d0438d0ec6bbac7d5e4289a1"></a><!-- doxytag: member="DL_GroupParameters_DSA::ValidateGroup" ref="a6928614d0438d0ec6bbac7d5e4289a1" args="(RandomNumberGenerator &rng, unsigned int level) const" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">bool DL_GroupParameters_DSA::ValidateGroup </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>also checks that the lengths of p and q are allowed by the <a class="el" href="struct_d_s_a.html" title="DSA">DSA</a> standard <p>Reimplemented from <a class="el" href="class_d_l___group_parameters___integer_based.html#be42dee24455ea7aac8edee78012cbad">DL_GroupParameters_IntegerBased</a>.<p>Definition at line <a class="el" href="gfpcrypt_8cpp-source.html#l00061">61</a> of file <a class="el" href="gfpcrypt_8cpp-source.html">gfpcrypt.cpp</a>.<p>References <a class="el" href="integer_8cpp-source.html#l03054">Integer::BitCount()</a>, <a class="el" href="gfpcrypt_8h-source.html#l00103">DL_GroupParameters_IntegerBasedImpl< ModExpPrecomputation >::GetModulus()</a>, <a class="el" href="gfpcrypt_8h-source.html#l00048">DL_GroupParameters_IntegerBased::GetSubgroupOrder()</a>, <a class="el" href="gfpcrypt_8h-source.html#l00401">DSA::IsValidPrimeLength()</a>, and <a class="el" href="gfpcrypt_8cpp-source.html#l00113">DL_GroupParameters_IntegerBased::ValidateGroup()</a>.</div></div><p><a class="anchor" name="c83d3668c342b3a1fb367ed7785e27a3"></a><!-- doxytag: member="DL_GroupParameters_DSA::GenerateRandom" ref="c83d3668c342b3a1fb367ed7785e27a3" args="(RandomNumberGenerator &rng, const NameValuePairs &alg)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void DL_GroupParameters_DSA::GenerateRandom </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -