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

📄 esign_8h-source.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00065         <a class="code" href="class_integer.html">Integer</a> CalculateRandomizedInverse(<a class="code" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;x) <span class="keyword">const</span>;00066 00067         <span class="comment">// GeneratibleCryptoMaterial</span>00068         <span class="keywordtype">bool</span> <a class="code" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona5">Validate</a>(<a class="code" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> level) <span class="keyword">const</span>;00069         <span class="keywordtype">bool</span> <a class="code" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona6">GetVoidValue</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> std::type_info &amp;valueType, <span class="keywordtype">void</span> *pValue) <span class="keyword">const</span>;00070         <span class="keywordtype">void</span> <a class="code" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona7">AssignFrom</a>(<span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &amp;source);<span class="comment"></span>00071 <span class="comment">        /*! parameters: (ModulusSize) */</span>00072         <span class="keywordtype">void</span> <a class="code" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona8">GenerateRandom</a>(<a class="code" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, <span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &amp;alg);00073 00074         <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a>&amp; GetPrime1()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_p;}00075         <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a>&amp; GetPrime2()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_q;}00076 00077         <span class="keywordtype">void</span> SetPrime1(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;p) {m_p = p;}00078         <span class="keywordtype">void</span> SetPrime2(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;q) {m_q = q;}00079 00080 <span class="keyword">protected</span>:00081         <a class="code" href="class_integer.html">Integer</a> m_p, m_q;00082 };00083 <span class="comment"></span>00084 <span class="comment">//! .</span>00085 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;<a name="l00086"></a><a class="code" href="class_e_m_s_a5_pad.html">00086</a> <span class="keyword">class </span><a class="code" href="class_e_m_s_a5_pad.html">EMSA5Pad</a> : <span class="keyword">public</span> <a class="code" href="class_p_k___nonreversible_padding_algorithm.html">PK_NonreversiblePaddingAlgorithm</a>00087 {00088 <span class="keyword">public</span>:00089         <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"EMSA5"</span>;}00090         00091         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> MaxUnpaddedLength(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> paddedLength)<span class="keyword"> const </span>{<span class="keywordflow">return</span> UINT_MAX;}00092 00093         <span class="keywordtype">void</span> Pad(<a class="code" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, <span class="keyword">const</span> byte *raw, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> inputLength, byte *padded, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> paddedLength)<span class="keyword"> const</span>00094 <span class="keyword">        </span>{00095                 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> paddedByteLength = BitsToBytes(paddedLength);00096                 memset(padded, 0, paddedByteLength);00097                 T::GenerateAndMask(padded, paddedByteLength, raw, inputLength);00098                 <span class="keywordflow">if</span> (paddedLength % 8 != 0)00099                         padded[0] = (byte)Crop(padded[0], paddedLength % 8);00100         }00101 };00102 <span class="comment"></span>00103 <span class="comment">//! EMSA5, for use with ESIGN</span><a name="l00104"></a><a class="code" href="struct_p1363___e_m_s_a5.html">00104</a> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="struct_p1363___e_m_s_a5.html">P1363_EMSA5</a> : <span class="keyword">public</span> <a class="code" href="struct_signature_standard.html">SignatureStandard</a>00105 {00106         <span class="keyword">template</span> &lt;<span class="keyword">class</span> H&gt; <span class="keyword">struct </span>SignaturePaddingAlgorithm {<span class="keyword">typedef</span> <a class="code" href="class_e_m_s_a5_pad.html">EMSA5Pad&lt;P1363_MGF1&lt;H&gt;</a> &gt; type;};00107         <span class="keyword">template</span> &lt;<span class="keyword">class</span> H&gt; <span class="keyword">struct </span>DecoratedHashingAlgorithm {<span class="keyword">typedef</span> H type;};00108 };00109 00110 <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span>CryptoStandardTraits&lt;P1363_EMSA5&gt; : <span class="keyword">public</span> P1363_EMSA5 {};00111 00112 <span class="keyword">struct </span>ESIGN_Keys00113 {00114         <span class="keyword">static</span> std::string StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"ESIGN"</span>;}00115         <span class="keyword">typedef</span> <a class="code" href="class_e_s_i_g_n_function.html">ESIGNFunction</a> <a class="code" href="class_public_key.html">PublicKey</a>;00116         <span class="keyword">typedef</span> <a class="code" href="class_invertible_e_s_i_g_n_function.html">InvertibleESIGNFunction</a> <a class="code" href="class_private_key.html">PrivateKey</a>;00117 };00118 <span class="comment"></span>00119 <span class="comment">//! ESIGN, as defined in IEEE P1363a</span><a name="l00120"></a><a class="code" href="struct_e_s_i_g_n.html">00120</a> <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> H, <span class="keyword">class</span> STANDARD = P1363_EMSA5&gt;00121 <span class="keyword">struct </span><a class="code" href="struct_e_s_i_g_n.html">ESIGN</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___s_s_a.html">TF_SSA</a>&lt;STANDARD, H, ESIGN_Keys&gt;00122 {00123 };00124 00125 NAMESPACE_END00126 00127 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:14 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 + -