class_d_l___group_parameters.html

来自「Crypto++是一个非常强大的密码学库,主要是功能全」· HTML 代码 · 共 462 行 · 第 1/3 页

HTML
462
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Crypto++:  TemplateDL_GroupParameters&lt; T &gt; class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.2 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><h1>DL_GroupParameters&lt; T &gt; Class Template Reference</h1><code>#include &lt;<a class="el" href="pubkey_8h-source.html">pubkey.h</a>&gt;</code><p><p>Inheritance diagram for DL_GroupParameters&lt; T &gt;:<p><center><img src="class_d_l___group_parameters.png" usemap="#DL_GroupParameters< T >_map" border="0" alt=""></center><map name="DL_GroupParameters< T >_map"><area href="class_crypto_parameters.html" alt="CryptoParameters" shape="rect" coords="0,168,165,192"><area href="class_generatable_crypto_material.html" alt="GeneratableCryptoMaterial" shape="rect" coords="0,112,165,136"><area href="class_crypto_material.html" alt="CryptoMaterial" shape="rect" coords="0,56,165,80"><area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="0,0,165,24"></map><a href="class_d_l___group_parameters-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2><h3>template&lt;class T&gt;<br> class DL_GroupParameters&lt; T &gt;</h3><p><p>Definition at line <a class="el" href="pubkey_8h-source.html#l00620">620</a> of file <a class="el" href="pubkey_8h-source.html">pubkey.h</a>.<table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersw0" doxytag="DL_GroupParameters::Element"></a>typedef T&nbsp;</td><td class="memItemRight" valign=bottom><b>Element</b></td></tr><tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_d_l___group_parametersa1">Validate</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, unsigned int level) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">check this object for errors </em> <a href="#_d_l___group_parametersa1"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa2" doxytag="DL_GroupParameters::GetVoidValue"></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_d_l___group_parametersa2">GetVoidValue</a> (const char *name, const std::type_info &amp;valueType, void *pValue) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be implemented by derived classes, users should use one of the above functions instead <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa3" doxytag="DL_GroupParameters::SupportsPrecomputation"></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_d_l___group_parametersa3">SupportsPrecomputation</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl compact><dt><b>Returns:</b></dt><dd>whether this object supports precomputation </dd></dl><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_d_l___group_parametersa4">Precompute</a> (unsigned int precomputationStorage=16)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">do precomputation </em> <a href="#_d_l___group_parametersa4"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa5" doxytag="DL_GroupParameters::LoadPrecomputation"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_d_l___group_parametersa5">LoadPrecomputation</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;storedPrecomputation)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">retrieve previously saved precomputation <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa6" doxytag="DL_GroupParameters::SavePrecomputation"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_d_l___group_parametersa6">SavePrecomputation</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;storedPrecomputation) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">save precomputation for later use <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa7" doxytag="DL_GroupParameters::GetSubgroupGenerator"></a>virtual const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetSubgroupGenerator</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa8" doxytag="DL_GroupParameters::SetSubgroupGenerator"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><b>SetSubgroupGenerator</b> (const Element &amp;base)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa9" doxytag="DL_GroupParameters::ExponentiateBase"></a>virtual Element&nbsp;</td><td class="memItemRight" valign=bottom><b>ExponentiateBase</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;exponent) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa10" doxytag="DL_GroupParameters::ExponentiateElement"></a>virtual Element&nbsp;</td><td class="memItemRight" valign=bottom><b>ExponentiateElement</b> (const Element &amp;base, const <a class="el" href="class_integer.html">Integer</a> &amp;exponent) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa11" doxytag="DL_GroupParameters::GetGroupPrecomputation"></a>virtual const DL_GroupPrecomputation&lt;<br> Element &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetGroupPrecomputation</b> () const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa12" doxytag="DL_GroupParameters::GetBasePrecomputation"></a>virtual const DL_FixedBasePrecomputation&lt;<br> Element &gt; &amp;&nbsp;</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::AccessBasePrecomputation"></a>virtual DL_FixedBasePrecomputation&lt;<br> Element &gt; &amp;&nbsp;</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_parametersa14" doxytag="DL_GroupParameters::GetSubgroupOrder"></a>virtual const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetSubgroupOrder</b> () const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa15" doxytag="DL_GroupParameters::GetMaxExponent"></a>virtual <a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>GetMaxExponent</b> () const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa16" doxytag="DL_GroupParameters::GetGroupOrder"></a>virtual <a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>GetGroupOrder</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa17" doxytag="DL_GroupParameters::GetCofactor"></a>virtual <a class="el" href="class_integer.html">Integer</a>&nbsp;</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_parametersa18" doxytag="DL_GroupParameters::GetEncodedElementSize"></a>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><b>GetEncodedElementSize</b> (bool reversible) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa19" doxytag="DL_GroupParameters::EncodeElement"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><b>EncodeElement</b> (bool reversible, const Element &amp;element, byte *encoded) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa20" doxytag="DL_GroupParameters::DecodeElement"></a>virtual Element&nbsp;</td><td class="memItemRight" valign=bottom><b>DecodeElement</b> (const byte *encoded, bool checkForGroupMembership) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa21" doxytag="DL_GroupParameters::ConvertElementToInteger"></a>virtual <a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>ConvertElementToInteger</b> (const Element &amp;element) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa22" doxytag="DL_GroupParameters::ValidateGroup"></a>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><b>ValidateGroup</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, unsigned int level) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa23" doxytag="DL_GroupParameters::ValidateElement"></a>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><b>ValidateElement</b> (unsigned int level, const Element &amp;element, const DL_FixedBasePrecomputation&lt; Element &gt; *precomp) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa24" doxytag="DL_GroupParameters::FastSubgroupCheckAvailable"></a>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><b>FastSubgroupCheckAvailable</b> () const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa25" doxytag="DL_GroupParameters::IsIdentity"></a>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><b>IsIdentity</b> (const Element &amp;element) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___group_parametersa26" doxytag="DL_GroupParameters::SimultaneousExponentiate"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><b>SimultaneousExponentiate</b> (Element *results, const Element &amp;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>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_x_t_r___d_ha27">GenerateRandom</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;params=<a class="el" href="cryptlib_8h.html#a3">g_nullNameValuePairs</a>)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">generate a random key or crypto parameters </em> <a href="#_x_t_r___d_ha27"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha28" doxytag="DL_GroupParameters::GenerateRandomWithKeySize"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_x_t_r___d_ha28">GenerateRandomWithKeySize</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, unsigned int keySize)</td></tr><tr><td class="mdescLeft">&nbsp;</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>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_x509_public_keya11">AssignFrom</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;source)=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign values from source to this object </em> <a href="#_x509_public_keya11"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha29" doxytag="DL_GroupParameters::ThrowIfInvalid"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_x_t_r___d_ha29">ThrowIfInvalid</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, unsigned int level) const</td></tr><tr><td class="mdescLeft">&nbsp;</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::Save"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_x_t_r___d_ha30">Save</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt) const</td></tr><tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_x_t_r___d_ha31">Load</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt)</td></tr><tr><td class="mdescLeft">&nbsp;</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::DoQuickSanityCheck"></a>void&nbsp;</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::GetThisObject"></a>template&lt;class T&gt; bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_x_t_r___d_ha37">GetThisObject</a> (T &amp;object) const</td></tr><tr><td class="mdescLeft">&nbsp;</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::GetThisPointer"></a>template&lt;class T&gt; bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_x_t_r___d_ha38">GetThisPointer</a> (T *&amp;p) const</td></tr><tr><td class="mdescLeft">&nbsp;</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::GetValue"></a>template&lt;class T&gt; bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters.html#_x_t_r___d_ha39">GetValue</a> (const char *name, T &amp;value) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a named value, returns true if the name exists <br><br></td></tr>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?