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

📄 class_x_t_r___d_h.html

📁 著名的密码库Crypto++的文档 C++语言的杰作。程序员必备。
💻 HTML
📖 第 1 页 / 共 4 页
字号:
          <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 key <p><dl class="pre" compact><dt><b>Precondition:</b></dt><dd>size of privateKey == <a class="el" href="class_x_t_r___d_h.html#e3f6c87695d27b57f218daa0a7a19a6b" title="return length of private keys in this domain">PrivateKeyLength()</a> </dd></dl><p>Implements <a class="el" href="class_simple_key_agreement_domain.html#ee7a4929f8a1a77acd04e12fbcd0a0b1">SimpleKeyAgreementDomain</a>.<p>Definition at line <a class="el" href="xtrcrypt_8cpp-source.html#l00077">77</a> of file <a class="el" href="xtrcrypt_8cpp-source.html">xtrcrypt.cpp</a>.<p>References <a class="el" href="integer_8cpp-source.html#l03112">Integer::Encode()</a>, <a class="el" href="xtrcrypt_8h-source.html#l00030">PrivateKeyLength()</a>, and <a class="el" href="integer_8cpp-source.html#l02862">Integer::Zero()</a>.</div></div><p><a class="anchor" name="9b2d088f034d458abccc7fea30a22412"></a><!-- doxytag: member="XTR_DH::GeneratePublicKey" ref="9b2d088f034d458abccc7fea30a22412" args="(RandomNumberGenerator &amp;rng, const byte *privateKey, byte *publicKey) const " --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void XTR_DH::GeneratePublicKey           </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">const 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 public key <p><dl class="pre" compact><dt><b>Precondition:</b></dt><dd>size of publicKey == <a class="el" href="class_x_t_r___d_h.html#d8086f9959a856e7c1279b18af566b6c" 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>Definition at line <a class="el" href="xtrcrypt_8cpp-source.html#l00083">83</a> of file <a class="el" href="xtrcrypt_8cpp-source.html">xtrcrypt.cpp</a>.<p>References <a class="el" href="xtr_8h-source.html#l00021">GFP2Element::Encode()</a>, <a class="el" href="xtrcrypt_8h-source.html#l00030">PrivateKeyLength()</a>, and <a class="el" href="xtrcrypt_8h-source.html#l00031">PublicKeyLength()</a>.</div></div><p><a class="anchor" name="6947d070cbdba7b811cc79a33a3c6632"></a><!-- doxytag: member="XTR_DH::Agree" ref="6947d070cbdba7b811cc79a33a3c6632" args="(byte *agreedValue, const byte *privateKey, const byte *otherPublicKey, bool validateOtherPublicKey=true) const " --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">bool XTR_DH::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>privateKey</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">const byte *&nbsp;</td>          <td class="paramname"> <em>otherPublicKey</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">bool&nbsp;</td>          <td class="paramname"> <em>validateOtherPublicKey</em> = <code>true</code></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>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_x_t_r___d_h.html#68d30b38dde37f451a539d0d1907408d" title="return length of agreed value produced">AgreedValueLength()</a> <p>length of privateKey == <a class="el" href="class_x_t_r___d_h.html#e3f6c87695d27b57f218daa0a7a19a6b" title="return length of private keys in this domain">PrivateKeyLength()</a> <p>length of otherPublicKey == <a class="el" href="class_x_t_r___d_h.html#d8086f9959a856e7c1279b18af566b6c" 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="xtrcrypt_8cpp-source.html#l00090">90</a> of file <a class="el" href="xtrcrypt_8cpp-source.html">xtrcrypt.cpp</a>.<p>References <a class="el" href="xtrcrypt_8h-source.html#l00029">AgreedValueLength()</a>, <a class="el" href="xtr_8h-source.html#l00038">GFP2Element::c1</a>, <a class="el" href="xtr_8h-source.html#l00038">GFP2Element::c2</a>, <a class="el" href="xtr_8h-source.html#l00056">GFP2_ONB&lt; F &gt;::ConvertIn()</a>, <a class="el" href="xtr_8h-source.html#l00021">GFP2Element::Encode()</a>, <a class="el" href="integer_8h-source.html#l00201">Integer::IsNegative()</a>, <a class="el" href="xtrcrypt_8h-source.html#l00030">PrivateKeyLength()</a>, and <a class="el" href="xtrcrypt_8h-source.html#l00031">PublicKeyLength()</a>.</div></div><p><a class="anchor" name="75629cd8157dca667c6aff0562ca59af"></a><!-- doxytag: member="XTR_DH::GenerateKeyPair" ref="75629cd8157dca667c6aff0562ca59af" args="(RandomNumberGenerator &amp;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> &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, 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>

⌨️ 快捷键说明

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