rabin_8h-source.html

来自「Crypto++是一个非常强大的密码学库,主要是功能全」· HTML 代码 · 共 137 行 · 第 1/2 页

HTML
137
字号
00063         <span class="keywordtype">bool</span> <a class="code" href="class_invertible_rabin_function.html#_invertible_rabin_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>;00064         <span class="keywordtype">void</span> <a class="code" href="class_invertible_rabin_function.html#_invertible_rabin_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>00065 <span class="comment">        /*! parameters: (ModulusSize) */</span>00066         <span class="keywordtype">void</span> <a class="code" href="class_invertible_rabin_function.html#_invertible_rabin_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);00067 00068         <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;}00069         <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;}00070         <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a>&amp; GetMultiplicativeInverseOfPrime2ModPrime1()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_u;}00071 00072         <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;}00073         <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;}00074         <span class="keywordtype">void</span> SetMultiplicativeInverseOfPrime2ModPrime1(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;u) {m_u = u;}00075 00076 <span class="keyword">protected</span>:00077         <a class="code" href="class_integer.html">Integer</a> m_p, m_q, m_u;00078 };00079 <span class="comment"></span>00080 <span class="comment">//! .</span><a name="l00081"></a><a class="code" href="struct_rabin.html">00081</a> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="struct_rabin.html">Rabin</a>00082 {00083         <span class="keyword">static</span> std::string StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"Rabin-Crypto++Variant"</span>;}00084         <span class="keyword">typedef</span> <a class="code" href="class_rabin_function.html">RabinFunction</a> <a class="code" href="class_rabin_function.html">PublicKey</a>;00085         <span class="keyword">typedef</span> <a class="code" href="class_invertible_rabin_function.html">InvertibleRabinFunction</a> <a class="code" href="class_invertible_rabin_function.html">PrivateKey</a>;00086 };00087 <span class="comment"></span>00088 <span class="comment">//! .</span><a name="l00089"></a><a class="code" href="struct_rabin_e_s.html">00089</a> <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> STANDARD&gt;00090 <span class="keyword">struct </span><a class="code" href="struct_rabin_e_s.html">RabinES</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___e_s.html">TF_ES</a>&lt;STANDARD, Rabin&gt;00091 {00092 };00093 <span class="comment"></span>00094 <span class="comment">//! .</span><a name="l00095"></a><a class="code" href="struct_rabin_s_s_r.html">00095</a> <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> EM&gt;00096 <span class="keyword">struct </span><a class="code" href="struct_rabin_s_s_r.html">RabinSSR</a>00097 {00098         <span class="keyword">typedef</span> <a class="code" href="class_p_k___final_template.html">PK_FinalTemplate&lt;SignerWithRecoveryTemplate&lt;InvertibleRabinFunction, EM&gt;</a> &gt; <a class="code" href="class_p_k___final_template.html">Signer</a>;00099         <span class="keyword">typedef</span> <a class="code" href="class_p_k___final_template.html">PK_FinalTemplate&lt;VerifierWithRecoveryTemplate&lt;RabinFunction, EM&gt;</a> &gt; <a class="code" href="class_p_k___final_template.html">Verifier</a>;00100 };00101 <span class="comment"></span>00102 <span class="comment">//! .</span><a name="l00103"></a><a class="code" href="struct_rabin_p_s_s_r.html">00103</a> <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> H&gt;00104 <span class="keyword">struct </span><a class="code" href="struct_rabin_p_s_s_r.html">RabinPSSR</a> : <span class="keyword">public</span> <a class="code" href="struct_rabin_s_s_r.html">RabinSSR</a>&lt;PSSR&lt;H&gt; &gt;00105 {00106 };00107 00108 <span class="keyword">class </span><a class="code" href="class_s_h_a.html">SHA</a>;00109 00110 <span class="comment">// More typedefs for backwards compatibility</span>00111 00112 <span class="keyword">typedef</span> <a class="code" href="struct_rabin_e_s.html">RabinES&lt;OAEP&lt;SHA&gt;</a> &gt;::Decryptor <a class="code" href="struct_rabin_e_s.html">RabinDecryptor</a>;00113 <span class="keyword">typedef</span> <a class="code" href="struct_rabin_e_s.html">RabinES&lt;OAEP&lt;SHA&gt;</a> &gt;::Encryptor <a class="code" href="struct_rabin_e_s.html">RabinEncryptor</a>;00114 00115 <span class="preprocessor">#ifdef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY</span>00116 <span class="preprocessor"></span><span class="comment">// simulate template typedef</span>00117 <span class="preprocessor">#define RabinSignerWith(H) RabinPSSR&lt;H&gt;::Signer</span>00118 <span class="preprocessor"></span><span class="preprocessor">#define RabinVerifierWith(H) RabinPSSR&lt;H&gt;::Verifier</span>00119 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00120 <span class="preprocessor"></span>00121 NAMESPACE_END00122 00123 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:23 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 + =
减小字号Ctrl + -
显示快捷键?