📄 rsa_8h-source.html
字号:
00085 <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;}00086 00087 <span class="keywordtype">void</span> SetPrime1(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &p) {m_p = p;}00088 <span class="keywordtype">void</span> SetPrime2(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &q) {m_q = q;}00089 <span class="keywordtype">void</span> SetPrivateExponent(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &d) {m_d = d;}00090 <span class="keywordtype">void</span> SetModPrime1PrivateExponent(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &dp) {m_dp = dp;}00091 <span class="keywordtype">void</span> SetModPrime2PrivateExponent(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &dq) {m_dq = dq;}00092 <span class="keywordtype">void</span> SetMultiplicativeInverseOfPrime2ModPrime1(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &u) {m_u = u;}00093 00094 <span class="keyword">protected</span>:00095 <span class="keyword">virtual</span> <span class="keywordtype">void</span> DEREncodeOptionalAttributes(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)<span class="keyword"> const </span>{}00096 <span class="keyword">virtual</span> <span class="keywordtype">void</span> BERDecodeOptionalAttributes(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) {}00097 00098 <a class="code" href="class_integer.html">Integer</a> m_d, m_p, m_q, m_dp, m_dq, m_u;00099 };00100 00101 <span class="comment">/*</span><span class="comment"></span>00102 <span class="comment">//! .</span>00103 <span class="comment"></span>class RSAFunctionInverse_NonCRT : public TrapdoorFunctionBounds, public TrapdoorFunctionInverse, public PrivateKey00104 {00105 public:00106 Integer CalculateInverse(const Integer &x) const00107 {return a_exp_b_mod_c(x, m_d, m_n);}00108 Integer PreimageBound() const {return m_n;}00109 Integer ImageBound() const {return m_n;}00110 00111 bool Validate(RandomNumberGenerator &rng, unsigned int level) const;00112 00113 const Integer& GetModulus() const {return m_n;}00114 const Integer& GetDecryptionExponent() const {return m_d;}00115 00116 void SetModulus(const Integer &n) {m_n = n;}00117 void SetDecryptionExponent(const Integer &d) {m_d = d;}00118 00119 void SetPrivateValues(const Integer &n, const Integer &d)00120 {m_n = n; m_d = d;}00121 00122 private:00123 Integer m_n, m_d;00124 };00125 */00126 <span class="comment"></span>00127 <span class="comment">//! .</span><a name="l00128"></a><a class="code" href="struct_r_s_a.html">00128</a> <span class="comment"></span><span class="keyword">struct </span>CRYPTOPP_DLL RSA00129 {00130 <span class="keyword">static</span> std::string StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"RSA"</span>;}00131 <span class="keyword">typedef</span> RSAFunction <a class="code" href="class_r_s_a_function.html">PublicKey</a>;00132 <span class="keyword">typedef</span> InvertibleRSAFunction <a class="code" href="class_invertible_r_s_a_function.html">PrivateKey</a>;00133 };00134 <span class="comment"></span>00135 <span class="comment">//! <a href="http://www.weidai.com/scan-mirror/ca.html#RSA">RSA cryptosystem</a></span><a name="l00136"></a><a class="code" href="struct_r_s_a_e_s.html">00136</a> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">class</span> STANDARD>00137 <span class="keyword">struct </span><a class="code" href="struct_r_s_a_e_s.html">RSAES</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___e_s.html">TF_ES</a><STANDARD, RSA>00138 {00139 };00140 <span class="comment"></span>00141 <span class="comment">//! <a href="http://www.weidai.com/scan-mirror/sig.html#RSA">RSA signature scheme with appendix</a></span>00142 <span class="comment"></span><span class="comment">/*! See documentation of PKCS1v15 for a list of hash functions that can be used with it. */</span><a name="l00143"></a><a class="code" href="struct_r_s_a_s_s_a.html">00143</a> <span class="keyword">template</span> <<span class="keyword">class</span> STANDARD, <span class="keyword">class</span> H>00144 <span class="keyword">struct </span><a class="code" href="struct_r_s_a_s_s_a.html">RSASSA</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___s_s_a.html">TF_SSA</a><STANDARD, H, RSA>00145 {00146 };00147 00148 <span class="comment">// The two RSA encryption schemes defined in PKCS #1 v2.0</span>00149 <span class="keyword">typedef</span> <a class="code" href="struct_r_s_a_e_s.html">RSAES<PKCS1v15></a>::Decryptor <a class="code" href="struct_r_s_a_e_s.html">RSAES_PKCS1v15_Decryptor</a>;00150 <span class="keyword">typedef</span> <a class="code" href="struct_r_s_a_e_s.html">RSAES<PKCS1v15></a>::Encryptor <a class="code" href="struct_r_s_a_e_s.html">RSAES_PKCS1v15_Encryptor</a>;00151 00152 <span class="keyword">typedef</span> <a class="code" href="struct_r_s_a_e_s.html">RSAES<OAEP<SHA></a> >::Decryptor <a class="code" href="struct_r_s_a_e_s.html">RSAES_OAEP_SHA_Decryptor</a>;00153 <span class="keyword">typedef</span> <a class="code" href="struct_r_s_a_e_s.html">RSAES<OAEP<SHA></a> >::Encryptor <a class="code" href="struct_r_s_a_e_s.html">RSAES_OAEP_SHA_Encryptor</a>;00154 00155 <span class="comment">// The three RSA signature schemes defined in PKCS #1 v2.0</span>00156 <span class="keyword">typedef</span> <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA<PKCS1v15, SHA></a>::Signer <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA_PKCS1v15_SHA_Signer</a>;00157 <span class="keyword">typedef</span> <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA<PKCS1v15, SHA></a>::Verifier <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA_PKCS1v15_SHA_Verifier</a>;00158 00159 <span class="keyword">typedef</span> <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA<PKCS1v15, MD2></a>::Signer <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA_PKCS1v15_MD2_Signer</a>;00160 <span class="keyword">typedef</span> <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA<PKCS1v15, MD2></a>::Verifier <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA_PKCS1v15_MD2_Verifier</a>;00161 00162 <span class="keyword">typedef</span> <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA<PKCS1v15, MD5></a>::Signer <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA_PKCS1v15_MD5_Signer</a>;00163 <span class="keyword">typedef</span> <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA<PKCS1v15, MD5></a>::Verifier <a class="code" href="struct_r_s_a_s_s_a.html">RSASSA_PKCS1v15_MD5_Verifier</a>;00164 00165 NAMESPACE_END00166 00167 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:24 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 + -