📄 class_crypto_material.html
字号:
<tr><td class="mdescLeft"> </td><td class="mdescRight">get a pointer to this object, as a pointer to T <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="96686e9f8d6ce3ab870e516fb72b608e"></a><!-- doxytag: member="CryptoMaterial::GetValue" ref="96686e9f8d6ce3ab870e516fb72b608e" args="(const char *name, T &value) 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#96686e9f8d6ce3ab870e516fb72b608e">GetValue</a> (const char *name, T &value) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value, returns true if the name exists <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="943b2009297783f1c35bae46efc3b5f7"></a><!-- doxytag: member="CryptoMaterial::GetValueWithDefault" ref="943b2009297783f1c35bae46efc3b5f7" args="(const char *name, T defaultValue) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#943b2009297783f1c35bae46efc3b5f7">GetValueWithDefault</a> (const char *name, T defaultValue) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value, returns the default if the name doesn't exist <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13faea827ee047cd58557282806ed2e1"></a><!-- doxytag: member="CryptoMaterial::GetValueNames" ref="13faea827ee047cd58557282806ed2e1" args="() const" -->std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#13faea827ee047cd58557282806ed2e1">GetValueNames</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a list of value names that can be retrieved <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#39b6daefcabcdd07f5ae482a075e1728">GetIntValue</a> (const char *name, int &value) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value with type int <a href="#39b6daefcabcdd07f5ae482a075e1728"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ddb654b7afcd1a04422a7b4b01366d9"></a><!-- doxytag: member="CryptoMaterial::GetIntValueWithDefault" ref="7ddb654b7afcd1a04422a7b4b01366d9" args="(const char *name, int defaultValue) const" -->int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#7ddb654b7afcd1a04422a7b4b01366d9">GetIntValueWithDefault</a> (const char *name, int defaultValue) const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a named value with type int, with default <br></td></tr><tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c66048d3bc2a741712486d02e1f75d78"></a><!-- doxytag: member="CryptoMaterial::GetRequiredParameter" ref="c66048d3bc2a741712486d02e1f75d78" args="(const char *className, const char *name, T &value) const " -->template<class T> </td></tr><tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#c66048d3bc2a741712486d02e1f75d78">GetRequiredParameter</a> (const char *className, const char *name, T &value) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e6596c87ad9c2bb7f2a4d7b2194b949"></a><!-- doxytag: member="CryptoMaterial::GetRequiredIntParameter" ref="1e6596c87ad9c2bb7f2a4d7b2194b949" args="(const char *className, const char *name, int &value) const " -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#1e6596c87ad9c2bb7f2a4d7b2194b949">GetRequiredIntParameter</a> (const char *className, const char *name, int &value) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9fc3f5c4480d53b8104c67ca7958e332"></a><!-- doxytag: member="CryptoMaterial::GetVoidValue" ref="9fc3f5c4480d53b8104c67ca7958e332" args="(const char *name, const std::type_info &valueType, void *pValue) const =0" -->virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#9fc3f5c4480d53b8104c67ca7958e332">GetVoidValue</a> (const char *name, const std::type_info &valueType, void *pValue) const =0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">to be implemented by derived classes, users should use one of the above functions instead <br></td></tr><tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a50a73b1705adb00ace9463b59696fb7"></a><!-- doxytag: member="CryptoMaterial::ThrowIfTypeMismatch" ref="a50a73b1705adb00ace9463b59696fb7" args="(const char *name, const std::type_info &stored, const std::type_info &retrieving)" -->static void __cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html#a50a73b1705adb00ace9463b59696fb7">ThrowIfTypeMismatch</a> (const char *name, const std::type_info &stored, const std::type_info &retrieving)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">used by derived classes to check for type mismatch <br></td></tr><tr><td colspan="2"><br><h2>Classes</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material_1_1_invalid_material.html">InvalidMaterial</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">exception thrown when invalid crypto material is detected <a href="class_crypto_material_1_1_invalid_material.html#_details">More...</a><br></td></tr></table><hr><h2>Member Function Documentation</h2><a class="anchor" name="20181c1b39a74a9fe91385b025b773c6"></a><!-- doxytag: member="CryptoMaterial::AssignFrom" ref="20181c1b39a74a9fe91385b025b773c6" args="(const NameValuePairs &source)=0" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CryptoMaterial::AssignFrom </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> & </td> <td class="paramname"> <em>source</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table></div><div class="memdoc"><p>assign values from source to this object <p><dl class="note" compact><dt><b>Note:</b></dt><dd>This function can be used to create a public key from a private key. </dd></dl><p>Implemented in <a class="el" href="class_d_l___group_parameters___e_c.html#8fa1181ce7cf91f12ba6de286d1da5bd">DL_GroupParameters_EC< EC ></a>, <a class="el" href="class_e_s_i_g_n_function.html#1ff8229ed7786a13a69d15e5a64e4d21">ESIGNFunction</a>, <a class="el" href="class_invertible_e_s_i_g_n_function.html#ca870e350b30d04a47d452f21e903278">InvertibleESIGNFunction</a>, <a class="el" href="class_d_l___group_parameters___integer_based.html#151a76c88372bdf98c68be2ad19400e1">DL_GroupParameters_IntegerBased</a>, <a class="el" href="class_d_l___group_parameters___integer_based_impl.html#0d668d2148cf57078a93f3a5a4b4ac2a">DL_GroupParameters_IntegerBasedImpl< GROUP_PRECOMP, BASE_PRECOMP ></a>, <a class="el" href="class_l_u_c_function.html#f6a95ed660e53a5fa07841f139d43ccf">LUCFunction</a>, <a class="el" href="class_invertible_l_u_c_function.html#aaef1b335de1f76ec61079d1dfd78744">InvertibleLUCFunction</a>, <a class="el" href="class_d_l___private_key_impl.html#1f477156648ec8d3cfe18d503f47a92f">DL_PrivateKeyImpl< GP ></a>, <a class="el" href="class_d_l___public_key_impl.html#fa2dcb7fc8d0d83dd6d4563b7ba6ca41">DL_PublicKeyImpl< GP ></a>, <a class="el" href="class_rabin_function.html#e585a0d58b1b95579459c2b42eea980c">RabinFunction</a>, <a class="el" href="class_invertible_rabin_function.html#66594bb7f369e4ecc30bbe6ae62527ea">InvertibleRabinFunction</a>, <a class="el" href="class_r_s_a_function.html#d2db62b20297a8d9df55171e73fe8de7">RSAFunction</a>, <a class="el" href="class_invertible_r_s_a_function.html#871fc366191e9c5fae114c06a200c928">InvertibleRSAFunction</a>, <a class="el" href="class_r_w_function.html#99293c55c055b338bd7c783a7b8c0484">RWFunction</a>, <a class="el" href="class_invertible_r_w_function.html#56b0314b678c58228671d3c9049f86db">InvertibleRWFunction</a>, <a class="el" href="class_x_t_r___d_h.html#f2456cb49f5b36edaaef3c0cae25a775">XTR_DH</a>, <a class="el" href="class_d_l___group_parameters___integer_based_impl.html#0d668d2148cf57078a93f3a5a4b4ac2a">DL_GroupParameters_IntegerBasedImpl< DL_GroupPrecomputation_LUC, DL_BasePrecomputation_LUC ></a>, <a class="el" href="class_d_l___group_parameters___integer_based_impl.html#0d668d2148cf57078a93f3a5a4b4ac2a">DL_GroupParameters_IntegerBasedImpl< ModExpPrecomputation ></a>, <a class="el" href="class_d_l___private_key_impl.html#1f477156648ec8d3cfe18d503f47a92f">DL_PrivateKeyImpl< DL_GroupParameters_EC< EC > ></a>, and <a class="el" href="class_d_l___public_key_impl.html#fa2dcb7fc8d0d83dd6d4563b7ba6ca41">DL_PublicKeyImpl< DL_GroupParameters_EC< EC > ></a>.</div></div><p><a class="anchor" name="439743c6b4e89ca8228a12fa1ea43ab1"></a><!-- doxytag: member="CryptoMaterial::Validate" ref="439743c6b4e89ca8228a12fa1ea43ab1" args="(RandomNumberGenerator &rng, unsigned int level) const=0" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool CryptoMaterial::Validate </td> <td>(</td> <td class="paramtype"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> & </td> <td class="paramname"> <em>rng</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>level</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td> </tr> </table></div><div class="memdoc"><p>check this object for errors <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>level</em> </td><td>denotes the level of thoroughness: 0 - using this object won't cause a crash or exception (rng is ignored) 1 - this object will probably function (encrypt, sign, etc.) correctly (but may not check for weak keys and such) 2 - make sure this object will function correctly, and do reasonable security checks 3 - do checks that may take a long time </td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the tests pass </dd></dl><p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -