Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 23e07fd43e778a61ff4b78161a3e2389 > files > 1895

cryptopp-doc-5.6.1-5.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Crypto++: pubkey.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Crypto++</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">pubkey.h File Reference</div>  </div>
</div>
<div class="contents">

<p>This file contains helper classes/functions for implementing public key algorithms.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;modarith.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="filters_8h_source.html">filters.h</a>&quot;</code><br/>
<code>#include &quot;eprecomp.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="fips140_8h_source.html">fips140.h</a>&quot;</code><br/>
<code>#include &quot;argnames.h&quot;</code><br/>
<code>#include &lt;memory&gt;</code><br/>
</div>
<p><a href="pubkey_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_trapdoor_function_bounds.html">TrapdoorFunctionBounds</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_trapdoor_function_bounds.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_randomized_trapdoor_function.html">RandomizedTrapdoorFunction</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_randomized_trapdoor_function.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_trapdoor_function.html">TrapdoorFunction</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_trapdoor_function.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_randomized_trapdoor_function_inverse.html">RandomizedTrapdoorFunctionInverse</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_randomized_trapdoor_function_inverse.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_trapdoor_function_inverse.html">TrapdoorFunctionInverse</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_trapdoor_function_inverse.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___encryption_message_encoding_method.html">PK_EncryptionMessageEncodingMethod</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">message encoding method for public key encryption  <a href="class_p_k___encryption_message_encoding_method.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___base.html">TF_Base&lt; TFI, MEI &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___fixed_length_crypto_system_impl.html">PK_FixedLengthCryptoSystemImpl&lt; BASE &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_p_k___fixed_length_crypto_system_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___crypto_system_base.html">TF_CryptoSystemBase&lt; INTERFACE, BASE &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___crypto_system_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___decryptor_base.html">TF_DecryptorBase</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___decryptor_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___encryptor_base.html">TF_EncryptorBase</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___encryptor_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___signature_message_encoding_method.html">PK_SignatureMessageEncodingMethod</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">interface for message encoding method for public key signature schemes  <a href="class_p_k___signature_message_encoding_method.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_k___signature_message_encoding_method_1_1_hash_identifier_lookup.html">PK_SignatureMessageEncodingMethod::HashIdentifierLookup</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_k___signature_message_encoding_method_1_1_hash_identifier_lookup_1_1_hash_identifier_lookup2.html">PK_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2&lt; H &gt;</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___deterministic_signature_message_encoding_method.html">PK_DeterministicSignatureMessageEncodingMethod</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___recoverable_signature_message_encoding_method.html">PK_RecoverableSignatureMessageEncodingMethod</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___signature_message_encoding_method___d_s_a.html">DL_SignatureMessageEncodingMethod_DSA</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___signature_message_encoding_method___n_r.html">DL_SignatureMessageEncodingMethod_NR</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___message_accumulator_base.html">PK_MessageAccumulatorBase</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___message_accumulator_impl.html">PK_MessageAccumulatorImpl&lt; HASH_ALGORITHM &gt;</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___signature_scheme_base.html">TF_SignatureSchemeBase&lt; INTERFACE, BASE &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___signature_scheme_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___signer_base.html">TF_SignerBase</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___signer_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___verifier_base.html">TF_VerifierBase</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___verifier_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_t_f___crypto_scheme_options.html">TF_CryptoSchemeOptions&lt; T1, T2, T3 &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="struct_t_f___crypto_scheme_options.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_t_f___signature_scheme_options.html">TF_SignatureSchemeOptions&lt; T1, T2, T3, T4 &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="struct_t_f___signature_scheme_options.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___object_impl_base.html">TF_ObjectImplBase&lt; BASE, SCHEME_OPTIONS, KEY_CLASS &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___object_impl_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___object_impl_ext_ref.html">TF_ObjectImplExtRef&lt; BASE, SCHEME_OPTIONS, KEY &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___object_impl_ext_ref.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___object_impl.html">TF_ObjectImpl&lt; BASE, SCHEME_OPTIONS, KEY_CLASS &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___object_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___decryptor_impl.html">TF_DecryptorImpl&lt; SCHEME_OPTIONS &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___decryptor_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___encryptor_impl.html">TF_EncryptorImpl&lt; SCHEME_OPTIONS &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___encryptor_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___signer_impl.html">TF_SignerImpl&lt; SCHEME_OPTIONS &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___signer_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___verifier_impl.html">TF_VerifierImpl&lt; SCHEME_OPTIONS &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_t_f___verifier_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_mask_generating_function.html">MaskGeneratingFunction</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_mask_generating_function.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p1363___m_g_f1.html">P1363_MGF1</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_p1363___m_g_f1.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p1363___k_d_f2.html">P1363_KDF2&lt; H &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_p1363___k_d_f2.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___bad_element.html">DL_BadElement</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">to be thrown by DecodeElement and AgreeWithStaticPrivateKey  <a href="class_d_l___bad_element.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___group_parameters.html">DL_GroupParameters&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">interface for DL group parameters  <a href="class_d_l___group_parameters.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___group_parameters_impl.html">DL_GroupParametersImpl&lt; GROUP_PRECOMP, BASE_PRECOMP, BASE &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___group_parameters_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___key.html">DL_Key&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___key.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___public_key.html">DL_PublicKey&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">interface for DL public keys  <a href="class_d_l___public_key.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___private_key.html">DL_PrivateKey&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">interface for DL private keys  <a href="class_d_l___private_key.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___key_impl.html">DL_KeyImpl&lt; PK, GP, O &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___key_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___private_key_impl.html">DL_PrivateKeyImpl&lt; GP &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___private_key_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___private_key___with_signature_pairwise_consistency_test.html">DL_PrivateKey_WithSignaturePairwiseConsistencyTest&lt; BASE, SIGNATURE_SCHEME &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___private_key___with_signature_pairwise_consistency_test.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___public_key_impl.html">DL_PublicKeyImpl&lt; GP &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___public_key_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___elgamal_like_signature_algorithm.html">DL_ElgamalLikeSignatureAlgorithm&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">interface for Elgamal-like signature algorithms  <a href="class_d_l___elgamal_like_signature_algorithm.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___key_agreement_algorithm.html">DL_KeyAgreementAlgorithm&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">interface for DL key agreement algorithms  <a href="class_d_l___key_agreement_algorithm.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___key_derivation_algorithm.html">DL_KeyDerivationAlgorithm&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">interface for key derivation algorithms used in DL cryptosystems  <a href="class_d_l___key_derivation_algorithm.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___symmetric_encryption_algorithm.html">DL_SymmetricEncryptionAlgorithm</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">interface for symmetric encryption algorithms used in DL cryptosystems  <a href="class_d_l___symmetric_encryption_algorithm.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___base.html">DL_Base&lt; KI &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___signature_scheme_base.html">DL_SignatureSchemeBase&lt; INTERFACE, KEY_INTERFACE &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___signature_scheme_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___signer_base.html">DL_SignerBase&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___signer_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___verifier_base.html">DL_VerifierBase&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___verifier_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___crypto_system_base.html">DL_CryptoSystemBase&lt; PK, KI &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___crypto_system_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___decryptor_base.html">DL_DecryptorBase&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___decryptor_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___encryptor_base.html">DL_EncryptorBase&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___encryptor_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d_l___scheme_options_base.html">DL_SchemeOptionsBase&lt; T1, T2 &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="struct_d_l___scheme_options_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d_l___keyed_scheme_options.html">DL_KeyedSchemeOptions&lt; T1, T2 &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="struct_d_l___keyed_scheme_options.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d_l___signature_scheme_options.html">DL_SignatureSchemeOptions&lt; T1, T2, T3, T4, T5 &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="struct_d_l___signature_scheme_options.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d_l___crypto_scheme_options.html">DL_CryptoSchemeOptions&lt; T1, T2, T3, T4, T5 &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="struct_d_l___crypto_scheme_options.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___object_impl_base.html">DL_ObjectImplBase&lt; BASE, SCHEME_OPTIONS, KEY &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___object_impl_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___object_impl.html">DL_ObjectImpl&lt; BASE, SCHEME_OPTIONS, KEY &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___object_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___signer_impl.html">DL_SignerImpl&lt; SCHEME_OPTIONS &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___signer_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___verifier_impl.html">DL_VerifierImpl&lt; SCHEME_OPTIONS &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___verifier_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___encryptor_impl.html">DL_EncryptorImpl&lt; SCHEME_OPTIONS &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___encryptor_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___decryptor_impl.html">DL_DecryptorImpl&lt; SCHEME_OPTIONS &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___decryptor_impl.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___simple_key_agreement_domain_base.html">DL_SimpleKeyAgreementDomainBase&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">_  <a href="class_d_l___simple_key_agreement_domain_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___key_agreement_algorithm___d_h.html">DL_KeyAgreementAlgorithm_DH&lt; ELEMENT, COFACTOR_OPTION &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">DH key agreement algorithm.  <a href="class_d_l___key_agreement_algorithm___d_h.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___final_template.html">PK_FinalTemplate&lt; BASE &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A template implementing constructors for public key algorithm classes.  <a href="class_p_k___final_template.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_encryption_standard.html">EncryptionStandard</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for public key encryption standard classes. These classes are used to select from variants of algorithms. Note that not all standards apply to all algorithms.  <a href="struct_encryption_standard.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_signature_standard.html">SignatureStandard</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for public key signature standard classes. These classes are used to select from variants of algorithms. Note that not all standards apply to all algorithms.  <a href="struct_signature_standard.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___e_s.html">TF_ES&lt; STANDARD, KEYS, ALG_INFO &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function Based Encryption Scheme.  <a href="class_t_f___e_s.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_f___s_s.html">TF_SS&lt; STANDARD, H, KEYS, ALG_INFO &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function Based Signature Scheme.  <a href="class_t_f___s_s.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___s_s.html">DL_SS&lt; KEYS, SA, MEM, H, ALG_INFO &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log Based Signature Scheme.  <a href="class_d_l___s_s.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_l___e_s.html">DL_ES&lt; KEYS, AA, DA, EA, ALG_INFO &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log Based Encryption Scheme.  <a href="class_d_l___e_s.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aef874ed3f2d212ac4629255c8ef86dd0"></a><!-- doxytag: member="pubkey.h::HashIdentifier" ref="aef874ed3f2d212ac4629255c8ef86dd0" args="" -->
typedef std::pair&lt; const byte <br class="typebreak"/>
*, size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>HashIdentifier</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69cc5e4d394475c502bf76daee3ee2be"></a><!-- doxytag: member="pubkey.h::NoCofactorMultiplication" ref="a69cc5e4d394475c502bf76daee3ee2be" args="" -->
typedef <a class="el" href="struct_enum_to_type.html">EnumToType</a><br class="typebreak"/>
&lt; CofactorMultiplicationOption, <br class="typebreak"/>
NO_COFACTOR_MULTIPLICTION &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NoCofactorMultiplication</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a762cc7fc032dea36d6c45e101cfb580a"></a><!-- doxytag: member="pubkey.h::CompatibleCofactorMultiplication" ref="a762cc7fc032dea36d6c45e101cfb580a" args="" -->
typedef <a class="el" href="struct_enum_to_type.html">EnumToType</a><br class="typebreak"/>
&lt; CofactorMultiplicationOption, <br class="typebreak"/>
COMPATIBLE_COFACTOR_MULTIPLICTION &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>CompatibleCofactorMultiplication</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad4281288ded47691c195822e3e08ec9"></a><!-- doxytag: member="pubkey.h::IncompatibleCofactorMultiplication" ref="aad4281288ded47691c195822e3e08ec9" args="" -->
typedef <a class="el" href="struct_enum_to_type.html">EnumToType</a><br class="typebreak"/>
&lt; CofactorMultiplicationOption, <br class="typebreak"/>
INCOMPATIBLE_COFACTOR_MULTIPLICTION &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>IncompatibleCofactorMultiplication</b></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>CofactorMultiplicationOption</b> { <b>NO_COFACTOR_MULTIPLICTION</b>, 
<b>COMPATIBLE_COFACTOR_MULTIPLICTION</b>, 
<b>INCOMPATIBLE_COFACTOR_MULTIPLICTION</b>
 }</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21504e2d12d7a615772129ef96a6f848"></a><!-- doxytag: member="pubkey.h::P1363_MGF1KDF2_Common" ref="a21504e2d12d7a615772129ef96a6f848" args="(HashTransformation &amp;hash, byte *output, size_t outputLength, const byte *input, size_t inputLength, const byte *derivationParams, size_t derivationParamsLength, bool mask, unsigned int counterStart)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>P1363_MGF1KDF2_Common</b> (<a class="el" href="class_hash_transformation.html">HashTransformation</a> &amp;hash, byte *output, size_t outputLength, const byte *input, size_t inputLength, const byte *derivationParams, size_t derivationParamsLength, bool mask, unsigned int counterStart)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This file contains helper classes/functions for implementing public key algorithms. </p>
<p>The class hierachies in this .h file tend to look like this: </p>
<pre>
                  x1
                 / \
                y1  z1
                 |  |
            x2&lt;y1&gt;  x2&lt;z1&gt;
                 |  |
                y2  z2
                 |  |
            x3&lt;y2&gt;  x3&lt;z2&gt;
                 |  |
                y3  z3
</pre><ul>
<li>x1, y1, z1 are abstract interface classes defined in <a class="el" href="cryptlib_8h.html">cryptlib.h</a></li>
<li>x2, y2, z2 are implementations of the interfaces using "abstract policies", which are pure virtual functions that should return interfaces to interchangeable algorithms. These classes have "Base" suffixes.</li>
<li>x3, y3, z3 hold actual algorithms and implement those virtual functions. These classes have "Impl" suffixes.</li>
</ul>
<p>The "TF_" prefix means an implementation using trapdoor functions on integers. The "DL_" prefix means an implementation using group operations (in groups where discrete log is hard). </p>

<p>Definition in file <a class="el" href="pubkey_8h_source.html">pubkey.h</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated on Sun Oct 16 2011 for Crypto++ by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>