<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crypto++: AsymmetricAlgorithm class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.7 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> <h1>AsymmetricAlgorithm Class Reference</h1><code>#include <<a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>></code> <p> <p>Inheritance diagram for AsymmetricAlgorithm: <p><center><img src="class_asymmetric_algorithm.png" usemap="#AsymmetricAlgorithm_map" border="0" alt=""></center> <map name="AsymmetricAlgorithm_map"> <area href="class_algorithm.html" alt="Algorithm" shape="rect" coords="3905,56,4676,80"> <area href="class_clonable.html" alt="Clonable" shape="rect" coords="3905,0,4676,24"> <area href="class_key_agreement_algorithm.html" alt="KeyAgreementAlgorithm" shape="rect" coords="781,168,1552,192"> <area href="class_private_key_algorithm.html" alt="PrivateKeyAlgorithm" shape="rect" coords="3905,168,4676,192"> <area href="class_public_key_algorithm.html" alt="PublicKeyAlgorithm" shape="rect" coords="7029,168,7800,192"> <area href="class_authenticated_key_agreement_domain.html" alt="AuthenticatedKeyAgreementDomain" shape="rect" coords="0,224,771,248"> <area href="class_simple_key_agreement_domain.html" alt="SimpleKeyAgreementDomain" shape="rect" coords="1562,224,2333,248"> <area href="class_p_k___decryptor.html" alt="PK_Decryptor" shape="rect" coords="3124,224,3895,248"> <area href="class_p_k___signer.html" alt="PK_Signer" shape="rect" coords="4686,224,5457,248"> <area href="class_p_k___encryptor.html" alt="PK_Encryptor" shape="rect" coords="6248,224,7019,248"> <area href="class_p_k___verifier.html" alt="PK_Verifier" shape="rect" coords="7810,224,8581,248"> <area href="class_d_h2.html" alt="DH2" shape="rect" coords="781,280,1552,304"> <area href="class_m_q_v___domain.html" alt="MQV_Domain< GROUP_PARAMETERS, COFACTOR_OPTION >" shape="rect" coords="781,336,1552,360"> <area href="class_d_l___simple_key_agreement_domain_base.html" alt="DL_SimpleKeyAgreementDomainBase< T >" shape="rect" coords="2343,280,3114,304"> <area href="class_d_l___simple_key_agreement_domain_base.html" alt="DL_SimpleKeyAgreementDomainBase< GROUP_PARAMETERS::Element >" shape="rect" coords="2343,336,3114,360"> <area href="class_x_t_r___d_h.html" alt="XTR_DH" shape="rect" coords="2343,392,3114,416"> <area href="class_d_l___crypto_system_base.html" alt="DL_CryptoSystemBase< PK_Decryptor, DL_PrivateKey< SCHEME_OPTIONS::Element > >" shape="rect" coords="3905,280,4676,304"> <area href="class_d_l___crypto_system_base.html" alt="DL_CryptoSystemBase< PK_Decryptor, DL_PrivateKey< T > >" shape="rect" coords="3905,336,4676,360"> <area href="class_p_k___fixed_length_crypto_system_impl.html" alt="PK_FixedLengthCryptoSystemImpl< PK_Decryptor >" shape="rect" coords="3905,392,4676,416"> <area href="class_d_l___signature_scheme_base.html" alt="DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< SCHEME_OPTIONS::Element > >" shape="rect" coords="5467,280,6238,304"> <area href="class_d_l___signature_scheme_base.html" alt="DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< T > >" shape="rect" coords="5467,336,6238,360"> <area href="class_t_f___signature_scheme_base.html" alt="TF_SignatureSchemeBase< PK_Signer, TF_Base< RandomizedTrapdoorFunctionInverse, PK_SignatureMessageEncodingMethod > >" shape="rect" coords="5467,392,6238,416"> <area href="class_d_l___crypto_system_base.html" alt="DL_CryptoSystemBase< PK_Encryptor, DL_PublicKey< SCHEME_OPTIONS::Element > >" shape="rect" coords="7029,280,7800,304"> <area href="class_d_l___crypto_system_base.html" alt="DL_CryptoSystemBase< PK_Encryptor, DL_PublicKey< T > >" shape="rect" coords="7029,336,7800,360"> <area href="class_p_k___fixed_length_crypto_system_impl.html" alt="PK_FixedLengthCryptoSystemImpl< PK_Encryptor >" shape="rect" coords="7029,392,7800,416"> <area href="class_d_l___signature_scheme_base.html" alt="DL_SignatureSchemeBase< PK_Verifier, DL_PublicKey< SCHEME_OPTIONS::Element > >" shape="rect" coords="8591,280,9362,304"> <area href="class_d_l___signature_scheme_base.html" alt="DL_SignatureSchemeBase< PK_Verifier, DL_PublicKey< T > >" shape="rect" coords="8591,336,9362,360"> <area href="class_t_f___signature_scheme_base.html" alt="TF_SignatureSchemeBase< PK_Verifier, TF_Base< TrapdoorFunction, PK_SignatureMessageEncodingMethod > >" shape="rect" coords="8591,392,9362,416"> </map> <a href="class_asymmetric_algorithm-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> interface for asymmetric algorithms <p> <p> Definition at line <a class="el" href="cryptlib_8h-source.html#l01051">1051</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.<table border=0 cellpadding=0 cellspacing=0> <tr><td></td></tr> <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_asymmetric_algorithma0" doxytag="AsymmetricAlgorithm::AccessMaterial" ></a> virtual <a class="el" href="class_crypto_material.html">CryptoMaterial</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="class_asymmetric_algorithm.html#_asymmetric_algorithma0">AccessMaterial</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns a reference to the crypto material used by this object <br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_asymmetric_algorithma1" doxytag="AsymmetricAlgorithm::GetMaterial" ></a> virtual const <a class="el" href="class_crypto_material.html">CryptoMaterial</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="class_asymmetric_algorithm.html#_asymmetric_algorithma1">GetMaterial</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns a const reference to the crypto material used by this object <br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_x_t_r___d_ha24" doxytag="AsymmetricAlgorithm::BERDecode" ></a> void </td><td class="memItemRight" valign=bottom><a class="el" href="class_asymmetric_algorithm.html#_x_t_r___d_ha24">BERDecode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">for backwards compatibility, calls <a class="el" href="class_asymmetric_algorithm.html#_asymmetric_algorithma0">AccessMaterial()</a>.Load(bt) <br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_two_bases_3_01_t_f___verifier_base_00_01_public_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a21" doxytag="AsymmetricAlgorithm::DEREncode" ></a> void </td><td class="memItemRight" valign=bottom><a class="el" href="class_asymmetric_algorithm.html#_two_bases_3_01_t_f___verifier_base_00_01_public_key_copier_3_01_s_c_h_e_m_e___o_p_t_i_o_n_s_1_1_keys_01_4_01_4a21">DEREncode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">for backwards compatibility, calls GetMaterial().Save(bt) <br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_zlib_decompressora17" doxytag="AsymmetricAlgorithm::AlgorithmName" ></a> virtual std::string </td><td class="memItemRight" valign=bottom><a class="el" href="class_algorithm.html#_zlib_decompressora17">AlgorithmName</a> () const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns name of this algorithm, not universally implemented yet <br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_zlib_decompressora18" doxytag="AsymmetricAlgorithm::Clone" ></a> virtual <a class="el" href="class_clonable.html">Clonable</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="class_clonable.html#_zlib_decompressora18">Clone</a> () const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">this is not implemented by most classes yet <br><br></td></tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="cryptlib_8h-source.html">cryptlib.h</a></ul> <hr size="1"><address style="align: right;"><small>Generated on Sun Nov 7 08:24:01 2004 for Crypto++ by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address> </body> </html>