Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > 0a67b807a02637f2cae68649d519a89d > files > 2508

libcryptopp-devel-7.0.0-1.mga7.armv7hl.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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crypto++: pubkey.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crypto++
   &#160;<span id="projectnumber">7.0</span>
   </div>
   <div id="projectbrief">Free&nbsp;C&#43;&#43;&nbsp;class&nbsp;library&nbsp;of&nbsp;cryptographic&nbsp;schemes</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</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><!--header-->
<div class="contents">

<p>This file contains helper classes/functions for implementing public key algorithms.  
<a href="#details">More...</a></p>

<p><a href="pubkey_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides range for plaintext and ciphertext lengths.  <a href="class_trapdoor_function_bounds.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Applies the trapdoor function, using random data if required.  <a href="class_randomized_trapdoor_function.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Applies the trapdoor function.  <a href="class_trapdoor_function.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Applies the inverse of the trapdoor function, using random data if required.  <a href="class_randomized_trapdoor_function_inverse.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Applies the inverse of the trapdoor function.  <a href="class_trapdoor_function_inverse.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><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 class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The base for trapdoor based cryptosystems.  <a href="class_t_f___base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Public key trapdoor function default implementation.  <a href="class_p_k___fixed_length_crypto_system_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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; INTFACE, BASE &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor function cryptosystem base class.  <a href="class_t_f___crypto_system_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor function cryptosystems decryption base class.  <a href="class_t_f___decryptor_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor function cryptosystems encryption base class.  <a href="class_t_f___encryptor_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><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 class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for message encoding method for public key signature schemes.  <a href="class_p_k___deterministic_signature_message_encoding_method.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for message encoding method for public key signature schemes.  <a href="class_p_k___recoverable_signature_message_encoding_method.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for message encoding method for public key signature schemes.  <a href="class_d_l___signature_message_encoding_method___d_s_a.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for message encoding method for public key signature schemes.  <a href="class_d_l___signature_message_encoding_method___n_r.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for message encoding method for public key signature schemes.  <a href="class_p_k___message_accumulator_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for message encoding method for public key signature schemes.  <a href="class_p_k___message_accumulator_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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; INTFACE, BASE &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) Signature Scheme base class.  <a href="class_t_f___signature_scheme_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) Signer base class.  <a href="class_t_f___signer_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) Verifier base class.  <a href="class_t_f___verifier_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) scheme options.  <a href="struct_t_f___crypto_scheme_options.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) signature scheme options.  <a href="struct_t_f___signature_scheme_options.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) base implementation.  <a href="class_t_f___object_impl_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) signature with external reference.  <a href="class_t_f___object_impl_ext_ref.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) signature scheme options.  <a href="class_t_f___object_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) decryptor options.  <a href="class_t_f___decryptor_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) encryptor options.  <a href="class_t_f___encryptor_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) encryptor options.  <a href="class_t_f___signer_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) encryptor options.  <a href="class_t_f___verifier_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask generation function interface.  <a href="class_mask_generating_function.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">P1363 mask generation function.  <a href="class_p1363___m_g_f1.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">P1363 key derivation function.  <a href="class_p1363___k_d_f2.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_exception.html" title="Base class for all exceptions thrown by the library. ">Exception</a> thrown when an invalid group element is encountered.  <a href="class_d_l___bad_element.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for Discrete Log (DL) group parameters.  <a href="class_d_l___group_parameters.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base implementation of Discrete Log (DL) group parameters.  <a href="class_d_l___group_parameters_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for a Discrete Log (DL) key.  <a href="class_d_l___key.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for Discrete Log (DL) public keys.  <a href="class_d_l___public_key.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for Discrete Log (DL) private keys.  <a href="class_d_l___private_key.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) key base implementation.  <a href="class_d_l___key_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) private key base implementation.  <a href="class_d_l___private_key_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) public key base implementation.  <a href="class_d_l___public_key_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><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 class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_deterministic_signature_algorithm.html">DeterministicSignatureAlgorithm</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for deterministic signers.  <a href="class_deterministic_signature_algorithm.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><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 class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><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 class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><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 class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) base interface.  <a href="class_d_l___base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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; INTFACE, KEY_INTFACE &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) signature scheme base implementation.  <a href="class_d_l___signature_scheme_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) signature scheme signer base implementation.  <a href="class_d_l___signer_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discret Log (DL) Verifier base class.  <a href="class_d_l___verifier_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) cryptosystem base implementation.  <a href="class_d_l___crypto_system_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) decryptor base implementation.  <a href="class_d_l___decryptor_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) encryptor base implementation.  <a href="class_d_l___encryptor_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) scheme options.  <a href="struct_d_l___scheme_options_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) key options.  <a href="struct_d_l___keyed_scheme_options.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) signature scheme options.  <a href="struct_d_l___signature_scheme_options.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) crypto scheme options.  <a href="struct_d_l___crypto_scheme_options.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) base object implementation.  <a href="class_d_l___object_impl_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) object implementation.  <a href="class_d_l___object_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) signer implementation.  <a href="class_d_l___signer_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) verifier implementation.  <a href="class_d_l___verifier_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) encryptor implementation.  <a href="class_d_l___encryptor_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) decryptor implementation.  <a href="class_d_l___decryptor_impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) simple key agreement base implementation.  <a href="class_d_l___simple_key_agreement_domain_base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Diffie-Hellman key agreement algorithm.  <a href="class_d_l___key_agreement_algorithm___d_h.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template implementing constructors for public key algorithm classes.  <a href="class_p_k___final_template.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for public key encryption standard classes.  <a href="struct_encryption_standard.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for public key signature standard classes.  <a href="struct_signature_standard.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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; KEYS, STANDARD, ALG_INFO &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) encryption scheme.  <a href="class_t_f___e_s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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; KEYS, STANDARD, ALG_INFO &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) encryption scheme.  <a href="class_t_f___e_s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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; KEYS, STANDARD, H, ALG_INFO &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) Signature Scheme.  <a href="class_t_f___s_s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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; KEYS, STANDARD, H, ALG_INFO &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trapdoor Function (TF) Signature Scheme.  <a href="class_t_f___s_s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) signature scheme.  <a href="class_d_l___s_s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) signature scheme.  <a href="class_d_l___s_s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discrete Log (DL) encryption scheme.  <a href="class_d_l___e_s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a6d1db66cf5a24de93d11f8df16f12f8b"><td class="memItemLeft" align="right" valign="top"><a id="a6d1db66cf5a24de93d11f8df16f12f8b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MAYBE_RETURN</b>(x)&#160;&#160;&#160;CRYPTOPP_UNUSED(x)</td></tr>
<tr class="separator:a6d1db66cf5a24de93d11f8df16f12f8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a21baf0a8ac011fcaf9d9d9ce9e89a4cc"><td class="memItemLeft" align="right" valign="top"><a id="a21baf0a8ac011fcaf9d9d9ce9e89a4cc"></a>
typedef std::pair&lt; const byte *, unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>HashIdentifier</b></td></tr>
<tr class="separator:a21baf0a8ac011fcaf9d9d9ce9e89a4cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69cc5e4d394475c502bf76daee3ee2be"><td class="memItemLeft" align="right" valign="top"><a id="a69cc5e4d394475c502bf76daee3ee2be"></a>
typedef <a class="el" href="struct_enum_to_type.html">EnumToType</a>&lt; <a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1">CofactorMultiplicationOption</a>, <a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1a69418ae10529f1fab66df8063ea9d286">NO_COFACTOR_MULTIPLICTION</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NoCofactorMultiplication</b></td></tr>
<tr class="separator:a69cc5e4d394475c502bf76daee3ee2be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a762cc7fc032dea36d6c45e101cfb580a"><td class="memItemLeft" align="right" valign="top"><a id="a762cc7fc032dea36d6c45e101cfb580a"></a>
typedef <a class="el" href="struct_enum_to_type.html">EnumToType</a>&lt; <a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1">CofactorMultiplicationOption</a>, <a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1af008f1e77658d1f047d77a9524f68276">COMPATIBLE_COFACTOR_MULTIPLICTION</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>CompatibleCofactorMultiplication</b></td></tr>
<tr class="separator:a762cc7fc032dea36d6c45e101cfb580a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad4281288ded47691c195822e3e08ec9"><td class="memItemLeft" align="right" valign="top"><a id="aad4281288ded47691c195822e3e08ec9"></a>
typedef <a class="el" href="struct_enum_to_type.html">EnumToType</a>&lt; <a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1">CofactorMultiplicationOption</a>, <a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1a50b557cd9b91bd00d059703cb4806f94">INCOMPATIBLE_COFACTOR_MULTIPLICTION</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>IncompatibleCofactorMultiplication</b></td></tr>
<tr class="separator:aad4281288ded47691c195822e3e08ec9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ae4b59f7b9d3c7e03bb739f0584905ff1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1">CofactorMultiplicationOption</a> { <a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1a69418ae10529f1fab66df8063ea9d286">NO_COFACTOR_MULTIPLICTION</a>, 
<a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1af008f1e77658d1f047d77a9524f68276">COMPATIBLE_COFACTOR_MULTIPLICTION</a>, 
<a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1a50b557cd9b91bd00d059703cb4806f94">INCOMPATIBLE_COFACTOR_MULTIPLICTION</a>
 }</td></tr>
<tr class="memdesc:ae4b59f7b9d3c7e03bb739f0584905ff1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Methods for avoiding "Small-Subgroup" attacks on Diffie-Hellman Key Agreement.  <a href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1">More...</a><br /></td></tr>
<tr class="separator:ae4b59f7b9d3c7e03bb739f0584905ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a21504e2d12d7a615772129ef96a6f848"><td class="memItemLeft" align="right" valign="top"><a id="a21504e2d12d7a615772129ef96a6f848"></a>
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>
<tr class="separator:a21504e2d12d7a615772129ef96a6f848"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">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 header 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" title="Abstract base classes that provide a uniform interface to this library. ">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.</p>
<p>The DL_ prefix means an implementation using group operations in groups where discrete log is hard. </p>

<p class="definition">Definition in file <a class="el" href="pubkey_8h_source.html">pubkey.h</a>.</p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ae4b59f7b9d3c7e03bb739f0584905ff1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4b59f7b9d3c7e03bb739f0584905ff1">&#9670;&nbsp;</a></span>CofactorMultiplicationOption</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="pubkey_8h.html#ae4b59f7b9d3c7e03bb739f0584905ff1">CofactorMultiplicationOption</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Methods for avoiding "Small-Subgroup" attacks on Diffie-Hellman Key Agreement. </p>
<p>Additional methods exist and include public key validation and choice of prime p. </p><dl class="section see"><dt>See also</dt><dd><a href="http://tools.ietf.org/html/rfc2785">Methods for Avoiding the "Small-Subgroup" Attacks on the Diffie-Hellman Key Agreement Method for S/MIME</a> </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae4b59f7b9d3c7e03bb739f0584905ff1a69418ae10529f1fab66df8063ea9d286"></a>NO_COFACTOR_MULTIPLICTION&#160;</td><td class="fielddoc"><p>No cofactor multiplication applied. </p>
</td></tr>
<tr><td class="fieldname"><a id="ae4b59f7b9d3c7e03bb739f0584905ff1af008f1e77658d1f047d77a9524f68276"></a>COMPATIBLE_COFACTOR_MULTIPLICTION&#160;</td><td class="fielddoc"><p>Cofactor multiplication compatible with ordinary Diffie-Hellman. </p>
<p>Modifies the computation of ZZ by including j (the cofactor) in the computations and is compatible with ordinary Diffie-Hellman. </p>
</td></tr>
<tr><td class="fieldname"><a id="ae4b59f7b9d3c7e03bb739f0584905ff1a50b557cd9b91bd00d059703cb4806f94"></a>INCOMPATIBLE_COFACTOR_MULTIPLICTION&#160;</td><td class="fielddoc"><p>Cofactor multiplication incompatible with ordinary Diffie-Hellman. </p>
<p>Modifies the computation of ZZ by including j (the cofactor) in the computations but is not compatible with ordinary Diffie-Hellman. </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="pubkey_8h_source.html#l02060">2060</a> of file <a class="el" href="pubkey_8h_source.html">pubkey.h</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Sep 16 2018 07:58:11 for Crypto++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>