📄 class_d_l___group_parameters___integer_based.html
字号:
<tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa12" doxytag="DL_GroupParameters_IntegerBased::GetBasePrecomputation"></a>virtual const DL_FixedBasePrecomputation<<br> Element > & </td><td class="memItemRight" valign=bottom><b>GetBasePrecomputation</b> () const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa13" doxytag="DL_GroupParameters_IntegerBased::AccessBasePrecomputation"></a>virtual DL_FixedBasePrecomputation<<br> Element > & </td><td class="memItemRight" valign=bottom><b>AccessBasePrecomputation</b> ()=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa17" doxytag="DL_GroupParameters_IntegerBased::GetCofactor"></a>virtual <a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>GetCofactor</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa23" doxytag="DL_GroupParameters_IntegerBased::ValidateElement"></a>virtual bool </td><td class="memItemRight" valign=bottom><b>ValidateElement</b> (unsigned int level, const Element &element, const DL_FixedBasePrecomputation< Element > *precomp) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa25" doxytag="DL_GroupParameters_IntegerBased::IsIdentity"></a>virtual bool </td><td class="memItemRight" valign=bottom><b>IsIdentity</b> (const Element &element) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa26" doxytag="DL_GroupParameters_IntegerBased::SimultaneousExponentiate"></a>virtual void </td><td class="memItemRight" valign=bottom><b>SimultaneousExponentiate</b> (Element *results, const Element &base, const <a class="el" href="class_integer.html">Integer</a> *exponents, unsigned int exponentsCount) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha28" doxytag="DL_GroupParameters_IntegerBased::GenerateRandomWithKeySize"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.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 class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha29" doxytag="DL_GroupParameters_IntegerBased::ThrowIfInvalid"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.html#_x_t_r___d_ha29">ThrowIfInvalid</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, unsigned int level) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">throws <a class="el" href="class_crypto_material_1_1_invalid_material.html">InvalidMaterial</a> if this object fails <a class="el" href="class_crypto_material.html#_x509_public_keya12">Validate()</a> test <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha30" doxytag="DL_GroupParameters_IntegerBased::Save"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.html#_x_t_r___d_ha30">Save</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">save key into a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> <br><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_d_l___group_parameters___integer_based.html#_x_t_r___d_ha31">Load</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">load key from a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> </em> <a href="#_x_t_r___d_ha31"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha36" doxytag="DL_GroupParameters_IntegerBased::DoQuickSanityCheck"></a>void </td><td class="memItemRight" valign=bottom><b>DoQuickSanityCheck</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha37" doxytag="DL_GroupParameters_IntegerBased::GetThisObject"></a>template<class T> bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.html#_x_t_r___d_ha37">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><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha38" doxytag="DL_GroupParameters_IntegerBased::GetThisPointer"></a>template<class T> bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.html#_x_t_r___d_ha38">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><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha39" doxytag="DL_GroupParameters_IntegerBased::GetValue"></a>template<class T> bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.html#_x_t_r___d_ha39">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><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha40" doxytag="DL_GroupParameters_IntegerBased::GetValueWithDefault"></a>template<class T> T </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.html#_x_t_r___d_ha40">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><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha41" doxytag="DL_GroupParameters_IntegerBased::GetValueNames"></a>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.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_d_l___group_parameters___integer_based.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="DL_GroupParameters_IntegerBased::GetIntValueWithDefault"></a>int </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.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="DL_GroupParameters_IntegerBased::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="DL_GroupParameters_IntegerBased::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="_x509_public_keya8" doxytag="DL_GroupParameters_IntegerBased::Save"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.html#_x509_public_keya8">Save</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">save key into a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.html#_x509_public_keya9">Load</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">load key from a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> </em> <a href="#_x509_public_keya9"></a><em><br><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_d_l___group_parameters___integer_based.html#_x509_public_keya10">BEREncode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">encode this object into a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a>, using BER </em> <a href="#_x509_public_keya10"></a><em><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="DL_GroupParameters_IntegerBased::ThrowIfTypeMismatch"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.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 Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parameters_impl_3_01_mod_exp_precomputation_00_01_d_l___fixed_base_precomputation_impl_3_01typename_mod_exp_precomputation_1_1_element_01_4_00_01_d_l___group_parameters___integer_based_01_4b0" doxytag="DL_GroupParameters_IntegerBased::ComputeGroupOrder"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>ComputeGroupOrder</b> (const <a class="el" href="class_integer.html">Integer</a> &modulus) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parameters_impl_3_01_mod_exp_precomputation_00_01_d_l___fixed_base_precomputation_impl_3_01typename_mod_exp_precomputation_1_1_element_01_4_00_01_d_l___group_parameters___integer_based_01_4b1" doxytag="DL_GroupParameters_IntegerBased::GetFieldType"></a>virtual int </td><td class="memItemRight" valign=bottom><b>GetFieldType</b> () const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parameters_impl_3_01_mod_exp_precomputation_00_01_d_l___fixed_base_precomputation_impl_3_01typename_mod_exp_precomputation_1_1_element_01_4_00_01_d_l___group_parameters___integer_based_01_4b2" doxytag="DL_GroupParameters_IntegerBased::GetDefaultSubgroupOrderSize"></a>virtual unsigned int </td><td class="memItemRight" valign=bottom><b>GetDefaultSubgroupOrderSize</b> (unsigned int modulusSize) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersb0" doxytag="DL_GroupParameters_IntegerBased::ParametersChanged"></a>void </td><td class="memItemRight" valign=bottom><b>ParametersChanged</b> ()</td></tr></table><hr><h2>Member Function Documentation</h2><a name="_d_l___group_parameters_impl_3_01_mod_exp_precomputation_00_01_d_l___fixed_base_precomputation_impl_3_01typename_mod_exp_precomputation_1_1_element_01_4_00_01_d_l___group_parameters___integer_based_01_4a10" doxytag="DL_GroupParameters_IntegerBased::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 DL_GroupParameters_IntegerBased::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> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>parameters: (ModulusSize, SubgroupOrderSize (optional)) <p>Reimplemented from <a class="el" href="class_generatable_crypto_material.html#_x_t_r___d_ha27">GeneratableCryptoMaterial</a>.<p>Reimplemented in <a class="el" href="class_d_l___group_parameters___d_s_a.html#_d_l___group_parameters___d_s_aa1">DL_GroupParameters_DSA</a>.<p>Definition at line <a class="el" href="gfpcrypt_8cpp-source.html#l00142">142</a> of file <a class="el" href="gfpcrypt_8cpp-source.html">gfpcrypt.cpp</a>.<p>References PrimeAndGenerator::Generate(), <a class="el" href="nbtheory_8h-source.html#l00135">PrimeAndGenerator::Generator()</a>, <a class="el" href="cryptlib_8h-source.html#l00275">NameValuePairs::GetIntValue()</a>, <a class="el" href="cryptlib_8h-source.html#l00279">NameValuePairs::GetIntValueWithDefault()</a>, <a class="el" href="cryptlib_8h-source.html#l00255">NameValuePairs::GetValue()</a>, <a class="el" href="cryptlib_8h-source.html#l00262">NameValuePairs::GetValueWithDefault()</a>, <a class="el" href="nbtheory_8h-source.html#l00133">PrimeAndGenerator::Prime()</a>, and <a class="el" href="nbtheory_8h-source.html#l00134">PrimeAndGenerator::SubPrime()</a>. </td> </tr></table><a name="_d_l___group_parameters_impl_3_01_mod_exp_precomputation_00_01_d_l___fixed_base_precomputation_impl_3_01typename_mod_exp_precomputation_1_1_element_01_4_00_01_d_l___group_parameters___integer_based_01_4a12" doxytag="DL_GroupParameters_IntegerBased::AssignFrom"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -