⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class_authenticated_key_agreement_domain.html

📁 著名的密码库Crypto++的文档 C++语言的杰作。程序员必备。
💻 HTML
📖 第 1 页 / 共 3 页
字号:
          <td class="paramname"> <em>privateKey</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">byte *&nbsp;</td>          <td class="paramname"> <em>publicKey</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td>        </tr>      </table></div><div class="memdoc"><p>generate ephemeral public key <p><dl class="pre" compact><dt><b>Precondition:</b></dt><dd>size of publicKey == PublicEphemeralKeyLength() </dd></dl><p>Implemented in <a class="el" href="class_d_h2.html#b8f69e52f50794ca51774f671cfa45da">DH2</a>, and <a class="el" href="class_m_q_v___domain.html#2cc3ee07353b65ac5f353ef5cb7aad14">MQV_Domain&lt; GROUP_PARAMETERS, COFACTOR_OPTION &gt;</a>.<p>Referenced by <a class="el" href="cryptlib_8cpp-source.html#l00713">GenerateEphemeralKeyPair()</a>.</div></div><p><a class="anchor" name="18f1fc5fa590be704d53759e44fba093"></a><!-- doxytag: member="AuthenticatedKeyAgreementDomain::GenerateEphemeralKeyPair" ref="18f1fc5fa590be704d53759e44fba093" args="(RandomNumberGenerator &amp;rng, byte *privateKey, byte *publicKey) const " --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void AuthenticatedKeyAgreementDomain::GenerateEphemeralKeyPair           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;&nbsp;</td>          <td class="paramname"> <em>rng</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">byte *&nbsp;</td>          <td class="paramname"> <em>privateKey</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">byte *&nbsp;</td>          <td class="paramname"> <em>publicKey</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>        </tr>      </table></div><div class="memdoc"><p>generate private/public key pair <p><dl class="note" compact><dt><b>Note:</b></dt><dd>equivalent to calling <a class="el" href="class_authenticated_key_agreement_domain.html#b6280d3bf8ad1dd2aa976910b81502f8" title="generate ephemeral private key">GenerateEphemeralPrivateKey()</a> and then <a class="el" href="class_authenticated_key_agreement_domain.html#9d1bc83a77f44af6616da42c33b3bc49" title="generate ephemeral public key">GenerateEphemeralPublicKey()</a> </dd></dl><p>Reimplemented in <a class="el" href="class_d_h2.html#4b5a84bf47e9a18348521b5a9c752cce">DH2</a>.<p>Definition at line <a class="el" href="cryptlib_8cpp-source.html#l00713">713</a> of file <a class="el" href="cryptlib_8cpp-source.html">cryptlib.cpp</a>.<p>References <a class="el" href="class_authenticated_key_agreement_domain.html#b6280d3bf8ad1dd2aa976910b81502f8">GenerateEphemeralPrivateKey()</a>, and <a class="el" href="class_authenticated_key_agreement_domain.html#9d1bc83a77f44af6616da42c33b3bc49">GenerateEphemeralPublicKey()</a>.</div></div><p><a class="anchor" name="c9808fb56eacee0c08a9bbd22fe2c98e"></a><!-- doxytag: member="AuthenticatedKeyAgreementDomain::Agree" ref="c9808fb56eacee0c08a9bbd22fe2c98e" args="(byte *agreedValue, const byte *staticPrivateKey, const byte *ephemeralPrivateKey, const byte *staticOtherPublicKey, const byte *ephemeralOtherPublicKey, bool validateStaticOtherPublicKey=true) const =0" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">virtual bool AuthenticatedKeyAgreementDomain::Agree           </td>          <td>(</td>          <td class="paramtype">byte *&nbsp;</td>          <td class="paramname"> <em>agreedValue</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">const byte *&nbsp;</td>          <td class="paramname"> <em>staticPrivateKey</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">const byte *&nbsp;</td>          <td class="paramname"> <em>ephemeralPrivateKey</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">const byte *&nbsp;</td>          <td class="paramname"> <em>staticOtherPublicKey</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">const byte *&nbsp;</td>          <td class="paramname"> <em>ephemeralOtherPublicKey</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">bool&nbsp;</td>          <td class="paramname"> <em>validateStaticOtherPublicKey</em> = <code>true</code></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td>        </tr>      </table></div><div class="memdoc"><p>derive agreed value from your private keys and couterparty's public keys, return false in case of failure <p><dl class="note" 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 class="pre" compact><dt><b>Precondition:</b></dt><dd>size of agreedValue == <a class="el" href="class_authenticated_key_agreement_domain.html#6d8b96f8a17e555bc9c6565d169a2418" title="return length of agreed value produced">AgreedValueLength()</a> <p>length of staticPrivateKey == <a class="el" href="class_authenticated_key_agreement_domain.html#0a16421c7c21463f4b8a986b80f6c852" title="return length of static private keys in this domain">StaticPrivateKeyLength()</a> <p>length of ephemeralPrivateKey == <a class="el" href="class_authenticated_key_agreement_domain.html#33c0c85b5ea7b2bd97d91676997b0e34" title="return length of ephemeral private keys in this domain">EphemeralPrivateKeyLength()</a> <p>length of staticOtherPublicKey == <a class="el" href="class_authenticated_key_agreement_domain.html#744821a5d32333557adf304c09aeff6b" title="return length of static public keys in this domain">StaticPublicKeyLength()</a> <p>length of ephemeralOtherPublicKey == <a class="el" href="class_authenticated_key_agreement_domain.html#50a15071c932e3bb134c6cb8f4c6d4f1" title="return length of ephemeral public keys in this domain">EphemeralPublicKeyLength()</a> </dd></dl><p>Implemented in <a class="el" href="class_d_h2.html#561ed549ab2f287bd5f72be06e217290">DH2</a>, and <a class="el" href="class_m_q_v___domain.html#9a7642a35cdbaca0023629c0477aefc1">MQV_Domain&lt; GROUP_PARAMETERS, COFACTOR_OPTION &gt;</a>.</div></div><p><hr>The documentation for this class was generated from the following files:<ul><li><a class="el" href="cryptlib_8h-source.html">cryptlib.h</a><li><a class="el" href="cryptlib_8cpp-source.html">cryptlib.cpp</a></ul><hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 1 11:11:29 2007 for Crypto++ by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address></body></html>

⌨️ 快捷键说明

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