Sophie

Sophie

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

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++: ElGamalObjectImpl&lt; BASE, SCHEME_OPTIONS, KEY &gt; Class Template 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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">ElGamalObjectImpl&lt; BASE, SCHEME_OPTIONS, KEY &gt; Class Template Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="ElGamalObjectImpl" --><!-- doxytag: inherits="DL_ObjectImplBase,ElGamalBase" --><div class="dynheader">
Inheritance diagram for ElGamalObjectImpl&lt; BASE, SCHEME_OPTIONS, KEY &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_el_gamal_object_impl.png" usemap="#ElGamalObjectImpl&lt; BASE, SCHEME_OPTIONS, KEY &gt;_map" alt=""/>
  <map id="ElGamalObjectImpl&lt; BASE, SCHEME_OPTIONS, KEY &gt;_map" name="ElGamalObjectImpl&lt; BASE, SCHEME_OPTIONS, KEY &gt;_map">
<area href="class_d_l___object_impl_base.html" title="_" alt="DL_ObjectImplBase&lt; BASE, SCHEME_OPTIONS, KEY &gt;" shape="rect" coords="0,112,407,136"/>
<area href="class_el_gamal_base.html" alt="ElGamalBase" shape="rect" coords="834,112,1241,136"/>
<area href="class_algorithm_impl.html" alt="AlgorithmImpl&lt; BASE, SCHEME_OPTIONS::AlgorithmInfo &gt;" shape="rect" coords="0,56,407,80"/>
<area href="class_d_l___key_agreement_algorithm___d_h.html" alt="DL_KeyAgreementAlgorithm_DH&lt; Integer, NoCofactorMultiplication &gt;" shape="rect" coords="417,56,824,80"/>
<area href="class_d_l___key_derivation_algorithm.html" alt="DL_KeyDerivationAlgorithm&lt; Integer &gt;" shape="rect" coords="834,56,1241,80"/>
<area href="class_d_l___symmetric_encryption_algorithm.html" title="interface for symmetric encryption algorithms used in DL cryptosystems" alt="DL_SymmetricEncryptionAlgorithm" shape="rect" coords="1251,56,1658,80"/>
<area href="class_b_a_s_e.html" alt="BASE" shape="rect" coords="0,0,407,24"/>
<area href="class_d_l___key_agreement_algorithm.html" alt="DL_KeyAgreementAlgorithm&lt; Integer &gt;" shape="rect" coords="417,0,824,24"/>
</map>
 </div></div>

<p><a href="class_el_gamal_object_impl-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6f5ed674de19651ef59f5ffca06c1d3"></a><!-- doxytag: member="ElGamalObjectImpl::SchemeOptions" ref="ac6f5ed674de19651ef59f5ffca06c1d3" args="" -->
typedef SCHEME_OPTIONS&#160;</td><td class="memItemRight" valign="bottom"><b>SchemeOptions</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab752cc22846eb3dffe4a9a16ca668e42"></a><!-- doxytag: member="ElGamalObjectImpl::Element" ref="ab752cc22846eb3dffe4a9a16ca668e42" args="" -->
typedef KEY::Element&#160;</td><td class="memItemRight" valign="bottom"><b>Element</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7826da86d51bf2074368604372f101f8"></a><!-- doxytag: member="ElGamalObjectImpl::Element" ref="a7826da86d51bf2074368604372f101f8" args="" -->
typedef <a class="el" href="class_integer.html">Integer</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Element</b></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1121364b14aad73f0e21c98945da987b"></a><!-- doxytag: member="ElGamalObjectImpl::FixedMaxPlaintextLength" ref="a1121364b14aad73f0e21c98945da987b" args="() const " -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>FixedMaxPlaintextLength</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48920f42c4fbd2daa3f1239d2e3d67ef"></a><!-- doxytag: member="ElGamalObjectImpl::FixedCiphertextLength" ref="a48920f42c4fbd2daa3f1239d2e3d67ef" args="() const " -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>FixedCiphertextLength</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d231f1f248c5101c3db33b1b323dfd9"></a><!-- doxytag: member="ElGamalObjectImpl::GetGroupParameters" ref="a2d231f1f248c5101c3db33b1b323dfd9" args="() const " -->
const <a class="el" href="class_d_l___group_parameters___g_f_p.html">DL_GroupParameters_GFP</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetGroupParameters</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa05597da937255a2685e870eceeeb35"></a><!-- doxytag: member="ElGamalObjectImpl::FixedLengthDecrypt" ref="aaa05597da937255a2685e870eceeeb35" args="(RandomNumberGenerator &amp;rng, const byte *cipherText, byte *plainText) const " -->
<a class="el" href="struct_decoding_result.html">DecodingResult</a>&#160;</td><td class="memItemRight" valign="bottom"><b>FixedLengthDecrypt</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const byte *cipherText, byte *plainText) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf6b42d2625531e2a687315ed8a6ce3f"></a><!-- doxytag: member="ElGamalObjectImpl::AccessPrivateKey" ref="acf6b42d2625531e2a687315ed8a6ce3f" args="()" -->
<a class="el" href="class_private_key.html">PrivateKey</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>AccessPrivateKey</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0752de1b25d033c60f10dec6a73a087c"></a><!-- doxytag: member="ElGamalObjectImpl::AccessPublicKey" ref="a0752de1b25d033c60f10dec6a73a087c" args="()" -->
<a class="el" href="class_public_key.html">PublicKey</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>AccessPublicKey</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c5dfaa1d89456b201a0f0431ad42e7c"></a><!-- doxytag: member="ElGamalObjectImpl::GetKey" ref="a7c5dfaa1d89456b201a0f0431ad42e7c" args="() const " -->
const KEY &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetKey</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add3080d45df60168f02e2a0a894f1bea"></a><!-- doxytag: member="ElGamalObjectImpl::AccessKey" ref="add3080d45df60168f02e2a0a894f1bea" args="()" -->
KEY &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>AccessKey</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d6e3714fc32c36789147d9f3b627eeb"></a><!-- doxytag: member="ElGamalObjectImpl::AlgorithmName" ref="a9d6e3714fc32c36789147d9f3b627eeb" args="() const" -->
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>AlgorithmName</b> () const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaeac8cd47a26c15417fe6cb30af8ae0f"></a><!-- doxytag: member="ElGamalObjectImpl::Derive" ref="aaeac8cd47a26c15417fe6cb30af8ae0f" args="(const DL_GroupParameters&lt; Integer &gt; &amp;groupParams, byte *derivedKey, size_t derivedLength, const Integer &amp;agreedElement, const Integer &amp;ephemeralPublicKey, const NameValuePairs &amp;derivationParams) const " -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>Derive</b> (const <a class="el" href="class_d_l___group_parameters.html">DL_GroupParameters</a>&lt; <a class="el" href="class_integer.html">Integer</a> &gt; &amp;groupParams, byte *derivedKey, size_t derivedLength, const <a class="el" href="class_integer.html">Integer</a> &amp;agreedElement, const <a class="el" href="class_integer.html">Integer</a> &amp;ephemeralPublicKey, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;derivationParams) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14ac7ac4ccb1d1bf5221e679ab24c28d"></a><!-- doxytag: member="ElGamalObjectImpl::GetSymmetricKeyLength" ref="a14ac7ac4ccb1d1bf5221e679ab24c28d" args="(size_t plainTextLength) const " -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetSymmetricKeyLength</b> (size_t plainTextLength) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8598d1ce1f20423ae10dd8ff80e2cfd3"></a><!-- doxytag: member="ElGamalObjectImpl::GetSymmetricCiphertextLength" ref="a8598d1ce1f20423ae10dd8ff80e2cfd3" args="(size_t plainTextLength) const " -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetSymmetricCiphertextLength</b> (size_t plainTextLength) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acab5ed17e036c9be22d3c7db612cd51e"></a><!-- doxytag: member="ElGamalObjectImpl::GetMaxSymmetricPlaintextLength" ref="acab5ed17e036c9be22d3c7db612cd51e" args="(size_t cipherTextLength) const " -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetMaxSymmetricPlaintextLength</b> (size_t cipherTextLength) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8bfe7f4e11f39c014699c755d0d8be6"></a><!-- doxytag: member="ElGamalObjectImpl::SymmetricEncrypt" ref="aa8bfe7f4e11f39c014699c755d0d8be6" args="(RandomNumberGenerator &amp;rng, const byte *key, const byte *plainText, size_t plainTextLength, byte *cipherText, const NameValuePairs &amp;parameters) const " -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>SymmetricEncrypt</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const byte *key, const byte *plainText, size_t plainTextLength, byte *cipherText, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;parameters) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab88d21d5c3d4e7400bf8083b271e2923"></a><!-- doxytag: member="ElGamalObjectImpl::SymmetricDecrypt" ref="ab88d21d5c3d4e7400bf8083b271e2923" args="(const byte *key, const byte *cipherText, size_t cipherTextLength, byte *plainText, const NameValuePairs &amp;parameters) const " -->
<a class="el" href="struct_decoding_result.html">DecodingResult</a>&#160;</td><td class="memItemRight" valign="bottom"><b>SymmetricDecrypt</b> (const byte *key, const byte *cipherText, size_t cipherTextLength, byte *plainText, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;parameters) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55279caeebb64b68b5925a77abcb336b"></a><!-- doxytag: member="ElGamalObjectImpl::AgreeWithEphemeralPrivateKey" ref="a55279caeebb64b68b5925a77abcb336b" args="(const DL_GroupParameters&lt; Element &gt; &amp;params, const DL_FixedBasePrecomputation&lt; Element &gt; &amp;publicPrecomputation, const Integer &amp;privateExponent) const" -->
Element&#160;</td><td class="memItemRight" valign="bottom"><b>AgreeWithEphemeralPrivateKey</b> (const <a class="el" href="class_d_l___group_parameters.html">DL_GroupParameters</a>&lt; Element &gt; &amp;params, const <a class="el" href="class_d_l___fixed_base_precomputation.html">DL_FixedBasePrecomputation</a>&lt; Element &gt; &amp;publicPrecomputation, const <a class="el" href="class_integer.html">Integer</a> &amp;privateExponent) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10e3e05ac2cf6158270f4a45abdd0517"></a><!-- doxytag: member="ElGamalObjectImpl::AgreeWithStaticPrivateKey" ref="a10e3e05ac2cf6158270f4a45abdd0517" args="(const DL_GroupParameters&lt; Element &gt; &amp;params, const Element &amp;publicElement, bool validateOtherPublicKey, const Integer &amp;privateExponent) const" -->
Element&#160;</td><td class="memItemRight" valign="bottom"><b>AgreeWithStaticPrivateKey</b> (const <a class="el" href="class_d_l___group_parameters.html">DL_GroupParameters</a>&lt; Element &gt; &amp;params, const Element &amp;publicElement, bool validateOtherPublicKey, const <a class="el" href="class_integer.html">Integer</a> &amp;privateExponent) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cc409b63f8d026d8671c631e354e672"></a><!-- doxytag: member="ElGamalObjectImpl::ParameterSupported" ref="a4cc409b63f8d026d8671c631e354e672" args="(const char *name) const" -->
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>ParameterSupported</b> (const char *name) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adeaf9c95829451d891ac709f147206df"></a><!-- doxytag: member="ElGamalObjectImpl::ParameterSupported" ref="adeaf9c95829451d891ac709f147206df" args="(const char *name) const " -->
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>ParameterSupported</b> (const char *name) const </td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b388176a0c4853b2a3e747c5e637b95"></a><!-- doxytag: member="ElGamalObjectImpl::StaticAlgorithmName" ref="a4b388176a0c4853b2a3e747c5e637b95" args="()" -->
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>StaticAlgorithmName</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2221e8b644e1dddd2030de59f3d09ed5"></a><!-- doxytag: member="ElGamalObjectImpl::StaticAlgorithmName" ref="a2221e8b644e1dddd2030de59f3d09ed5" args="()" -->
static const char *&#160;</td><td class="memItemRight" valign="bottom"><b>StaticAlgorithmName</b> ()</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a995dd0d1eb231599d66736308718b0"></a><!-- doxytag: member="ElGamalObjectImpl::GetKeyAgreementAlgorithm" ref="a5a995dd0d1eb231599d66736308718b0" args="() const " -->
const <a class="el" href="class_d_l___key_agreement_algorithm.html">DL_KeyAgreementAlgorithm</a><br class="typebreak"/>
&lt; <a class="el" href="class_integer.html">Integer</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetKeyAgreementAlgorithm</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5c3cc4e22d2b52585700ac4df1086c4"></a><!-- doxytag: member="ElGamalObjectImpl::GetKeyDerivationAlgorithm" ref="ac5c3cc4e22d2b52585700ac4df1086c4" args="() const " -->
const <br class="typebreak"/>
<a class="el" href="class_d_l___key_derivation_algorithm.html">DL_KeyDerivationAlgorithm</a><br class="typebreak"/>
&lt; <a class="el" href="class_integer.html">Integer</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetKeyDerivationAlgorithm</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84c2429968e74060383233fd494f1356"></a><!-- doxytag: member="ElGamalObjectImpl::GetSymmetricEncryptionAlgorithm" ref="a84c2429968e74060383233fd494f1356" args="() const " -->
const <br class="typebreak"/>
<a class="el" href="class_d_l___symmetric_encryption_algorithm.html">DL_SymmetricEncryptionAlgorithm</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetSymmetricEncryptionAlgorithm</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4e61281fd0ea2b6097915d330566c00"></a><!-- doxytag: member="ElGamalObjectImpl::AccessKeyInterface" ref="af4e61281fd0ea2b6097915d330566c00" args="()" -->
BASE::KeyInterface &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>AccessKeyInterface</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d7af27b16078118b401f04adada8977"></a><!-- doxytag: member="ElGamalObjectImpl::GetKeyInterface" ref="a0d7af27b16078118b401f04adada8977" args="() const " -->
const BASE::KeyInterface &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetKeyInterface</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9467b962b5be20e0e358aad0ade7cc18"></a><!-- doxytag: member="ElGamalObjectImpl::GetHashIdentifier" ref="a9467b962b5be20e0e358aad0ade7cc18" args="() const " -->
HashIdentifier&#160;</td><td class="memItemRight" valign="bottom"><b>GetHashIdentifier</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d0d6de472834351e262bcc1887b214f"></a><!-- doxytag: member="ElGamalObjectImpl::GetDigestSize" ref="a7d0d6de472834351e262bcc1887b214f" args="() const " -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetDigestSize</b> () const </td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class BASE, class SCHEME_OPTIONS, class KEY&gt;<br/>
class ElGamalObjectImpl&lt; BASE, SCHEME_OPTIONS, KEY &gt;</h3>


<p>Definition at line <a class="el" href="elgamal_8h_source.html#l00078">78</a> of file <a class="el" href="elgamal_8h_source.html">elgamal.h</a>.</p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="elgamal_8h_source.html">elgamal.h</a></li>
</ul>
</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>