📄 class_d_l___simple_key_agreement_domain_base.html
字号:
Implements <a class="el" href="class_simple_key_agreement_domain.html#ee7a4929f8a1a77acd04e12fbcd0a0b1">SimpleKeyAgreementDomain</a>.<p>Definition at line <a class="el" href="pubkey_8h-source.html#l01386">1386</a> of file <a class="el" href="pubkey_8h-source.html">pubkey.h</a>.</div></div><p><a class="anchor" name="3e1caeee8c363962a1c766e53f95ef95"></a><!-- doxytag: member="DL_SimpleKeyAgreementDomainBase::GeneratePublicKey" ref="3e1caeee8c363962a1c766e53f95ef95" args="(RandomNumberGenerator &rng, const byte *privateKey, byte *publicKey) const " --><div class="memitem"><div class="memproto"><div class="memtemplate">template<class T> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="class_d_l___simple_key_agreement_domain_base.html">DL_SimpleKeyAgreementDomainBase</a>< T >::GeneratePublicKey </td> <td>(</td> <td class="paramtype"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> & </td> <td class="paramname"> <em>rng</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const byte * </td> <td class="paramname"> <em>privateKey</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">byte * </td> <td class="paramname"> <em>publicKey</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [inline, virtual]</code></td> </tr> </table></div><div class="memdoc"><p>generate public key <p><dl class="pre" compact><dt><b>Precondition:</b></dt><dd>size of publicKey == <a class="el" href="class_d_l___simple_key_agreement_domain_base.html#f3f9f7c38f24fbe78b635b59936e6068" title="return length of public keys in this domain">PublicKeyLength()</a> </dd></dl><p>Implements <a class="el" href="class_simple_key_agreement_domain.html#56d0957a43c48f3e6431868f564f574f">SimpleKeyAgreementDomain</a>.<p>Reimplemented in <a class="el" href="class_d_h___domain.html#b1fd61cdab38427665d83a4c37e66083">DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION ></a>.<p>Definition at line <a class="el" href="pubkey_8h-source.html#l01392">1392</a> of file <a class="el" href="pubkey_8h-source.html">pubkey.h</a>.</div></div><p><a class="anchor" name="a27177cea8a872273736e593d1327157"></a><!-- doxytag: member="DL_SimpleKeyAgreementDomainBase::Agree" ref="a27177cea8a872273736e593d1327157" args="(byte *agreedValue, const byte *privateKey, const byte *otherPublicKey, bool validateOtherPublicKey=true) const " --><div class="memitem"><div class="memproto"><div class="memtemplate">template<class T> </div> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="class_d_l___simple_key_agreement_domain_base.html">DL_SimpleKeyAgreementDomainBase</a>< T >::Agree </td> <td>(</td> <td class="paramtype">byte * </td> <td class="paramname"> <em>agreedValue</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const byte * </td> <td class="paramname"> <em>privateKey</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const byte * </td> <td class="paramname"> <em>otherPublicKey</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>validateOtherPublicKey</em> = <code>true</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [inline, virtual]</code></td> </tr> </table></div><div class="memdoc"><p>derive agreed value from your private key and couterparty's public key, return false in case of failure <p><dl class="note" compact><dt><b>Note:</b></dt><dd>If you have previously validated the public key, use validateOtherPublicKey=false to save time. </dd></dl><dl class="pre" compact><dt><b>Precondition:</b></dt><dd>size of agreedValue == <a class="el" href="class_d_l___simple_key_agreement_domain_base.html#020c2e9cd50a2036b48ef1efac415f88" title="return length of agreed value produced">AgreedValueLength()</a> <p>length of privateKey == <a class="el" href="class_d_l___simple_key_agreement_domain_base.html#ef6976621e78f8a0651e24483484d8ed" title="return length of private keys in this domain">PrivateKeyLength()</a> <p>length of otherPublicKey == <a class="el" href="class_d_l___simple_key_agreement_domain_base.html#f3f9f7c38f24fbe78b635b59936e6068" title="return length of public keys in this domain">PublicKeyLength()</a> </dd></dl><p>Implements <a class="el" href="class_simple_key_agreement_domain.html#732339ca730408cca7b1191fc32eb39e">SimpleKeyAgreementDomain</a>.<p>Definition at line <a class="el" href="pubkey_8h-source.html#l01400">1400</a> of file <a class="el" href="pubkey_8h-source.html">pubkey.h</a>.</div></div><p><a class="anchor" name="75629cd8157dca667c6aff0562ca59af"></a><!-- doxytag: member="DL_SimpleKeyAgreementDomainBase::GenerateKeyPair" ref="75629cd8157dca667c6aff0562ca59af" args="(RandomNumberGenerator &rng, byte *privateKey, byte *publicKey) const " --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void SimpleKeyAgreementDomain::GenerateKeyPair </td> <td>(</td> <td class="paramtype"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> & </td> <td class="paramname"> <em>rng</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">byte * </td> <td class="paramname"> <em>privateKey</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">byte * </td> <td class="paramname"> <em>publicKey</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual, inherited]</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_simple_key_agreement_domain.html#ee7a4929f8a1a77acd04e12fbcd0a0b1" title="generate private key">GeneratePrivateKey()</a> and then <a class="el" href="class_simple_key_agreement_domain.html#56d0957a43c48f3e6431868f564f574f" title="generate public key">GeneratePublicKey()</a> </dd></dl><p>Definition at line <a class="el" href="cryptlib_8cpp-source.html#l00701">701</a> of file <a class="el" href="cryptlib_8cpp-source.html">cryptlib.cpp</a>.<p>References <a class="el" href="class_simple_key_agreement_domain.html#ee7a4929f8a1a77acd04e12fbcd0a0b1">SimpleKeyAgreementDomain::GeneratePrivateKey()</a>, and <a class="el" href="class_simple_key_agreement_domain.html#56d0957a43c48f3e6431868f564f574f">SimpleKeyAgreementDomain::GeneratePublicKey()</a>.</div></div><p><hr>The documentation for this class was generated from the following file:<ul><li><a class="el" href="pubkey_8h-source.html">pubkey.h</a></ul><hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 1 11:11:36 2007 for Crypto++ by <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 + -