📄 class_p_k___decryptor.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Crypto++: PK_Decryptor class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.2 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>PK_Decryptor Class Reference</h1><code>#include <<a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>></code><p><p>Inheritance diagram for PK_Decryptor:<p><center><img src="class_p_k___decryptor.png" usemap="#PK_Decryptor_map" border="0" alt=""></center><map name="PK_Decryptor_map"><area href="class_p_k___crypto_system.html" alt="PK_CryptoSystem" shape="rect" coords="192,168,951,192"><area href="class_private_key_algorithm.html" alt="PrivateKeyAlgorithm" shape="rect" coords="961,168,1720,192"><area href="class_asymmetric_algorithm.html" alt="AsymmetricAlgorithm" shape="rect" coords="961,112,1720,136"><area href="class_algorithm.html" alt="Algorithm" shape="rect" coords="961,56,1720,80"><area href="class_clonable.html" alt="Clonable" shape="rect" coords="961,0,1720,24"><area href="class_d_l___crypto_system_base.html" alt="DL_CryptoSystemBase< PK_Decryptor, DL_PrivateKey< SCHEME_OPTIONS::Element > >" shape="rect" coords="0,280,759,304"><area href="class_p_k___fixed_length_decryptor.html" alt="PK_FixedLengthDecryptor" shape="rect" coords="1153,280,1912,304"><area href="class_d_l___decryptor_base.html" alt="DL_DecryptorBase< SCHEME_OPTIONS::Element >" shape="rect" coords="0,336,759,360"><area href="class_d_l___crypto_system_base.html" alt="DL_CryptoSystemBase< PK_FixedLengthDecryptor, DL_PrivateKey< Integer > >" shape="rect" coords="769,336,1528,360"><area href="class_t_f___crypto_system_base.html" alt="TF_CryptoSystemBase< PK_FixedLengthDecryptor, TF_Base< TrapdoorFunctionInverse > >" shape="rect" coords="1538,336,2297,360"><area href="class_d_l___decryptor_base.html" alt="DL_DecryptorBase< Integer, PK_FixedLengthDecryptor >" shape="rect" coords="769,392,1528,416"><area href="class_t_f___decryptor_base.html" alt="TF_DecryptorBase" shape="rect" coords="1538,392,2297,416"><area href="class_d_l___object_impl_base.html" alt="DL_ObjectImplBase< DL_DecryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey >" shape="rect" coords="0,448,759,472"><area href="class_d_l___object_impl.html" alt="DL_ObjectImpl< DL_DecryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey >" shape="rect" coords="0,504,759,528"><area href="class_d_l___object_impl_base.html" alt="DL_ObjectImplBase< DL_DecryptorBase< Integer, PK_FixedLengthDecryptor >, SchemeOptions, SchemeOptions::PrivateKey >" shape="rect" coords="769,504,1528,528"><area href="class_t_f___object_impl_base.html" alt="TF_ObjectImplBase< TF_DecryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey >" shape="rect" coords="1538,504,2297,528"><area href="class_d_l___private_object_impl.html" alt="DL_PrivateObjectImpl< DL_DecryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS >" shape="rect" coords="0,560,759,584"><area href="class_t_f___object_impl.html" alt="TF_ObjectImpl< TF_DecryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey >" shape="rect" coords="1538,560,2297,584"><area href="class_d_l___decryptor_impl.html" alt="DL_DecryptorImpl< SCHEME_OPTIONS >" shape="rect" coords="0,616,759,640"><area href="class_t_f___private_object_impl.html" alt="TF_PrivateObjectImpl< TF_DecryptorBase, SCHEME_OPTIONS >" shape="rect" coords="1538,616,2297,640"><area href="class_t_f___decryptor_impl.html" alt="TF_DecryptorImpl< SCHEME_OPTIONS >" shape="rect" coords="1538,672,2297,696"></map><a href="class_p_k___decryptor-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>interface for public-key decryptors <p><p>Definition at line <a class="el" href="cryptlib_8h-source.html#l01146">1146</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.<table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="struct_decoding_result.html">DecodingResult</a> </td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_p_k___decryptora0">Decrypt</a> (const byte *cipherText, unsigned int cipherTextLength, byte *plainText) const=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">decrypt a byte string, and return the length of plaintext </em> <a href="#_p_k___decryptora0"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_t_f___private_object_impl_3_01_t_f___decryptor_base_00_01_s_c_h_e_m_e___o_p_t_i_o_n_s_01_4a14">CreateDecryptionFilter</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment=NULL) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">create a new decryption filter </em> <a href="#_t_f___private_object_impl_3_01_t_f___decryptor_base_00_01_s_c_h_e_m_e___o_p_t_i_o_n_s_01_4a14"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_t_f___public_object_impl_3_01_t_f___encryptor_base_00_01_s_c_h_e_m_e___o_p_t_i_o_n_s_01_4a13">MaxPlaintextLength</a> (unsigned int cipherTextLength) const=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">maximum length of plaintext for a given ciphertext length </em> <a href="#_t_f___public_object_impl_3_01_t_f___encryptor_base_00_01_s_c_h_e_m_e___o_p_t_i_o_n_s_01_4a13"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_t_f___public_object_impl_3_01_t_f___encryptor_base_00_01_s_c_h_e_m_e___o_p_t_i_o_n_s_01_4a15">CiphertextLength</a> (unsigned int plainTextLength) const=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">calculate length of ciphertext given length of plaintext </em> <a href="#_t_f___public_object_impl_3_01_t_f___encryptor_base_00_01_s_c_h_e_m_e___o_p_t_i_o_n_s_01_4a15"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_t_f___private_object_impl_3_01_t_f___digest_signer_base_00_01_s_c_h_e_m_e___o_p_t_i_o_n_s_01_4a13" doxytag="PK_Decryptor::AccessMaterial"></a><a class="el" href="class_crypto_material.html">CryptoMaterial</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_t_f___private_object_impl_3_01_t_f___digest_signer_base_00_01_s_c_h_e_m_e___o_p_t_i_o_n_s_01_4a13">AccessMaterial</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns a reference to the crypto material used by this object <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_t_f___private_object_impl_3_01_t_f___digest_signer_base_00_01_s_c_h_e_m_e___o_p_t_i_o_n_s_01_4a14" doxytag="PK_Decryptor::GetMaterial"></a>const <a class="el" href="class_crypto_material.html">CryptoMaterial</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_t_f___private_object_impl_3_01_t_f___digest_signer_base_00_01_s_c_h_e_m_e___o_p_t_i_o_n_s_01_4a14">GetMaterial</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns a const reference to the crypto material used by this object <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_t_f___digest_signer_basea5" doxytag="PK_Decryptor::AccessPrivateKey"></a>virtual <a class="el" href="class_private_key.html">PrivateKey</a> & </td><td class="memItemRight" valign=bottom><b>AccessPrivateKey</b> ()=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_t_f___digest_signer_basea6" doxytag="PK_Decryptor::GetPrivateKey"></a>virtual const <a class="el" href="class_private_key.html">PrivateKey</a> & </td><td class="memItemRight" valign=bottom><b>GetPrivateKey</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_t_r___d_ha24" doxytag="PK_Decryptor::BERDecode"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_x_t_r___d_ha24">BERDecode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">for backwards compatibility, calls <a class="el" href="class_asymmetric_algorithm.html#_asymmetric_algorithma0">AccessMaterial()</a>.Load(bt) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_verifier_with_recovery_templatea23" doxytag="PK_Decryptor::DEREncode"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_verifier_with_recovery_templatea23">DEREncode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">for backwards compatibility, calls <a class="el" href="class_asymmetric_algorithm.html#_asymmetric_algorithma1">GetMaterial()</a>.Save(bt) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressora17" doxytag="PK_Decryptor::AlgorithmName"></a>virtual std::string </td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_zlib_decompressora17">AlgorithmName</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns name of this algorithm, not universally implemented yet <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressora18" doxytag="PK_Decryptor::Clone"></a>virtual <a class="el" href="class_clonable.html">Clonable</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_zlib_decompressora18">Clone</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">this is not implemented by most classes yet <br><br></td></tr></table><hr><h2>Member Function Documentation</h2><a name="_p_k___decryptora0" doxytag="PK_Decryptor::Decrypt"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual <a class="el" href="struct_decoding_result.html">DecodingResult</a> PK_Decryptor::Decrypt </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const byte * </td> <td class="mdname" nowrap> <em>cipherText</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>cipherTextLength</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>byte * </td> <td class="mdname" nowrap> <em>plainText</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"> const<code> [pure virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -