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

📄 rsa_8h-source.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00085         <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;}00086 00087         <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;}00088         <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;}00089         <span class="keywordtype">void</span> SetPrivateExponent(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;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> &amp;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> &amp;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> &amp;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> &amp;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> &amp;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 &amp;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 &amp;rng, unsigned int level) const;00112 00113         const Integer&amp; GetModulus() const {return m_n;}00114         const Integer&amp; GetDecryptionExponent() const {return m_d;}00115 00116         void SetModulus(const Integer &amp;n) {m_n = n;}00117         void SetDecryptionExponent(const Integer &amp;d) {m_d = d;}00118 00119         void SetPrivateValues(const Integer &amp;n, const Integer &amp;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">//! &lt;a href="http://www.weidai.com/scan-mirror/ca.html#RSA"&gt;RSA cryptosystem&lt;/a&gt;</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> &lt;<span class="keyword">class</span> STANDARD&gt;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>&lt;STANDARD, RSA&gt;00138 {00139 };00140 <span class="comment"></span>00141 <span class="comment">//! &lt;a href="http://www.weidai.com/scan-mirror/sig.html#RSA"&gt;RSA signature scheme with appendix&lt;/a&gt;</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> &lt;<span class="keyword">class</span> STANDARD, <span class="keyword">class</span> H&gt;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>&lt;STANDARD, H, RSA&gt;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&lt;PKCS1v15&gt;</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&lt;PKCS1v15&gt;</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&lt;OAEP&lt;SHA&gt;</a> &gt;::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&lt;OAEP&lt;SHA&gt;</a> &gt;::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&lt;PKCS1v15, SHA&gt;</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&lt;PKCS1v15, SHA&gt;</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&lt;PKCS1v15, MD2&gt;</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&lt;PKCS1v15, MD2&gt;</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&lt;PKCS1v15, MD5&gt;</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&lt;PKCS1v15, MD5&gt;</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 + -