Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > media > contrib > by-pkgid > 7457b841ac8136d3a1a9d3d960c5252e > files > 751

libcryptopp-doc-5.2.1-2mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 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.7 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>PK_Decryptor Class Reference</h1><code>#include &lt;<a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>&gt;</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="545,168,1625,192">
<area href="class_private_key_algorithm.html" alt="PrivateKeyAlgorithm" shape="rect" coords="1635,168,2715,192">
<area href="class_asymmetric_algorithm.html" alt="AsymmetricAlgorithm" shape="rect" coords="1635,112,2715,136">
<area href="class_algorithm.html" alt="Algorithm" shape="rect" coords="1635,56,2715,80">
<area href="class_clonable.html" alt="Clonable" shape="rect" coords="1635,0,2715,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,1080,304">
<area href="class_d_l___crypto_system_base.html" alt="DL_CryptoSystemBase< PK_Decryptor, DL_PrivateKey< T > >" shape="rect" coords="1090,280,2170,304">
<area href="class_p_k___fixed_length_crypto_system_impl.html" alt="PK_FixedLengthCryptoSystemImpl< PK_Decryptor >" shape="rect" coords="2180,280,3260,304">
<area href="class_d_l___decryptor_base.html" alt="DL_DecryptorBase< SCHEME_OPTIONS::Element >" shape="rect" coords="0,336,1080,360">
<area href="class_d_l___decryptor_base.html" alt="DL_DecryptorBase< T >" shape="rect" coords="1090,336,2170,360">
<area href="class_t_f___crypto_system_base.html" alt="TF_CryptoSystemBase< PK_Decryptor, TF_Base< TrapdoorFunctionInverse, PK_EncryptionMessageEncodingMethod > >" shape="rect" coords="2180,336,3260,360">
<area href="class_algorithm_impl.html" alt="AlgorithmImpl< DL_DecryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS::AlgorithmInfo >" shape="rect" coords="0,392,1080,416">
<area href="class_t_f___decryptor_base.html" alt="TF_DecryptorBase" shape="rect" coords="2180,392,3260,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,1080,472">
<area href="class_two_bases.html" alt="TwoBases< TF_DecryptorBase, PrivateKeyCopier< SCHEME_OPTIONS::Keys > >" shape="rect" coords="2180,448,3260,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,1080,528">
<area href="class_algorithm_impl.html" alt="AlgorithmImpl< TwoBases< TF_DecryptorBase, PrivateKeyCopier< SCHEME_OPTIONS::Keys > >, SCHEME_OPTIONS::AlgorithmInfo >" shape="rect" coords="2180,504,3260,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,1080,584">
<area href="class_t_f___object_impl_base.html" alt="TF_ObjectImplBase< TwoBases< TF_DecryptorBase, PrivateKeyCopier< SCHEME_OPTIONS::Keys > >, SCHEME_OPTIONS, PrivateKeyCopier< SCHEME_OPTIONS::Keys >::KeyClass >" shape="rect" coords="2180,560,3260,584">
<area href="class_d_l___decryptor_impl.html" alt="DL_DecryptorImpl< SCHEME_OPTIONS >" shape="rect" coords="0,616,1080,640">
<area href="class_t_f___object_impl.html" alt="TF_ObjectImpl< TF_DecryptorBase, SCHEME_OPTIONS, PrivateKeyCopier< SCHEME_OPTIONS::Keys > >" shape="rect" coords="2180,616,3260,640">
<area href="class_t_f___decryptor_impl.html" alt="TF_DecryptorImpl< SCHEME_OPTIONS >" shape="rect" coords="2180,672,3260,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#l01169">1169</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>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_t_f___crypto_system_base_3_01_p_k___decryptor_00_01_t_f___base_3_01_trapdoor_function_inverse_00_01_p_k___encryption_message_encoding_method_01_4_01_4a5">Decrypt</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const byte *ciphertext, unsigned int ciphertextLength, byte *plaintext, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;parameters=<a class="el" href="cryptlib_8h.html#a3">g_nullNameValuePairs</a>) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">decrypt a byte string, and return the length of plaintext  <a href="#_t_f___crypto_system_base_3_01_p_k___decryptor_00_01_t_f___base_3_01_trapdoor_function_inverse_00_01_p_k___encryption_message_encoding_method_01_4_01_4a5"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_two_bases_3_01_t_f___decryptor_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a6">CreateDecryptionFilter</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment=NULL, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;parameters=<a class="el" href="cryptlib_8h.html#a3">g_nullNameValuePairs</a>) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a new decryption filter  <a href="#_two_bases_3_01_t_f___decryptor_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a6"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_two_bases_3_01_t_f___decryptor_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a7" doxytag="PK_Decryptor::FixedLengthDecrypt" ></a>
<a class="el" href="struct_decoding_result.html">DecodingResult</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___decryptor.html#_two_bases_3_01_t_f___decryptor_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a7">FixedLengthDecrypt</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const byte *ciphertext, byte *plaintext, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;parameters=<a class="el" href="cryptlib_8h.html#a3">g_nullNameValuePairs</a>) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">decrypt a fixed size ciphertext <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___crypto_system.html#_p_k___encryptora2">MaxPlaintextLength</a> (unsigned int ciphertextLength) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">maximum length of plaintext for a given ciphertext length  <a href="#_p_k___encryptora2"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___crypto_system.html#_p_k___encryptora3">CiphertextLength</a> (unsigned int plaintextLength) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate length of ciphertext given length of plaintext  <a href="#_p_k___encryptora3"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___crypto_system.html#_p_k___fixed_length_crypto_system_impl_3_01_p_k___encryptor_01_4a6">ParameterSupported</a> (const char *name) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this object supports the use of the parameter with the given name  <a href="#_p_k___fixed_length_crypto_system_impl_3_01_p_k___encryptor_01_4a6"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___crypto_system.html#_p_k___encryptora5">FixedCiphertextLength</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return fixed ciphertext length, if one exists, otherwise return 0  <a href="#_p_k___encryptora5"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_p_k___encryptora6" doxytag="PK_Decryptor::FixedMaxPlaintextLength" ></a>
virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_p_k___crypto_system.html#_p_k___encryptora6">FixedMaxPlaintextLength</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return maximum plaintext length given the fixed ciphertext length, if one exists, otherwise return 0 <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_two_bases_3_01_t_f___signer_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a14" doxytag="PK_Decryptor::AccessMaterial" ></a>
<a class="el" href="class_crypto_material.html">CryptoMaterial</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_private_key_algorithm.html#_two_bases_3_01_t_f___signer_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a14">AccessMaterial</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</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 class="anchor" name="_two_bases_3_01_t_f___signer_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a15" doxytag="PK_Decryptor::GetMaterial" ></a>
const <a class="el" href="class_crypto_material.html">CryptoMaterial</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_private_key_algorithm.html#_two_bases_3_01_t_f___signer_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a15">GetMaterial</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</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 class="anchor" name="_two_bases_3_01_t_f___signer_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a16" doxytag="PK_Decryptor::AccessPrivateKey" ></a>
virtual <a class="el" href="class_private_key.html">PrivateKey</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>AccessPrivateKey</b> ()=0</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_two_bases_3_01_t_f___signer_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a17" doxytag="PK_Decryptor::GetPrivateKey" ></a>
virtual const <a class="el" href="class_private_key.html">PrivateKey</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetPrivateKey</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_x_t_r___d_ha24" doxytag="PK_Decryptor::BERDecode" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_asymmetric_algorithm.html#_x_t_r___d_ha24">BERDecode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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 class="anchor" name="_two_bases_3_01_t_f___verifier_base_00_01_public_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a21" doxytag="PK_Decryptor::DEREncode" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_asymmetric_algorithm.html#_two_bases_3_01_t_f___verifier_base_00_01_public_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a21">DEREncode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">for backwards compatibility, calls GetMaterial().Save(bt) <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_zlib_decompressora17" doxytag="PK_Decryptor::AlgorithmName" ></a>
virtual std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_algorithm.html#_zlib_decompressora17">AlgorithmName</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</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 class="anchor" name="_zlib_decompressora18" doxytag="PK_Decryptor::Clone" ></a>
virtual <a class="el" href="class_clonable.html">Clonable</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_clonable.html#_zlib_decompressora18">Clone</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this is not implemented by most classes yet <br><br></td></tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="_t_f___crypto_system_base_3_01_p_k___decryptor_00_01_t_f___base_3_01_trapdoor_function_inverse_00_01_p_k___encryption_message_encoding_method_01_4_01_4a5" 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">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>rng</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const byte *&nbsp;</td>
          <td class="mdname" nowrap> <em>ciphertext</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>unsigned int&nbsp;</td>
          <td class="mdname" nowrap> <em>ciphertextLength</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>byte *&nbsp;</td>
          <td class="mdname" nowrap> <em>plaintext</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>parameters</em> = <code><a class="el" href="cryptlib_8h.html#a3">g_nullNameValuePairs</a></code></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</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>
      &nbsp;
    </td>
    <td>

<p>
decrypt a byte string, and return the length of plaintext 
<p>
<dl compact><dt><b>Precondition:</b></dt><dd>size of plaintext == <a class="el" href="class_p_k___crypto_system.html#_p_k___encryptora2">MaxPlaintextLength(ciphertextLength)</a> bytes. </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>the actual length of the plaintext, indication that decryption failed.</dd></dl>

<p>
Implemented in <a class="el" href="class_t_f___decryptor_base.html#_two_bases_3_01_t_f___decryptor_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a0">TF_DecryptorBase</a>, <a class="el" href="class_d_l___decryptor_base.html#_d_l___decryptor_basea0">DL_DecryptorBase&lt; T &gt;</a>, and <a class="el" href="class_d_l___decryptor_base.html#_d_l___decryptor_basea0">DL_DecryptorBase&lt; SCHEME_OPTIONS::Element &gt;</a>.    </td>
  </tr>
</table>
<a class="anchor" name="_two_bases_3_01_t_f___decryptor_base_00_01_private_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a6" doxytag="PK_Decryptor::CreateDecryptionFilter" ></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"> <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> * PK_Decryptor::CreateDecryptionFilter           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>rng</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>attachment</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>parameters</em> = <code><a class="el" href="cryptlib_8h.html#a3">g_nullNameValuePairs</a></code></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"> const<code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
create a new decryption filter 
<p>
<dl compact><dt><b>Note:</b></dt><dd>caller is responsible for deleting the returned pointer</dd></dl>

