📄 class_d_h2.html
字号:
<p>generate private/public key pair <p><dl compact><dt><b>Note:</b></dt><dd>equivalent to calling <a class="el" href="class_d_h2.html#_d_h2a5">GenerateStaticPrivateKey()</a> and then <a class="el" href="class_d_h2.html#_d_h2a6">GenerateStaticPublicKey()</a> </dd></dl><p>Reimplemented from <a class="el" href="class_authenticated_key_agreement_domain.html#_m_q_v___domaina19">AuthenticatedKeyAgreementDomain</a>.<p>Definition at line <a class="el" href="dh2_8h-source.html#l00031">31</a> of file <a class="el" href="dh2_8h-source.html">dh2.h</a>.<p>References <a class="el" href="cryptlib_8cpp-source.html#l00645">SimpleKeyAgreementDomain::GenerateKeyPair()</a>. </td> </tr></table><a name="_d_h2a10" doxytag="DH2::GenerateEphemeralPrivateKey"></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 DH2::GenerateEphemeralPrivateKey </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>byte * </td> <td class="mdname" nowrap> <em>privateKey</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 ephemeral private key <p><dl compact><dt><b>Precondition:</b></dt><dd>size of privateKey == PrivateEphemeralKeyLength() </dd></dl><p>Implements <a class="el" href="class_authenticated_key_agreement_domain.html#_authenticated_key_agreement_domaina8">AuthenticatedKeyAgreementDomain</a>.<p>Definition at line <a class="el" href="dh2_8h-source.html#l00038">38</a> of file <a class="el" href="dh2_8h-source.html">dh2.h</a>.<p>References <a class="el" href="class_simple_key_agreement_domain.html#_simple_key_agreement_domaina3">SimpleKeyAgreementDomain::GeneratePrivateKey()</a>. </td> </tr></table><a name="_d_h2a11" doxytag="DH2::GenerateEphemeralPublicKey"></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 DH2::GenerateEphemeralPublicKey </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 ephemeral public key <p><dl compact><dt><b>Precondition:</b></dt><dd>size of publicKey == PublicEphemeralKeyLength() </dd></dl><p>Implements <a class="el" href="class_authenticated_key_agreement_domain.html#_authenticated_key_agreement_domaina9">AuthenticatedKeyAgreementDomain</a>.<p>Definition at line <a class="el" href="dh2_8h-source.html#l00040">40</a> of file <a class="el" href="dh2_8h-source.html">dh2.h</a>.<p>References <a class="el" href="class_simple_key_agreement_domain.html#_simple_key_agreement_domaina4">SimpleKeyAgreementDomain::GeneratePublicKey()</a>. </td> </tr></table><a name="_d_h2a12" doxytag="DH2::GenerateEphemeralKeyPair"></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 DH2::GenerateEphemeralKeyPair </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>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 private/public key pair <p><dl compact><dt><b>Note:</b></dt><dd>equivalent to calling <a class="el" href="class_d_h2.html#_d_h2a10">GenerateEphemeralPrivateKey()</a> and then <a class="el" href="class_d_h2.html#_d_h2a11">GenerateEphemeralPublicKey()</a> </dd></dl><p>Reimplemented from <a class="el" href="class_authenticated_key_agreement_domain.html#_m_q_v___domaina20">AuthenticatedKeyAgreementDomain</a>.<p>Definition at line <a class="el" href="dh2_8h-source.html#l00042">42</a> of file <a class="el" href="dh2_8h-source.html">dh2.h</a>.<p>References <a class="el" href="cryptlib_8cpp-source.html#l00645">SimpleKeyAgreementDomain::GenerateKeyPair()</a>. </td> </tr></table><a name="_d_h2a13" doxytag="DH2::Agree"></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 DH2::Agree </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">byte * </td> <td class="mdname" nowrap> <em>agreedValue</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const byte * </td> <td class="mdname" nowrap> <em>staticPrivateKey</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const byte * </td> <td class="mdname" nowrap> <em>ephemeralPrivateKey</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const byte * </td> <td class="mdname" nowrap> <em>staticOtherPublicKey</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const byte * </td> <td class="mdname" nowrap> <em>ephemeralOtherPublicKey</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>bool </td> <td class="mdname" nowrap> <em>validateStaticOtherPublicKey</em> = true</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"> const<code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>derive agreed value from your private keys and couterparty's public keys, return false in case of failure <p><dl compact><dt><b>Note:</b></dt><dd>The ephemeral public key will always be validated. If you have previously validated the static public key, use validateStaticOtherPublicKey=false to save time. </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>size of agreedValue == <a class="el" href="class_d_h2.html#_d_h2a2">AgreedValueLength()</a> <p>length of staticPrivateKey == <a class="el" href="class_d_h2.html#_d_h2a3">StaticPrivateKeyLength()</a> <p>length of ephemeralPrivateKey == <a class="el" href="class_d_h2.html#_d_h2a8">EphemeralPrivateKeyLength()</a> <p>length of staticOtherPublicKey == <a class="el" href="class_d_h2.html#_d_h2a4">StaticPublicKeyLength()</a> <p>length of ephemeralOtherPublicKey == <a class="el" href="class_d_h2.html#_d_h2a9">EphemeralPublicKeyLength()</a></dd></dl><p>Implements <a class="el" href="class_authenticated_key_agreement_domain.html#_authenticated_key_agreement_domaina11">AuthenticatedKeyAgreementDomain</a>.<p>Definition at line <a class="el" href="dh2_8cpp-source.html#l00008">8</a> of file <a class="el" href="dh2_8cpp-source.html">dh2.cpp</a>.<p>References <a class="el" href="class_simple_key_agreement_domain.html#_simple_key_agreement_domaina6">SimpleKeyAgreementDomain::Agree()</a>, and <a class="el" href="class_simple_key_agreement_domain.html#_simple_key_agreement_domaina0">SimpleKeyAgreementDomain::AgreedValueLength()</a>. </td> </tr></table><hr>The documentation for this class was generated from the following files:<ul><li><a class="el" href="dh2_8h-source.html">dh2.h</a><li><a class="el" href="dh2_8cpp-source.html">dh2.cpp</a></ul><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:45 2003 for Crypto++ by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -