Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > media > contrib > by-pkgid > 7457b841ac8136d3a1a9d3d960c5252e > files > 298

libcryptopp-doc-5.2.1-2mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crypto++: DL_GroupParameters_GFP_DefaultSafePrime class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.7 -->
<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">Class&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">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>DL_GroupParameters_GFP_DefaultSafePrime Class Reference</h1><code>#include &lt;<a class="el" href="gfpcrypt_8h-source.html">gfpcrypt.h</a>&gt;</code>
<p>
<p>Inheritance diagram for DL_GroupParameters_GFP_DefaultSafePrime:
<p><center><img src="class_d_l___group_parameters___g_f_p___default_safe_prime.png" usemap="#DL_GroupParameters_GFP_DefaultSafePrime_map" border="0" alt=""></center>
<map name="DL_GroupParameters_GFP_DefaultSafePrime_map">
<area href="class_d_l___group_parameters___g_f_p.html" alt="DL_GroupParameters_GFP" shape="rect" coords="747,448,1733,472">
<area href="class_d_l___group_parameters___integer_based_impl.html" alt="DL_GroupParameters_IntegerBasedImpl< ModExpPrecomputation >" shape="rect" coords="747,392,1733,416">
<area href="class_d_l___group_parameters_impl.html" alt="DL_GroupParametersImpl< ModExpPrecomputation, DL_FixedBasePrecomputationImpl< typenameModExpPrecomputation::Element >, DL_GroupParameters_IntegerBased >" shape="rect" coords="747,336,1733,360">
<area href="class_d_l___group_parameters___integer_based.html" alt="DL_GroupParameters_IntegerBased" shape="rect" coords="747,280,1733,304">
<area href="class_d_l___group_parameters.html" alt="DL_GroupParameters< Integer >" shape="rect" coords="0,224,986,248">
<area href="class_a_s_n1_crypto_material.html" alt="ASN1CryptoMaterial" shape="rect" coords="1494,224,2480,248">
<area href="class_crypto_parameters.html" alt="CryptoParameters" shape="rect" coords="0,168,986,192">
<area href="class_a_s_n1_object.html" alt="ASN1Object" shape="rect" coords="996,168,1982,192">
<area href="class_crypto_material.html" alt="CryptoMaterial" shape="rect" coords="1992,168,2978,192">
<area href="class_generatable_crypto_material.html" alt="GeneratableCryptoMaterial" shape="rect" coords="0,112,986,136">
<area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="1992,112,2978,136">
<area href="class_crypto_material.html" alt="CryptoMaterial" shape="rect" coords="0,56,986,80">
<area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="0,0,986,24">
</map>
<a href="class_d_l___group_parameters___g_f_p___default_safe_prime-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
GF(p) group parameters that default to same primes. 
<p>

<p>
Definition at line <a class="el" href="gfpcrypt_8h-source.html#l00141">141</a> of file <a class="el" href="gfpcrypt_8h-source.html">gfpcrypt.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 class="anchor" name="_d_l___group_parameters___g_f_p___default_safe_primew0" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::DefaultCofactorOption" ></a>
typedef NoCofactorMultiplication&nbsp;</td><td class="memItemRight" valign=bottom><b>DefaultCofactorOption</b></td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___integer_based_implw0" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::Element" ></a>
typedef ModExpPrecomputation::Element&nbsp;</td><td class="memItemRight" valign=bottom><b>Element</b></td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters_implw0" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GroupPrecomputation" ></a>
typedef ModExpPrecomputation&nbsp;</td><td class="memItemRight" valign=bottom><b>GroupPrecomputation</b></td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters_implw2" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::BasePrecomputation" ></a>
typedef DL_FixedBasePrecomputationImpl&lt;<br>
 typenameModExpPrecomputation::Element &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>BasePrecomputation</b></td></tr>

<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___g_f_p___default_safe_primea0" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::IsIdentity" ></a>
bool&nbsp;</td><td class="memItemRight" valign=bottom><b>IsIdentity</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;element) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parametersa25" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 class="anchor" name="_d_l___group_parameters___g_f_p___default_safe_primea2" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::SimultaneousExponentiate" ></a>
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</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___g_f_p___default_safe_primea3" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetVoidValue" ></a>
bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___g_f_p.html#_d_l___group_parameters___g_f_p___default_safe_primea3">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 class="anchor" name="_d_l___group_parameters___g_f_p___default_safe_primea4" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::MultiplyElements" ></a>
Element&nbsp;</td><td class="memItemRight" valign=bottom><b>MultiplyElements</b> (const Element &amp;a, const Element &amp;b) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___g_f_p___default_safe_primea5" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::CascadeExponentiate" ></a>
Element&nbsp;</td><td class="memItemRight" valign=bottom><b>CascadeExponentiate</b> (const Element &amp;element1, const <a class="el" href="class_integer.html">Integer</a> &amp;exponent1, const Element &amp;element2, const <a class="el" href="class_integer.html">Integer</a> &amp;exponent2) const</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___integer_based_impl.html#_d_l___group_parameters___integer_based_impla1">AssignFrom</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;source)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign values from source to this object  <a href="#_d_l___group_parameters___integer_based_impla1"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___integer_based_impla2" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetBasePrecomputation" ></a>
const DL_FixedBasePrecomputation&lt;<br>
 Element &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetBasePrecomputation</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___integer_based_impla3" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::AccessBasePrecomputation" ></a>
DL_FixedBasePrecomputation&lt;<br>
 Element &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>AccessBasePrecomputation</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___integer_based_impla4" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetModulus" ></a>
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetModulus</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___integer_based_impla5" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetGenerator" ></a>
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetGenerator</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___integer_based_impla6" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::SetModulusAndSubgroupGenerator" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>SetModulusAndSubgroupGenerator</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;p, const <a class="el" href="class_integer.html">Integer</a> &amp;g)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___integer_based_impla7" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::operator==" ></a>
bool&nbsp;</td><td class="memItemRight" valign=bottom><b>operator==</b> (const <a class="el" href="class_d_l___group_parameters___integer_based_impl.html">DL_GroupParameters_IntegerBasedImpl</a>&lt; ModExpPrecomputation, DL_FixedBasePrecomputationImpl&lt; typenameModExpPrecomputation::Element &gt; &gt; &amp;rhs) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters___integer_based_impla8" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::operator!=" ></a>
bool&nbsp;</td><td class="memItemRight" valign=bottom><b>operator!=</b> (const <a class="el" href="class_d_l___group_parameters___integer_based_impl.html">DL_GroupParameters_IntegerBasedImpl</a>&lt; ModExpPrecomputation, DL_FixedBasePrecomputationImpl&lt; typenameModExpPrecomputation::Element &gt; &gt; &amp;rhs) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters_impla0" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetGroupPrecomputation" ></a>
const DL_GroupPrecomputation&lt;<br>
 Element &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetGroupPrecomputation</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a3" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::Initialize" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>Initialize</b> (const <a class="el" href="class_d_l___group_parameters___integer_based.html">DL_GroupParameters_IntegerBased</a> &amp;params)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a4" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::Initialize" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>Initialize</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, unsigned int pbits)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a5" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::Initialize" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>Initialize</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;p, const <a class="el" href="class_integer.html">Integer</a> &amp;g)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a6" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::Initialize" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>Initialize</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;p, const <a class="el" href="class_integer.html">Integer</a> &amp;q, const <a class="el" href="class_integer.html">Integer</a> &amp;g)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a7" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::BERDecode" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.html#_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_4a7">BERDecode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">decode this object from a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a>, using BER (Basic Encoding Rules) <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a8" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::DEREncode" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_d_l___group_parameters___integer_based.html#_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_4a8">DEREncode</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">encode this object into a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a>, using DER (Distinguished Encoding Rules) <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___integer_based.html#_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_4a9">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;alg)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_GFP_DefaultSafePrime::GetSubgroupOrder" ></a>
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetSubgroupOrder</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a13" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetGroupOrder" ></a>
<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 class="anchor" 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_4a14" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::ValidateGroup" ></a>
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</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a15" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::ValidateElement" ></a>
bool&nbsp;</td><td class="memItemRight" valign=bottom><b>ValidateElement</b> (unsigned int level, const <a class="el" href="class_integer.html">Integer</a> &amp;element, const DL_FixedBasePrecomputation&lt; <a class="el" href="class_integer.html">Integer</a> &gt; *precomp) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parametersa23" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 class="anchor" 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_4a17" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::FastSubgroupCheckAvailable" ></a>
bool&nbsp;</td><td class="memItemRight" valign=bottom><b>FastSubgroupCheckAvailable</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a18" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::EncodeElement" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>EncodeElement</b> (bool reversible, const Element &amp;element, byte *encoded) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a19" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetEncodedElementSize" ></a>
unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><b>GetEncodedElementSize</b> (bool reversible) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a20" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::DecodeElement" ></a>
<a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>DecodeElement</b> (const byte *encoded, bool checkForGroupMembership) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a21" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::ConvertElementToInteger" ></a>
<a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>ConvertElementToInteger</b> (const Element &amp;element) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a22" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetMaxExponent" ></a>
<a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>GetMaxExponent</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a23" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetAlgorithmID" ></a>
<a class="el" href="class_o_i_d.html">OID</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>GetAlgorithmID</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_4a26" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::SetSubgroupOrder" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>SetSubgroupOrder</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;q)</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  <a href="#_d_l___group_parametersa1"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parametersa3" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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">whether this object supports precomputation <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  <a href="#_d_l___group_parametersa4"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parametersa5" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 class="anchor" name="_d_l___group_parametersa6" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 class="anchor" name="_d_l___group_parametersa7" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 class="anchor" name="_d_l___group_parametersa8" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 class="anchor" name="_d_l___group_parametersa9" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 class="anchor" name="_d_l___group_parametersa10" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 class="anchor" name="_d_l___group_parametersa17" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 class="anchor" name="_x_t_r___d_ha28" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GenerateRandomWithKeySize" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_generatable_crypto_material.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><a class="anchor" name="_x_t_r___d_ha29" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::ThrowIfInvalid" ></a>
virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_crypto_material.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 Validate() test <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_x_t_r___d_ha30" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::Save" ></a>
virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_crypto_material.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><a class="anchor" name="_x509_public_keya8" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::Save" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_a_s_n1_crypto_material.html#_x509_public_keya8">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_crypto_material.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>  <a href="#_x_t_r___d_ha31"></a><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_a_s_n1_crypto_material.html#_x509_public_keya9">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>  <a href="#_x509_public_keya9"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_x_t_r___d_ha36" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 class="anchor" name="_x_t_r___d_ha37" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetThisObject" ></a>
template&lt;class T&gt; bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_name_value_pairs.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 class="anchor" name="_x_t_r___d_ha38" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetThisPointer" ></a>
template&lt;class T&gt; bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_name_value_pairs.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 class="anchor" name="_x_t_r___d_ha39" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetValue" ></a>
template&lt;class T&gt; bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_name_value_pairs.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>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_x_t_r___d_ha40" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetValueWithDefault" ></a>
template&lt;class T&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_name_value_pairs.html#_x_t_r___d_ha40">GetValueWithDefault</a> (const char *name, T defaultValue) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</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 class="anchor" name="_x_t_r___d_ha41" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetValueNames" ></a>
std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_name_value_pairs.html#_x_t_r___d_ha41">GetValueNames</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_name_value_pairs.html#_x_t_r___d_ha42">GetIntValue</a> (const char *name, int &amp;value) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a named value with type int  <a href="#_x_t_r___d_ha42"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_x_t_r___d_ha43" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetIntValueWithDefault" ></a>
int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_name_value_pairs.html#_x_t_r___d_ha43">GetIntValueWithDefault</a> (const char *name, int defaultValue) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</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 class="anchor" name="_x_t_r___d_ha44" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetRequiredParameter" ></a>
template&lt;class T&gt; void&nbsp;</td><td class="memItemRight" valign=bottom><b>GetRequiredParameter</b> (const char *className, const char *name, T &amp;value) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_x_t_r___d_ha45" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetRequiredIntParameter" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>GetRequiredIntParameter</b> (const char *className, const char *name, int &amp;value) const</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_a_s_n1_object.html#_x509_public_keya10">BEREncode</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">encode this object into a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a>, using BER  <a href="#_x509_public_keya10"></a><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 class="anchor" 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_4e0" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::StaticAlgorithmNamePrefix" ></a>
std::string&nbsp;</td><td class="memItemRight" valign=bottom><b>StaticAlgorithmNamePrefix</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_x_t_r___d_he0" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::ThrowIfTypeMismatch" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_name_value_pairs.html#_x_t_r___d_he0">ThrowIfTypeMismatch</a> (const char *name, const std::type_info &amp;stored, const std::type_info &amp;retrieving)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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 class="anchor" name="_d_l___group_parameters___g_f_p___default_safe_primeb0" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetDefaultSubgroupOrderSize" ></a>
unsigned int&nbsp;</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 class="anchor" name="_d_l___group_parameters___g_f_p___default_safe_primeb1" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetFieldType" ></a>
int&nbsp;</td><td class="memItemRight" valign=bottom><b>GetFieldType</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" 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_GFP_DefaultSafePrime::ComputeGroupOrder" ></a>
<a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>ComputeGroupOrder</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;modulus) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parametersb0" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::ParametersChanged" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>ParametersChanged</b> ()</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="_d_l___group_parameters_implp0" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::m_groupPrecomputation" ></a>
ModExpPrecomputation&nbsp;</td><td class="memItemRight" valign=bottom><b>m_groupPrecomputation</b></td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_d_l___group_parameters_implp1" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::m_gpc" ></a>
DL_FixedBasePrecomputationImpl&lt;<br>
 typenameModExpPrecomputation::Element &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>m_gpc</b></td></tr>

</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="_d_l___group_parameters___integer_based_impla1" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 <a class="el" href="class_d_l___group_parameters___integer_based_impl.html">DL_GroupParameters_IntegerBasedImpl</a>&lt; ModExpPrecomputation , DL_FixedBasePrecomputationImpl&lt; typename  ModExpPrecomputation ::Element&gt;  &gt;::AssignFrom           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>source</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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_d_l___group_parameters___integer_based.html#_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_4a11">DL_GroupParameters_IntegerBased</a>.
<p>
Definition at line <a class="el" href="gfpcrypt_8h-source.html#l00095">95</a> of file <a class="el" href="gfpcrypt_8h-source.html">gfpcrypt.h</a>.    </td>
  </tr>
</table>
<a class="anchor" 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_4a9" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>rng</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>alg</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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#l00160">160</a> of file <a class="el" href="gfpcrypt_8cpp-source.html">gfpcrypt.cpp</a>.
<p>
References PrimeAndGenerator::Generate(), <a class="el" href="gfpcrypt_8cpp-source.html#l00160">DL_GroupParameters_IntegerBased::GenerateRandom()</a>, <a class="el" href="nbtheory_8h-source.html#l00129">PrimeAndGenerator::Generator()</a>, <a class="el" href="cryptlib_8h-source.html#l00278">NameValuePairs::GetIntValue()</a>, <a class="el" href="cryptlib_8h-source.html#l00282">NameValuePairs::GetIntValueWithDefault()</a>, <a class="el" href="cryptlib_8h-source.html#l00258">NameValuePairs::GetValue()</a>, <a class="el" href="cryptlib_8h-source.html#l00265">NameValuePairs::GetValueWithDefault()</a>, <a class="el" href="nbtheory_8h-source.html#l00127">PrimeAndGenerator::Prime()</a>, and <a class="el" href="nbtheory_8h-source.html#l00128">PrimeAndGenerator::SubPrime()</a>.
<p>
Referenced by <a class="el" href="gfpcrypt_8cpp-source.html#l00160">DL_GroupParameters_IntegerBased::GenerateRandom()</a>.    </td>
  </tr>
</table>
<a class="anchor" name="_d_l___group_parametersa1" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::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 <a class="el" href="class_d_l___group_parameters.html">DL_GroupParameters</a>&lt; <a class="el" href="class_integer.html">Integer</a>  &gt;::Validate           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>rng</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>unsigned int&nbsp;</td>
          <td class="mdname" nowrap> <em>level</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"> const<code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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></td><td valign=top><em>level</em>&nbsp;</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>
Implements <a class="el" href="class_crypto_material.html#_x509_public_keya12">CryptoMaterial</a>.
<p>
Definition at line <a class="el" href="pubkey_8h-source.html#l00551">551</a> of file <a class="el" href="pubkey_8h-source.html">pubkey.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="_d_l___group_parametersa4" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::Precompute" ></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 <a class="el" href="class_d_l___group_parameters.html">DL_GroupParameters</a>&lt; <a class="el" href="class_integer.html">Integer</a>  &gt;::Precompute           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>precomputationStorage</em> = <code>16</code>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
do precomputation 
<p>
The exact semantics of Precompute() is varies, but typically it means calculate a table of n objects that can be used later to speed up computation. 
<p>
Reimplemented from <a class="el" href="class_crypto_material.html#_x_t_r___d_ha33">CryptoMaterial</a>.
<p>
Definition at line <a class="el" href="pubkey_8h-source.html#l00577">577</a> of file <a class="el" href="pubkey_8h-source.html">pubkey.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="_x_t_r___d_ha31" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::Load" ></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"> virtual void CryptoMaterial::Load           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>bt</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
load key from a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>KeyingErr</em>&nbsp;</td><td>if decode fails </td></tr>
  </table>
</dl>
<dl compact><dt><b>Note:</b></dt><dd>Generally does not check that the key is valid. Call ValidateKey() or ThrowIfInvalidKey() to check that. </dd></dl>

<p>
Reimplemented in <a class="el" href="class_a_s_n1_crypto_material.html#_x509_public_keya9">ASN1CryptoMaterial</a>.
<p>
Definition at line <a class="el" href="cryptlib_8h-source.html#l00994">994</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.
<p>
Referenced by <a class="el" href="cryptlib_8h-source.html#l01060">AsymmetricAlgorithm::BERDecode()</a>.    </td>
  </tr>
</table>
<a class="anchor" name="_x509_public_keya9" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::Load" ></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 ASN1CryptoMaterial::Load           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>bt</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
load key from a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>KeyingErr</em>&nbsp;</td><td>if decode fails </td></tr>
  </table>
</dl>
<dl compact><dt><b>Note:</b></dt><dd>Generally does not check that the key is valid. Call ValidateKey() or ThrowIfInvalidKey() to check that. </dd></dl>

<p>
Reimplemented from <a class="el" href="class_crypto_material.html#_x_t_r___d_ha31">CryptoMaterial</a>.
<p>
Definition at line <a class="el" href="simple_8h-source.html#l00052">52</a> of file <a class="el" href="simple_8h-source.html">simple.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="_x_t_r___d_ha42" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::GetIntValue" ></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 NameValuePairs::GetIntValue           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>int &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>value</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get a named value with type int 
<p>
used to ensure we don't accidentally try to get an unsigned int or some other type when we mean int (which is the most common case) 
<p>
Definition at line <a class="el" href="cryptlib_8h-source.html#l00278">278</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.
<p>
Referenced by <a class="el" href="rw_8cpp-source.html#l00111">InvertibleRWFunction::GenerateRandom()</a>, <a class="el" href="rsa_8cpp-source.html#l00104">InvertibleRSAFunction::GenerateRandom()</a>, <a class="el" href="rabin_8cpp-source.html#l00075">InvertibleRabinFunction::GenerateRandom()</a>, <a class="el" href="luc_8cpp-source.html#l00107">InvertibleLUCFunction::GenerateRandom()</a>, <a class="el" href="gfpcrypt_8cpp-source.html#l00160">DL_GroupParameters_IntegerBased::GenerateRandom()</a>, <a class="el" href="gfpcrypt_8cpp-source.html#l00026">DL_GroupParameters_DSA::GenerateRandom()</a>, and <a class="el" href="esign_8cpp-source.html#l00075">InvertibleESIGNFunction::GenerateRandom()</a>.    </td>
  </tr>
</table>
<a class="anchor" name="_x509_public_keya10" doxytag="DL_GroupParameters_GFP_DefaultSafePrime::BEREncode" ></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"> virtual void ASN1Object::BEREncode           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>bt</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
encode this object into a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a>, using BER 
<p>
this may be useful if DEREncode() would be too inefficient 
<p>
Definition at line <a class="el" href="cryptlib_8h-source.html#l01561">1561</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="gfpcrypt_8h-source.html">gfpcrypt.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Sun Nov 7 08:24:02 2004 for Crypto++ by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
</body>
</html>