<p>
Definition at line <a class="el" href="cryptlib_8cpp-source.html#l00610">610</a> of file <a class="el" href="cryptlib_8cpp-source.html">cryptlib.cpp</a>.
<p>
References <a class="el" href="cryptlib_8cpp-source.html#l00610">CreateDecryptionFilter()</a>.
<p>
Referenced by <a class="el" href="cryptlib_8cpp-source.html#l00610">CreateDecryptionFilter()</a>.    </td>
  </tr>
</table>
<a class="anchor" name="_p_k___encryptora2" doxytag="PK_Decryptor::MaxPlaintextLength" ></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 unsigned int PK_CryptoSystem::MaxPlaintextLength           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>ciphertextLength</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [pure virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
maximum length of plaintext for a given ciphertext length 
<p>
<dl compact><dt><b>Note:</b></dt><dd>This function returns 0 if ciphertextLength is not valid (too long or too short). </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="_p_k___encryptora3" doxytag="PK_Decryptor::CiphertextLength" ></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 unsigned int PK_CryptoSystem::CiphertextLength           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>plaintextLength</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [pure virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
calculate length of ciphertext given length of plaintext 
<p>
<dl compact><dt><b>Note:</b></dt><dd>This function returns 0 if plaintextLength is not valid (too long). </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="_p_k___fixed_length_crypto_system_impl_3_01_p_k___encryptor_01_4a6" doxytag="PK_Decryptor::ParameterSupported" ></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 bool PK_CryptoSystem::ParameterSupported           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [pure virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
this object supports the use of the parameter with the given name 
<p>
some possible parameter names: EncodingParameters, KeyDerivationParameters     </td>
  </tr>
</table>
<a class="anchor" name="_p_k___encryptora5" doxytag="PK_Decryptor::FixedCiphertextLength" ></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 unsigned int PK_CryptoSystem::FixedCiphertextLength           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
return fixed ciphertext length, if one exists, otherwise return 0 
<p>
<dl compact><dt><b>Note:</b></dt><dd>"Fixed" here means length of ciphertext does not depend on length of plaintext. It usually does depend on the key length. </dd></dl>

<p>
Definition at line <a class="el" href="cryptlib_8h-source.html#l01129">1129</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.
<p>
Referenced by <a class="el" href="pubkey_8cpp-source.html#l00106">TF_DecryptorBase::Decrypt()</a>, and <a class="el" href="pubkey_8cpp-source.html#l00116">TF_EncryptorBase::Encrypt()</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="cryptlib_8h-source.html">cryptlib.h</a><li><a class="el" href="cryptlib_8cpp-source.html">cryptlib.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Sun Nov 7 08:24:07 2004 for Crypto++ by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
</body>
</html>