📄 class_d_h___domain.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++: TemplateDH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION > 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>DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION > Class Template Reference</h1><code>#include <<a class="el" href="dh_8h-source.html">dh.h</a>></code><p><p>Inheritance diagram for DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION >:<p><center><img src="class_d_h___domain.png" usemap="#DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION >_map" border="0" alt=""></center><map name="DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION >_map"><area href="class_d_l___simple_key_agreement_domain_base.html" alt="DL_SimpleKeyAgreementDomainBase< GROUP_PARAMETERS::Element >" shape="rect" coords="0,280,433,304"><area href="class_simple_key_agreement_domain.html" alt="SimpleKeyAgreementDomain" shape="rect" coords="0,224,433,248"><area href="class_key_agreement_algorithm.html" alt="KeyAgreementAlgorithm" shape="rect" coords="0,168,433,192"><area href="class_asymmetric_algorithm.html" alt="AsymmetricAlgorithm" shape="rect" coords="0,112,433,136"><area href="class_algorithm.html" alt="Algorithm" shape="rect" coords="0,56,433,80"><area href="class_clonable.html" alt="Clonable" shape="rect" coords="0,0,433,24"></map><a href="class_d_h___domain-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2><h3>template<class GROUP_PARAMETERS, class COFACTOR_OPTION = typename GROUP_PARAMETERS::DefaultCofactorOption><br> class DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION ></h3>, <p><p>Definition at line <a class="el" href="dh_8h-source.html#l00013">13</a> of file <a class="el" href="dh_8h-source.html">dh.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_h___domainw0" doxytag="DH_Domain::GroupParameters"></a>typedef GROUP_PARAMETERS </td><td class="memItemRight" valign=bottom><b>GroupParameters</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domainw1" doxytag="DH_Domain::Element"></a>typedef GroupParameters::Element </td><td class="memItemRight" valign=bottom><b>Element</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domainw2" doxytag="DH_Domain::KeyAgreementAlgorithm"></a>typedef <a class="el" href="class_d_l___key_agreement_algorithm___d_h.html">DL_KeyAgreementAlgorithm_DH</a><<br> Element, COFACTOR_OPTION > </td><td class="memItemRight" valign=bottom><b>KeyAgreementAlgorithm</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domainw3" doxytag="DH_Domain::Domain"></a>typedef <a class="el" href="class_d_h___domain.html">DH_Domain</a>< GROUP_PARAMETERS,<br> COFACTOR_OPTION > </td><td class="memItemRight" valign=bottom><b>Domain</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 name="_d_h___domaina1" doxytag="DH_Domain::DH_Domain"></a> </td><td class="memItemRight" valign=bottom><b>DH_Domain</b> (const GroupParameters &params)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domaina2" doxytag="DH_Domain::DH_Domain"></a> </td><td class="memItemRight" valign=bottom><b>DH_Domain</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domaina3" doxytag="DH_Domain::DH_Domain"></a>template<class T2> </td><td class="memItemRight" valign=bottom><b>DH_Domain</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &v1, const T2 &v2)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domaina4" doxytag="DH_Domain::DH_Domain"></a>template<class T2, class T3> </td><td class="memItemRight" valign=bottom><b>DH_Domain</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &v1, const T2 &v2, const T2 &v3)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domaina5" doxytag="DH_Domain::DH_Domain"></a>template<class T2, class T3, class T4> </td><td class="memItemRight" valign=bottom><b>DH_Domain</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &v1, const T2 &v2, const T3 &v3, const T4 &v4)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domaina6" doxytag="DH_Domain::DH_Domain"></a>template<class T1, class T2> </td><td class="memItemRight" valign=bottom><b>DH_Domain</b> (const T1 &v1, const T2 &v2)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domaina7" doxytag="DH_Domain::DH_Domain"></a>template<class T1, class T2, class T3> </td><td class="memItemRight" valign=bottom><b>DH_Domain</b> (const T1 &v1, const T2 &v2, const T2 &v3)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domaina8" doxytag="DH_Domain::DH_Domain"></a>template<class T1, class T2, class T3, class T4> </td><td class="memItemRight" valign=bottom><b>DH_Domain</b> (const T1 &v1, const T2 &v2, const T3 &v3, const T4 &v4)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domaina9" doxytag="DH_Domain::GetGroupParameters"></a>const GroupParameters & </td><td class="memItemRight" valign=bottom><b>GetGroupParameters</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_h___domaina10" doxytag="DH_Domain::AccessGroupParameters"></a>GroupParameters & </td><td class="memItemRight" valign=bottom><b>AccessGroupParameters</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_d_h___domaina11">GeneratePublicKey</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const byte *privateKey, byte *publicKey) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">generate public key </em> <a href="#_d_h___domaina11"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___simple_key_agreement_domain_basea0" doxytag="DH_Domain::AccessCryptoParameters"></a><a class="el" href="class_crypto_parameters.html">CryptoParameters</a> & </td><td class="memItemRight" valign=bottom><b>AccessCryptoParameters</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___simple_key_agreement_domain_basea1" doxytag="DH_Domain::AgreedValueLength"></a>unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_d_l___simple_key_agreement_domain_basea1">AgreedValueLength</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">return length of agreed value produced <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___simple_key_agreement_domain_basea2" doxytag="DH_Domain::PrivateKeyLength"></a>unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_d_l___simple_key_agreement_domain_basea2">PrivateKeyLength</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">return length of private keys in this domain <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___simple_key_agreement_domain_basea3" doxytag="DH_Domain::PublicKeyLength"></a>unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_d_l___simple_key_agreement_domain_basea3">PublicKeyLength</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">return length of public keys in this domain <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_d_l___simple_key_agreement_domain_basea4">GeneratePrivateKey</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, byte *privateKey) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">generate private key </em> <a href="#_d_l___simple_key_agreement_domain_basea4"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_d_l___simple_key_agreement_domain_basea6">Agree</a> (byte *agreedValue, const byte *privateKey, const byte *otherPublicKey, bool validateOtherPublicKey=true) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">derive agreed value from your private key and couterparty's public key, return false in case of failure </em> <a href="#_d_l___simple_key_agreement_domain_basea6"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___simple_key_agreement_domain_basea7" doxytag="DH_Domain::GetGenerator"></a>const Element & </td><td class="memItemRight" valign=bottom><b>GetGenerator</b> () 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_d_h___domain.html#_x_t_r___d_ha20">GenerateKeyPair</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, byte *privateKey, byte *publicKey) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">generate private/public key pair </em> <a href="#_x_t_r___d_ha20"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha21" doxytag="DH_Domain::AccessMaterial"></a><a class="el" href="class_crypto_material.html">CryptoMaterial</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_x_t_r___d_ha21">AccessMaterial</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns a reference to the crypto material used by this object <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha22" doxytag="DH_Domain::GetMaterial"></a>const <a class="el" href="class_crypto_material.html">CryptoMaterial</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_x_t_r___d_ha22">GetMaterial</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns a const reference to the crypto material used by this object <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha23" doxytag="DH_Domain::GetCryptoParameters"></a>virtual const <a class="el" href="class_crypto_parameters.html">CryptoParameters</a> & </td><td class="memItemRight" valign=bottom><b>GetCryptoParameters</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha24" doxytag="DH_Domain::BERDecode"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_x_t_r___d_ha24">BERDecode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">for backwards compatibility, calls <a class="el" href="class_asymmetric_algorithm.html#_asymmetric_algorithma0">AccessMaterial()</a>.Load(bt) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea23" doxytag="DH_Domain::DEREncode"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_verifier_with_recovery_templatea23">DEREncode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">for backwards compatibility, calls <a class="el" href="class_asymmetric_algorithm.html#_asymmetric_algorithma1">GetMaterial()</a>.Save(bt) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressora17" doxytag="DH_Domain::AlgorithmName"></a>virtual std::string </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_zlib_decompressora17">AlgorithmName</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns name of this algorithm, not universally implemented yet <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressora18" doxytag="DH_Domain::Clone"></a>virtual <a class="el" href="class_clonable.html">Clonable</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="class_d_h___domain.html#_zlib_decompressora18">Clone</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">this is not implemented by most classes yet <br><br></td></tr><tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_d_l___simple_key_agreement_domain_baseb2" doxytag="DH_Domain::GetAbstractGroupParameters"></a>const <a class="el" href="class_d_l___group_parameters.html">DL_GroupParameters</a><<br> Element > & </td><td class="memItemRight" valign=bottom><b>GetAbstractGroupParameters</b> () const</td></tr></table><hr><h2>Member Function Documentation</h2><a name="_d_h___domaina11" doxytag="DH_Domain::GeneratePublicKey"></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" colspan="4">template<class GROUP_PARAMETERS, class COFACTOR_OPTION = typename GROUP_PARAMETERS::DefaultCofactorOption> </td> </tr> <tr> <td class="md" nowrap valign="top"> void <a class="el" href="class_d_h___domain.html">DH_Domain</a>< GROUP_PARAMETERS, COFACTOR_OPTION >::GeneratePublicKey </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> & </td> <td class="mdname" nowrap> <em>rng</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const byte * </td> <td class="mdname" nowrap> <em>privateKey</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>byte * </td> <td class="mdname" nowrap> <em>publicKey</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"> const<code> [inline, virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>generate public key <p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -