📄 class_crypto_material.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>Crypto++: CryptoMaterial Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.2 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul></div><h1>CryptoMaterial Class Reference</h1><!-- doxytag: class="CryptoMaterial" --><!-- doxytag: inherits="NameValuePairs" --><code>#include <<a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>></code><p><p>Inheritance diagram for CryptoMaterial:<p><center><img src="class_crypto_material.png" usemap="#CryptoMaterial_map" border="0" alt=""></center><map name="CryptoMaterial_map"><area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="1556,0,1961,24"><area href="class_generatable_crypto_material.html" alt="GeneratableCryptoMaterial" shape="rect" coords="415,112,820,136"><area href="class_public_key.html" alt="PublicKey" shape="rect" coords="2697,112,3102,136"><area href="class_crypto_parameters.html" alt="CryptoParameters" shape="rect" coords="0,168,405,192"><area href="class_private_key.html" alt="PrivateKey" shape="rect" coords="830,168,1235,192"><area href="class_a_s_n1_crypto_material.html" alt="ASN1CryptoMaterial< PublicKey >" shape="rect" coords="1660,168,2065,192"><area href="class_l_u_c_function.html" alt="LUCFunction" shape="rect" coords="2490,168,2895,192"><area href="class_rabin_function.html" alt="RabinFunction" shape="rect" coords="2905,168,3310,192"><area href="class_r_w_function.html" alt="RWFunction" shape="rect" coords="3320,168,3725,192"><area href="class_d_l___group_parameters.html" alt="DL_GroupParameters< T >" shape="rect" coords="415,224,820,248"><area href="class_d_l___group_parameters.html" alt="DL_GroupParameters< Integer >" shape="rect" coords="415,280,820,304"><area href="class_d_l___group_parameters.html" alt="DL_GroupParameters< typenameEcPrecomputation< EC >::Element >" shape="rect" coords="415,336,820,360"><area href="class_x_t_r___d_h.html" alt="XTR_DH" shape="rect" coords="415,392,820,416"><area href="class_a_s_n1_crypto_material.html" alt="ASN1CryptoMaterial< PrivateKey >" shape="rect" coords="1245,224,1650,248"><area href="class_invertible_e_s_i_g_n_function.html" alt="InvertibleESIGNFunction" shape="rect" coords="1245,280,1650,304"><area href="class_invertible_l_u_c_function.html" alt="InvertibleLUCFunction" shape="rect" coords="1245,336,1650,360"><area href="class_invertible_rabin_function.html" alt="InvertibleRabinFunction" shape="rect" coords="1245,392,1650,416"><area href="class_invertible_r_w_function.html" alt="InvertibleRWFunction" shape="rect" coords="1245,448,1650,472"><area href="class_e_s_i_g_n_function.html" alt="ESIGNFunction" shape="rect" coords="2075,224,2480,248"><area href="class_x509_public_key.html" alt="X509PublicKey" shape="rect" coords="2075,280,2480,304"><area href="class_invertible_l_u_c_function.html" alt="InvertibleLUCFunction" shape="rect" coords="2490,224,2895,248"><area href="class_invertible_rabin_function.html" alt="InvertibleRabinFunction" shape="rect" coords="2905,224,3310,248"><area href="class_invertible_r_w_function.html" alt="InvertibleRWFunction" shape="rect" coords="3320,224,3725,248"></map><a href="class_crypto_material-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>interface for crypto material, such as public and private keys, and crypto parameters <p><p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00988">988</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.<table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#20181c1b39a74a9fe91385b025b773c6">AssignFrom</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &source)=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">assign values from source to this object <a href="#20181c1b39a74a9fe91385b025b773c6"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#439743c6b4e89ca8228a12fa1ea43ab1">Validate</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, unsigned int level) const=0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">check this object for errors <a href="#439743c6b4e89ca8228a12fa1ea43ab1"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="edb65ba5323f7bb41fc57973566d20cd"></a><!-- doxytag: member="CryptoMaterial::ThrowIfInvalid" ref="edb65ba5323f7bb41fc57973566d20cd" args="(RandomNumberGenerator &rng, unsigned int level) const" -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#edb65ba5323f7bb41fc57973566d20cd">ThrowIfInvalid</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, unsigned int level) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">throws <a class="el" href="class_crypto_material_1_1_invalid_material.html" title="exception thrown when invalid crypto material is detected">InvalidMaterial</a> if this object fails <a class="el" href="class_crypto_material.html#439743c6b4e89ca8228a12fa1ea43ab1" title="check this object for errors">Validate()</a> test <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="690c7ce3e765a502b29b47a08c1a4e7b"></a><!-- doxytag: member="CryptoMaterial::Save" ref="690c7ce3e765a502b29b47a08c1a4e7b" args="(BufferedTransformation &bt) const " -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#690c7ce3e765a502b29b47a08c1a4e7b">Save</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">save key into a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#e7a94de4c3d3822070db5babbdf8b113">Load</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">load key from a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> <a href="#e7a94de4c3d3822070db5babbdf8b113"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35720c07870fcda4ae39148f8524274e"></a><!-- doxytag: member="CryptoMaterial::SupportsPrecomputation" ref="35720c07870fcda4ae39148f8524274e" args="() const" -->virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#35720c07870fcda4ae39148f8524274e">SupportsPrecomputation</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight"><dl class="return" compact><dt><b>Returns:</b></dt><dd>whether this object supports precomputation </dd></dl><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#39e512d2ea70d0e967db98c19994a7fd">Precompute</a> (unsigned int n)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">do precomputation <a href="#39e512d2ea70d0e967db98c19994a7fd"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2911ebd9a28efa43dab71e5c12e2c90d"></a><!-- doxytag: member="CryptoMaterial::LoadPrecomputation" ref="2911ebd9a28efa43dab71e5c12e2c90d" args="(BufferedTransformation &storedPrecomputation)" -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#2911ebd9a28efa43dab71e5c12e2c90d">LoadPrecomputation</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &storedPrecomputation)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve previously saved precomputation <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="839d0f7f3e256b625caf6fd792925ad4"></a><!-- doxytag: member="CryptoMaterial::SavePrecomputation" ref="839d0f7f3e256b625caf6fd792925ad4" args="(BufferedTransformation &storedPrecomputation) const " -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#839d0f7f3e256b625caf6fd792925ad4">SavePrecomputation</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &storedPrecomputation) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">save precomputation for later use <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1da44802c5cf00946043922cb9e7e6e"></a><!-- doxytag: member="CryptoMaterial::DoQuickSanityCheck" ref="a1da44802c5cf00946043922cb9e7e6e" args="() const" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#a1da44802c5cf00946043922cb9e7e6e">DoQuickSanityCheck</a> () const</td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="16d9f1685fbb1be3f29a22dbba911142"></a><!-- doxytag: member="CryptoMaterial::GetThisObject" ref="16d9f1685fbb1be3f29a22dbba911142" args="(T &object) const" -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#16d9f1685fbb1be3f29a22dbba911142">GetThisObject</a> (T &object) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a copy of this object or a subobject of it <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="01c64a1e0a5f667898b4c1968a853c0f"></a><!-- doxytag: member="CryptoMaterial::GetThisPointer" ref="01c64a1e0a5f667898b4c1968a853c0f" args="(T *&p) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#01c64a1e0a5f667898b4c1968a853c0f">GetThisPointer</a> (T *&p) const </td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -