📄 class_invertible_e_s_i_g_n_function.html
字号:
<!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++: InvertibleESIGNFunction 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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>InvertibleESIGNFunction Class Reference</h1><code>#include <<a class="el" href="esign_8h-source.html">esign.h</a>></code><p><p>Inheritance diagram for InvertibleESIGNFunction:<p><center><img src="class_invertible_e_s_i_g_n_function.png" usemap="#InvertibleESIGNFunction_map" border="0" alt=""></center><map name="InvertibleESIGNFunction_map"><area href="class_e_s_i_g_n_function.html" alt="ESIGNFunction" shape="rect" coords="233,168,456,192"><area href="class_randomized_trapdoor_function_inverse.html" alt="RandomizedTrapdoorFunctionInverse" shape="rect" coords="466,168,689,192"><area href="class_private_key.html" alt="PrivateKey" shape="rect" coords="932,168,1155,192"><area href="class_trapdoor_function.html" alt="TrapdoorFunction" shape="rect" coords="0,112,223,136"><area href="class_public_key.html" alt="PublicKey" shape="rect" coords="233,112,456,136"><area href="class_a_s_n1_crypto_material.html" alt="ASN1CryptoMaterial" shape="rect" coords="582,112,805,136"><area href="class_generatable_crypto_material.html" alt="GeneratableCryptoMaterial" shape="rect" coords="932,112,1155,136"><area href="class_randomized_trapdoor_function.html" alt="RandomizedTrapdoorFunction" shape="rect" coords="0,56,223,80"><area href="class_crypto_material.html" alt="CryptoMaterial" shape="rect" coords="233,56,456,80"><area href="class_a_s_n1_object.html" alt="ASN1Object" shape="rect" coords="466,56,689,80"><area href="class_crypto_material.html" alt="CryptoMaterial" shape="rect" coords="699,56,922,80"><area href="class_crypto_material.html" alt="CryptoMaterial" shape="rect" coords="932,56,1155,80"><area href="class_trapdoor_function_bounds.html" alt="TrapdoorFunctionBounds" shape="rect" coords="0,0,223,24"><area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="233,0,456,24"><area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="699,0,922,24"><area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="932,0,1155,24"></map><a href="class_invertible_e_s_i_g_n_function-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2><p><p>Definition at line <a class="el" href="esign_8h-source.html#l00051">51</a> of file <a class="el" href="esign_8h-source.html">esign.h</a>.<table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona0" doxytag="InvertibleESIGNFunction::Initialize"></a>void </td><td class="memItemRight" valign=bottom><b>Initialize</b> (const <a class="el" href="class_integer.html">Integer</a> &n, const <a class="el" href="class_integer.html">Integer</a> &e, const <a class="el" href="class_integer.html">Integer</a> &p, const <a class="el" href="class_integer.html">Integer</a> &q)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona1" doxytag="InvertibleESIGNFunction::Initialize"></a>void </td><td class="memItemRight" valign=bottom><b>Initialize</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, unsigned int modulusBits)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona2" doxytag="InvertibleESIGNFunction::BERDecode"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona2">BERDecode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="mdescLeft"> </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 name="_invertible_e_s_i_g_n_functiona3" doxytag="InvertibleESIGNFunction::DEREncode"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona3">DEREncode</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 DER (Distinguished Encoding Rules) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona4" doxytag="InvertibleESIGNFunction::CalculateRandomizedInverse"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>CalculateRandomizedInverse</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const <a class="el" href="class_integer.html">Integer</a> &x) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona5">Validate</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">check this object for errors </em> <a href="#_invertible_e_s_i_g_n_functiona5"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona6" doxytag="InvertibleESIGNFunction::GetVoidValue"></a>bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona6">GetVoidValue</a> (const char *name, const std::type_info &valueType, void *pValue) const</td></tr><tr><td class="mdescLeft"> </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>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona7">AssignFrom</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &source)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">assign values from source to this object </em> <a href="#_invertible_e_s_i_g_n_functiona7"></a><em><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_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona8">GenerateRandom</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &alg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona9" doxytag="InvertibleESIGNFunction::GetPrime1"></a>const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign=bottom><b>GetPrime1</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona10" doxytag="InvertibleESIGNFunction::GetPrime2"></a>const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign=bottom><b>GetPrime2</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona11" doxytag="InvertibleESIGNFunction::SetPrime1"></a>void </td><td class="memItemRight" valign=bottom><b>SetPrime1</b> (const <a class="el" href="class_integer.html">Integer</a> &p)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona12" doxytag="InvertibleESIGNFunction::SetPrime2"></a>void </td><td class="memItemRight" valign=bottom><b>SetPrime2</b> (const <a class="el" href="class_integer.html">Integer</a> &q)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona13" doxytag="InvertibleESIGNFunction::Initialize"></a>void </td><td class="memItemRight" valign=bottom><b>Initialize</b> (const <a class="el" href="class_integer.html">Integer</a> &n, const <a class="el" href="class_integer.html">Integer</a> &e)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona14" doxytag="InvertibleESIGNFunction::ApplyFunction"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>ApplyFunction</b> (const <a class="el" href="class_integer.html">Integer</a> &x) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona15" doxytag="InvertibleESIGNFunction::PreimageBound"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>PreimageBound</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona16" doxytag="InvertibleESIGNFunction::ImageBound"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>ImageBound</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona17" doxytag="InvertibleESIGNFunction::GetModulus"></a>const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign=bottom><b>GetModulus</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona18" doxytag="InvertibleESIGNFunction::GetPublicExponent"></a>const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign=bottom><b>GetPublicExponent</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona19" doxytag="InvertibleESIGNFunction::SetModulus"></a>void </td><td class="memItemRight" valign=bottom><b>SetModulus</b> (const <a class="el" href="class_integer.html">Integer</a> &n)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_invertible_e_s_i_g_n_functiona20" doxytag="InvertibleESIGNFunction::SetPublicExponent"></a>void </td><td class="memItemRight" valign=bottom><b>SetPublicExponent</b> (const <a class="el" href="class_integer.html">Integer</a> &e)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_trapdoor_functiona0" doxytag="InvertibleESIGNFunction::ApplyRandomizedFunction"></a><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>ApplyRandomizedFunction</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const <a class="el" href="class_integer.html">Integer</a> &x) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_trapdoor_function_boundsa3" doxytag="InvertibleESIGNFunction::MaxPreimage"></a>virtual <a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>MaxPreimage</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_trapdoor_function_boundsa4" doxytag="InvertibleESIGNFunction::MaxImage"></a>virtual <a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign=bottom><b>MaxImage</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha29" doxytag="InvertibleESIGNFunction::ThrowIfInvalid"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.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="InvertibleESIGNFunction::Save"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.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><a name="_x509_public_keya8" doxytag="InvertibleESIGNFunction::Save"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.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>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.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>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.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><a name="_x_t_r___d_ha32" doxytag="InvertibleESIGNFunction::SupportsPrecomputation"></a>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_x_t_r___d_ha32">SupportsPrecomputation</a> () const</td></tr><tr><td class="mdescLeft"> </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>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_x_t_r___d_ha33">Precompute</a> (unsigned int n)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">do precomputation </em> <a href="#_x_t_r___d_ha33"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha34" doxytag="InvertibleESIGNFunction::LoadPrecomputation"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_x_t_r___d_ha34">LoadPrecomputation</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &storedPrecomputation)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve previously saved precomputation <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha35" doxytag="InvertibleESIGNFunction::SavePrecomputation"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_x_t_r___d_ha35">SavePrecomputation</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &storedPrecomputation) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">save precomputation for later use <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha36" doxytag="InvertibleESIGNFunction::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="InvertibleESIGNFunction::GetThisObject"></a>template<class T> bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.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="InvertibleESIGNFunction::GetThisPointer"></a>template<class T> bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.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="InvertibleESIGNFunction::GetValue"></a>template<class T> bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.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="InvertibleESIGNFunction::GetValueWithDefault"></a>template<class T> T </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.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="InvertibleESIGNFunction::GetValueNames"></a>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_x_t_r___d_ha41">GetValueNames</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a list of value names that can be retrieved <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_x_t_r___d_ha42">GetIntValue</a> (const char *name, int &value) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value with type int </em> <a href="#_x_t_r___d_ha42"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha43" doxytag="InvertibleESIGNFunction::GetIntValueWithDefault"></a>int </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_x_t_r___d_ha43">GetIntValueWithDefault</a> (const char *name, int defaultValue) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value with type int, with default <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha44" doxytag="InvertibleESIGNFunction::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="InvertibleESIGNFunction::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>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.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 class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha28" doxytag="InvertibleESIGNFunction::GenerateRandomWithKeySize"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_invertible_e_s_i_g_n_function.html#_x_t_r___d_ha28">GenerateRandomWithKeySize</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, unsigned int keySize)</td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -