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 &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> &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> &rng, <span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &alg);00067 00068 <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a>& 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>& 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>& 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> &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> &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> &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> <<span class="keyword">class</span> STANDARD>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><STANDARD, Rabin>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> <<span class="keyword">class</span> EM>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<SignerWithRecoveryTemplate<InvertibleRabinFunction, EM></a> > <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<VerifierWithRecoveryTemplate<RabinFunction, EM></a> > <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> <<span class="keyword">class</span> H>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><PSSR<H> >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<OAEP<SHA></a> >::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<OAEP<SHA></a> >::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<H>::Signer</span>00118 <span class="preprocessor"></span><span class="preprocessor">#define RabinVerifierWith(H) RabinPSSR<H>::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 + -
显示快捷键?