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

📄 class_verifier_with_recovery_template.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!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++:  TemplateVerifierWithRecoveryTemplate&lt; TF, H &gt; 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&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><h1>VerifierWithRecoveryTemplate&lt; TF, H &gt; Class Template Reference</h1><code>#include &lt;<a class="el" href="pubkey_8h-source.html">pubkey.h</a>&gt;</code><p><p>Inheritance diagram for VerifierWithRecoveryTemplate&lt; TF, H &gt;:<p><center><img src="class_verifier_with_recovery_template.png" usemap="#VerifierWithRecoveryTemplate< TF, H >_map" border="0" alt=""></center><map name="VerifierWithRecoveryTemplate< TF, H >_map"><area href="class_signature_system_with_recovery_base_template.html" alt="SignatureSystemWithRecoveryBaseTemplate< H >" shape="rect" coords="0,280,296,304"><area href="class_p_k___verifier_with_recovery.html" alt="PK_VerifierWithRecovery" shape="rect" coords="535,280,831,304"><area href="class_p_k___signature_scheme_with_recovery.html" alt="PK_SignatureSchemeWithRecovery" shape="rect" coords="0,224,296,248"><area href="class_p_k___signature_scheme_with_recovery.html" alt="PK_SignatureSchemeWithRecovery" shape="rect" coords="306,224,602,248"><area href="class_p_k___verifier.html" alt="PK_Verifier" shape="rect" coords="765,224,1061,248"><area href="class_p_k___signature_scheme.html" alt="PK_SignatureScheme" shape="rect" coords="0,168,296,192"><area href="class_p_k___signature_scheme.html" alt="PK_SignatureScheme" shape="rect" coords="306,168,602,192"><area href="class_p_k___signature_scheme.html" alt="PK_SignatureScheme" shape="rect" coords="612,168,908,192"><area href="class_public_key_algorithm.html" alt="PublicKeyAlgorithm" shape="rect" coords="918,168,1214,192"><area href="class_asymmetric_algorithm.html" alt="AsymmetricAlgorithm" shape="rect" coords="918,112,1214,136"><area href="class_algorithm.html" alt="Algorithm" shape="rect" coords="918,56,1214,80"><area href="class_clonable.html" alt="Clonable" shape="rect" coords="918,0,1214,24"></map><a href="class_verifier_with_recovery_template-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2><h3>template&lt;class TF, class H&gt;<br> class VerifierWithRecoveryTemplate&lt; TF, H &gt;</h3><p><p>Definition at line <a class="el" href="pubkey_8h-source.html#l00557">557</a> of file <a class="el" href="pubkey_8h-source.html">pubkey.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="_verifier_with_recovery_templatew0" doxytag="VerifierWithRecoveryTemplate::KeyClass"></a>typedef TF&nbsp;</td><td class="memItemRight" valign=bottom><b>KeyClass</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="_verifier_with_recovery_templatea0" doxytag="VerifierWithRecoveryTemplate::GetKey"></a>const KeyClass &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetKey</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea1" doxytag="VerifierWithRecoveryTemplate::AccessKey"></a>KeyClass &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>AccessKey</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea2" doxytag="VerifierWithRecoveryTemplate::AccessPublicKey"></a><a class="el" href="class_public_key.html">PublicKey</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>AccessPublicKey</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea4">VerifyAndRestart</a> (<a class="el" href="class_hash_transformation.html">HashTransformation</a> &amp;messageAccumulator, const byte *sig) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">check whether sig is a valid signature for messageAccumulator, and restart messageAccumulator </em> <a href="#_verifier_with_recovery_templatea4"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea5">SignatureUpfrontForRecovery</a> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea6" doxytag="VerifierWithRecoveryTemplate::NewRecoveryAccumulator"></a><a class="el" href="class_hash_transformation.html">HashTransformation</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea6">NewRecoveryAccumulator</a> (const byte *signature) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a new <a class="el" href="class_hash_transformation.html">HashTransformation</a> to accumulate leftover message <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="struct_decoding_result.html">DecodingResult</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea7">Recover</a> (byte *recoveredMessage, <a class="el" href="class_hash_transformation.html">HashTransformation</a> *recoveryAccumulator, const byte *signature) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">recover a message from its signature </em> <a href="#_verifier_with_recovery_templatea7"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea8" doxytag="VerifierWithRecoveryTemplate::GetTrapdoorFunctionBounds"></a>const <a class="el" href="class_trapdoor_function_bounds.html">TrapdoorFunctionBounds</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetTrapdoorFunctionBounds</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea9" doxytag="VerifierWithRecoveryTemplate::SignatureLength"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea9">SignatureLength</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">signature length support by this object (as either input or output) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea10" doxytag="VerifierWithRecoveryTemplate::NewMessageAccumulator"></a><a class="el" href="class_hash_transformation.html">HashTransformation</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea10">NewMessageAccumulator</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">deprecated, please use <a class="el" href="class_p_k___signer.html#_signer_with_recovery_templatea12">PK_Signer::NewSignatureAccumulator</a> or <a class="el" href="class_p_k___verifier.html#_verifier_with_recovery_templatea15">PK_Verifier::NewVerificationAccumulator</a> instead <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea11" doxytag="VerifierWithRecoveryTemplate::MaximumRecoverableLength"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea11">MaximumRecoverableLength</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">length of longest message that can be fully recovered <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea12">AllowLeftoverMessage</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">whether or not messages longer than <a class="el" href="class_signature_system_with_recovery_base_template.html#_verifier_with_recovery_templatea11">MaximumRecoverableLength()</a> can be signed </em> <a href="#_verifier_with_recovery_templatea12"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="struct_decoding_result.html">DecodingResult</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea13">RecoverMessage</a> (byte *recoveredMessage, const byte *message, unsigned int messageLen, const byte *signature) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">recover a message from its signature </em> <a href="#_verifier_with_recovery_templatea13"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea14">SignatureUpfrontForVerification</a> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="class_hash_transformation.html">HashTransformation</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea15">NewVerificationAccumulator</a> (const byte *signature=NULL) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a new <a class="el" href="class_hash_transformation.html">HashTransformation</a> to accumulate the message to be verified </em> <a href="#_verifier_with_recovery_templatea15"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea16">Verify</a> (<a class="el" href="class_hash_transformation.html">HashTransformation</a> *messageAccumulator, const byte *signature=NULL) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">check whether sig is a valid signature for messageAccumulator, and delete messageAccumulator (even in case of exception thrown) </em> <a href="#_verifier_with_recovery_templatea16"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea17" doxytag="VerifierWithRecoveryTemplate::InitializeVerificationAccumulator"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea17">InitializeVerificationAccumulator</a> (<a class="el" href="class_hash_transformation.html">HashTransformation</a> &amp;messageAccumulator, const byte *signature) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">only useful if <a class="el" href="class_p_k___verifier.html#_verifier_with_recovery_templatea14">SignatureUpfrontForVerification()</a> == true <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea18">VerifyMessage</a> (const byte *message, unsigned int messageLen, const byte *signature) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">check whether sig is a valid signature for message </em> <a href="#_verifier_with_recovery_templatea18"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea19" doxytag="VerifierWithRecoveryTemplate::AccessMaterial"></a><a class="el" href="class_crypto_material.html">CryptoMaterial</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea19">AccessMaterial</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</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="_verifier_with_recovery_templatea20" doxytag="VerifierWithRecoveryTemplate::GetMaterial"></a>const <a class="el" href="class_crypto_material.html">CryptoMaterial</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea20">GetMaterial</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</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="_verifier_with_recovery_templatea21" doxytag="VerifierWithRecoveryTemplate::GetPublicKey"></a>virtual const <a class="el" href="class_public_key.html">PublicKey</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetPublicKey</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha24" doxytag="VerifierWithRecoveryTemplate::BERDecode"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_x_t_r___d_ha24">BERDecode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt)</td></tr><tr><td class="mdescLeft">&nbsp;</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="VerifierWithRecoveryTemplate::DEREncode"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_verifier_with_recovery_templatea23">DEREncode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt) const</td></tr><tr><td class="mdescLeft">&nbsp;</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="VerifierWithRecoveryTemplate::AlgorithmName"></a>virtual std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_zlib_decompressora17">AlgorithmName</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</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="VerifierWithRecoveryTemplate::Clone"></a>virtual <a class="el" href="class_clonable.html">Clonable</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_verifier_with_recovery_template.html#_zlib_decompressora18">Clone</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</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="_verifier_with_recovery_templateb0" doxytag="VerifierWithRecoveryTemplate::PaddedBlockByteLength"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><b>PaddedBlockByteLength</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templateb1" doxytag="VerifierWithRecoveryTemplate::PaddedBlockBitLength"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><b>PaddedBlockBitLength</b> () const</td></tr></table><hr><h2>Member Function Documentation</h2><a name="_verifier_with_recovery_templatea4" doxytag="VerifierWithRecoveryTemplate::VerifyAndRestart"></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&lt;class TF, class H&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> bool <a class="el" href="class_verifier_with_recovery_template.html">VerifierWithRecoveryTemplate</a>&lt; TF, H &gt;::VerifyAndRestart </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="class_hash_transformation.html">HashTransformation</a> &amp;&nbsp;</td>          <td class="mdname" nowrap> <em>messageAccumulator</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>const byte *&nbsp;</td>          <td class="mdname" nowrap> <em>sig</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</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>      &nbsp;    </td>    <td><p>check whether sig is a valid signature for messageAccumulator, and restart messageAccumulator <p><dl compact><dt><b>Note:</b></dt><dd>depending on <a class="el" href="class_p_k___verifier.html#_verifier_with_recovery_templatea14">SignatureUpfrontForVerification()</a>, signature is either the current or the next signature </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign=top><em>signature</em>&nbsp;</td><td>may be NULL to indicate that the next signature is not available yet</td></tr>  </table></dl><p>Implements <a class="el" href="class_p_k___verifier.html#_p_k___verifier_with_recoverya11">PK_Verifier</a>.<p>Definition at line <a class="el" href="pubkey_8h-source.html#l00587">587</a> of file <a class="el" href="pubkey_8h-source.html">pubkey.h</a>.<p>References <a class="el" href="pubkey_8h-source.html#l00526">SignatureSystemWithRecoveryBaseTemplate&lt; H &gt;::SignatureLength()</a>, <a class="el" href="secblock_8h-source.html#l00264">SecBlock&lt; byte &gt;::size()</a>, and <a class="el" href="cryptlib_8h-source.html#l00549">HashTransformation::Verify()</a>.    </td>  </tr>

⌨️ 快捷键说明

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