📄 class_invertible_l_u_c_function.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++: InvertibleLUCFunction 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>InvertibleLUCFunction Class Reference</h1><!-- doxytag: class="InvertibleLUCFunction" --><!-- doxytag: inherits="LUCFunction,TrapdoorFunctionInverse,PrivateKey" --><code>#include <<a class="el" href="luc_8h-source.html">luc.h</a>></code><p><p>Inheritance diagram for InvertibleLUCFunction:<p><center><img src="class_invertible_l_u_c_function.png" usemap="#InvertibleLUCFunction_map" border="0" alt=""></center><map name="InvertibleLUCFunction_map"><area href="class_l_u_c_function.html" alt="LUCFunction" shape="rect" coords="116,168,339,192"><area href="class_trapdoor_function_inverse.html" alt="TrapdoorFunctionInverse" shape="rect" coords="466,168,689,192"><area href="class_private_key.html" alt="PrivateKey" shape="rect" coords="699,168,922,192"><area href="class_trapdoor_function.html" alt="TrapdoorFunction" shape="rect" coords="0,112,223,136"><area href="class_public_key.html" alt="PublicKey" shape="rect" coords="233,112,456,136"><area href="class_randomized_trapdoor_function_inverse.html" alt="RandomizedTrapdoorFunctionInverse" shape="rect" coords="466,112,689,136"><area href="class_generatable_crypto_material.html" alt="GeneratableCryptoMaterial" shape="rect" coords="699,112,922,136"><area href="class_randomized_trapdoor_function.html" alt="RandomizedTrapdoorFunction" shape="rect" coords="0,56,223,80"><area href="class_crypto_material.html" alt="CryptoMaterial" shape="rect" coords="233,56,456,80"><area href="class_crypto_material.html" alt="CryptoMaterial" shape="rect" coords="699,56,922,80"><area href="class_trapdoor_function_bounds.html" alt="TrapdoorFunctionBounds" shape="rect" coords="0,0,223,24"><area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="233,0,456,24"><area href="class_name_value_pairs.html" alt="NameValuePairs" shape="rect" coords="699,0,922,24"></map><a href="class_invertible_l_u_c_function-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>_ <p><p>Definition at line <a class="el" href="luc_8h-source.html#l00053">53</a> of file <a class="el" href="luc_8h-source.html">luc.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="ed7fd0c49f5703c4f041d2f265fa2de8"></a><!-- doxytag: member="InvertibleLUCFunction::Initialize" ref="ed7fd0c49f5703c4f041d2f265fa2de8" args="(RandomNumberGenerator &rng, unsigned int modulusBits, const Integer &eStart=17)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#ed7fd0c49f5703c4f041d2f265fa2de8">Initialize</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, unsigned int modulusBits, const <a class="el" href="class_integer.html">Integer</a> &eStart=17)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e44c5b8fbd909c18d5422436c14a505"></a><!-- doxytag: member="InvertibleLUCFunction::Initialize" ref="9e44c5b8fbd909c18d5422436c14a505" args="(const Integer &n, const Integer &e, const Integer &p, const Integer &q, const Integer &u)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#9e44c5b8fbd909c18d5422436c14a505">Initialize</a> (const <a class="el" href="class_integer.html">Integer</a> &n, const <a class="el" href="class_integer.html">Integer</a> &e, const <a class="el" href="class_integer.html">Integer</a> &p, const <a class="el" href="class_integer.html">Integer</a> &q, const <a class="el" href="class_integer.html">Integer</a> &u)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13ccaed129529b72b293c93e83ad726f"></a><!-- doxytag: member="InvertibleLUCFunction::BERDecode" ref="13ccaed129529b72b293c93e83ad726f" args="(BufferedTransformation &bt)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#13ccaed129529b72b293c93e83ad726f">BERDecode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e6da11b6ee13f6c12fd95592bdda95ad"></a><!-- doxytag: member="InvertibleLUCFunction::DEREncode" ref="e6da11b6ee13f6c12fd95592bdda95ad" args="(BufferedTransformation &bt) const " -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#e6da11b6ee13f6c12fd95592bdda95ad">DEREncode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b8820769716f340ad154a428b53907e"></a><!-- doxytag: member="InvertibleLUCFunction::CalculateInverse" ref="0b8820769716f340ad154a428b53907e" args="(RandomNumberGenerator &rng, const Integer &x) const " --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#0b8820769716f340ad154a428b53907e">CalculateInverse</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const <a class="el" href="class_integer.html">Integer</a> &x) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#b5c7b3d5b5d0b9509f8180a43370533b">Validate</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">check this object for errors <a href="#b5c7b3d5b5d0b9509f8180a43370533b"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="882c26c94e15ecb1added6f3fafae021"></a><!-- doxytag: member="InvertibleLUCFunction::GetVoidValue" ref="882c26c94e15ecb1added6f3fafae021" args="(const char *name, const std::type_info &valueType, void *pValue) const " -->bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#882c26c94e15ecb1added6f3fafae021">GetVoidValue</a> (const char *name, const std::type_info &valueType, void *pValue) const </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 class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#aaef1b335de1f76ec61079d1dfd78744">AssignFrom</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &source)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">assign values from source to this object <a href="#aaef1b335de1f76ec61079d1dfd78744"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#f846ecc0f5e8d17267544920bc39f233">GenerateRandom</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &alg)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="40576b8bde24017e158371132716ba6f"></a><!-- doxytag: member="InvertibleLUCFunction::GetPrime1" ref="40576b8bde24017e158371132716ba6f" args="() const" -->const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#40576b8bde24017e158371132716ba6f">GetPrime1</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e9a6b2033c92d98e85a9328dd7edabbb"></a><!-- doxytag: member="InvertibleLUCFunction::GetPrime2" ref="e9a6b2033c92d98e85a9328dd7edabbb" args="() const" -->const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#e9a6b2033c92d98e85a9328dd7edabbb">GetPrime2</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6d6802e807d74ee4b2219f0f69e8b316"></a><!-- doxytag: member="InvertibleLUCFunction::GetMultiplicativeInverseOfPrime2ModPrime1" ref="6d6802e807d74ee4b2219f0f69e8b316" args="() const" -->const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#6d6802e807d74ee4b2219f0f69e8b316">GetMultiplicativeInverseOfPrime2ModPrime1</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98b3037426c19d022934cea5a93ba3be"></a><!-- doxytag: member="InvertibleLUCFunction::SetPrime1" ref="98b3037426c19d022934cea5a93ba3be" args="(const Integer &p)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#98b3037426c19d022934cea5a93ba3be">SetPrime1</a> (const <a class="el" href="class_integer.html">Integer</a> &p)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f70680742bda980a7c2f72d83a0b76fa"></a><!-- doxytag: member="InvertibleLUCFunction::SetPrime2" ref="f70680742bda980a7c2f72d83a0b76fa" args="(const Integer &q)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#f70680742bda980a7c2f72d83a0b76fa">SetPrime2</a> (const <a class="el" href="class_integer.html">Integer</a> &q)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e0590ceaebd839e8e1badd0d6f60a33a"></a><!-- doxytag: member="InvertibleLUCFunction::SetMultiplicativeInverseOfPrime2ModPrime1" ref="e0590ceaebd839e8e1badd0d6f60a33a" args="(const Integer &u)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_l_u_c_function.html#e0590ceaebd839e8e1badd0d6f60a33a">SetMultiplicativeInverseOfPrime2ModPrime1</a> (const <a class="el" href="class_integer.html">Integer</a> &u)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d8eb9d2acd130a768326200e3c6ac40"></a><!-- doxytag: member="InvertibleLUCFunction::Initialize" ref="5d8eb9d2acd130a768326200e3c6ac40" args="(const Integer &n, const Integer &e)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_l_u_c_function.html#5d8eb9d2acd130a768326200e3c6ac40">Initialize</a> (const <a class="el" href="class_integer.html">Integer</a> &n, const <a class="el" href="class_integer.html">Integer</a> &e)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="375548f2d3cadcc98bc09559feb0c637"></a><!-- doxytag: member="InvertibleLUCFunction::ApplyFunction" ref="375548f2d3cadcc98bc09559feb0c637" args="(const Integer &x) const " --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_l_u_c_function.html#375548f2d3cadcc98bc09559feb0c637">ApplyFunction</a> (const <a class="el" href="class_integer.html">Integer</a> &x) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1497f939adba34c6370c8a17f9389f68"></a><!-- doxytag: member="InvertibleLUCFunction::PreimageBound" ref="1497f939adba34c6370c8a17f9389f68" args="() const" --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_l_u_c_function.html#1497f939adba34c6370c8a17f9389f68">PreimageBound</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e80bec9ec3f76dbdb248aeef19777ef9"></a><!-- doxytag: member="InvertibleLUCFunction::ImageBound" ref="e80bec9ec3f76dbdb248aeef19777ef9" args="() const" --><a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_l_u_c_function.html#e80bec9ec3f76dbdb248aeef19777ef9">ImageBound</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="efaa2b4edac9236ef2f2fecb0d7801f0"></a><!-- doxytag: member="InvertibleLUCFunction::GetModulus" ref="efaa2b4edac9236ef2f2fecb0d7801f0" args="() const" -->const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_l_u_c_function.html#efaa2b4edac9236ef2f2fecb0d7801f0">GetModulus</a> () const</td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -