⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class_invertible_r_w_function.html

📁 著名的密码库Crypto++的文档 C++语言的杰作。程序员必备。
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!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++: InvertibleRWFunction 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&nbsp;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&nbsp;List</span></a></li>    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>  </ul></div><h1>InvertibleRWFunction Class Reference</h1><!-- doxytag: class="InvertibleRWFunction" --><!-- doxytag: inherits="RWFunction,TrapdoorFunctionInverse,PrivateKey" --><code>#include &lt;<a class="el" href="rw_8h-source.html">rw.h</a>&gt;</code><p><p>Inheritance diagram for InvertibleRWFunction:<p><center><img src="class_invertible_r_w_function.png" usemap="#InvertibleRWFunction_map" border="0" alt=""></center><map name="InvertibleRWFunction_map"><area href="class_r_w_function.html" alt="RWFunction" 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_r_w_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="rw_8h-source.html#l00041">41</a> of file <a class="el" href="rw_8h-source.html">rw.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="6087d4bf788bd6beab89699eb7069b86"></a><!-- doxytag: member="InvertibleRWFunction::Initialize" ref="6087d4bf788bd6beab89699eb7069b86" args="(const Integer &amp;n, const Integer &amp;p, const Integer &amp;q, const Integer &amp;u)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#6087d4bf788bd6beab89699eb7069b86">Initialize</a> (const <a class="el" href="class_integer.html">Integer</a> &amp;n, const <a class="el" href="class_integer.html">Integer</a> &amp;p, const <a class="el" href="class_integer.html">Integer</a> &amp;q, const <a class="el" href="class_integer.html">Integer</a> &amp;u)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6489b68e2d321e3844b85060ba42f90c"></a><!-- doxytag: member="InvertibleRWFunction::Initialize" ref="6489b68e2d321e3844b85060ba42f90c" args="(RandomNumberGenerator &amp;rng, unsigned int modulusBits)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#6489b68e2d321e3844b85060ba42f90c">Initialize</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, unsigned int modulusBits)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85e6ad506b653b4511bfd14d06aa95b5"></a><!-- doxytag: member="InvertibleRWFunction::BERDecode" ref="85e6ad506b653b4511bfd14d06aa95b5" args="(BufferedTransformation &amp;bt)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#85e6ad506b653b4511bfd14d06aa95b5">BERDecode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a487d8ccbcb409066776ef48721b037a"></a><!-- doxytag: member="InvertibleRWFunction::DEREncode" ref="a487d8ccbcb409066776ef48721b037a" args="(BufferedTransformation &amp;bt) const " -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#a487d8ccbcb409066776ef48721b037a">DEREncode</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e72e7da96f9dc18c80e84bb510aab377"></a><!-- doxytag: member="InvertibleRWFunction::CalculateInverse" ref="e72e7da96f9dc18c80e84bb510aab377" args="(RandomNumberGenerator &amp;rng, const Integer &amp;x) const " --><a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#e72e7da96f9dc18c80e84bb510aab377">CalculateInverse</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const <a class="el" href="class_integer.html">Integer</a> &amp;x) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#1c3858f76fdd2c48bcac7346d75b8c9e">Validate</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, unsigned int level) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">check this object for errors  <a href="#1c3858f76fdd2c48bcac7346d75b8c9e"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd17ed1b135d340abc325046eebef6ac"></a><!-- doxytag: member="InvertibleRWFunction::GetVoidValue" ref="bd17ed1b135d340abc325046eebef6ac" args="(const char *name, const std::type_info &amp;valueType, void *pValue) const " -->bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#bd17ed1b135d340abc325046eebef6ac">GetVoidValue</a> (const char *name, const std::type_info &amp;valueType, void *pValue) const </td></tr><tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#56b0314b678c58228671d3c9049f86db">AssignFrom</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;source)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign values from source to this object  <a href="#56b0314b678c58228671d3c9049f86db"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#8953bb59727e0ae2d79071874a793c48">GenerateRandom</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;alg)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f283d5f1aad6946c910073fa2eb7dc6"></a><!-- doxytag: member="InvertibleRWFunction::GetPrime1" ref="5f283d5f1aad6946c910073fa2eb7dc6" args="() const" -->const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#5f283d5f1aad6946c910073fa2eb7dc6">GetPrime1</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82cd8d7828be9ff785291ac3ea9690b4"></a><!-- doxytag: member="InvertibleRWFunction::GetPrime2" ref="82cd8d7828be9ff785291ac3ea9690b4" args="() const" -->const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#82cd8d7828be9ff785291ac3ea9690b4">GetPrime2</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18af827a16a5bad9990f1b0e4bd052e8"></a><!-- doxytag: member="InvertibleRWFunction::GetMultiplicativeInverseOfPrime2ModPrime1" ref="18af827a16a5bad9990f1b0e4bd052e8" args="() const" -->const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#18af827a16a5bad9990f1b0e4bd052e8">GetMultiplicativeInverseOfPrime2ModPrime1</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e390e6bd4701da66947fc2ae65e4598"></a><!-- doxytag: member="InvertibleRWFunction::SetPrime1" ref="5e390e6bd4701da66947fc2ae65e4598" args="(const Integer &amp;p)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#5e390e6bd4701da66947fc2ae65e4598">SetPrime1</a> (const <a class="el" href="class_integer.html">Integer</a> &amp;p)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="370b4bc09e8465fe5c1db848b851653f"></a><!-- doxytag: member="InvertibleRWFunction::SetPrime2" ref="370b4bc09e8465fe5c1db848b851653f" args="(const Integer &amp;q)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#370b4bc09e8465fe5c1db848b851653f">SetPrime2</a> (const <a class="el" href="class_integer.html">Integer</a> &amp;q)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="da25441d1383a4c1f838cc670b1d0188"></a><!-- doxytag: member="InvertibleRWFunction::SetMultiplicativeInverseOfPrime2ModPrime1" ref="da25441d1383a4c1f838cc670b1d0188" args="(const Integer &amp;u)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invertible_r_w_function.html#da25441d1383a4c1f838cc670b1d0188">SetMultiplicativeInverseOfPrime2ModPrime1</a> (const <a class="el" href="class_integer.html">Integer</a> &amp;u)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="614204219fea42197352b8456ef0b7c5"></a><!-- doxytag: member="InvertibleRWFunction::Initialize" ref="614204219fea42197352b8456ef0b7c5" args="(const Integer &amp;n)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_w_function.html#614204219fea42197352b8456ef0b7c5">Initialize</a> (const <a class="el" href="class_integer.html">Integer</a> &amp;n)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cddf9a5cb9d37ab07a1535f644cdac19"></a><!-- doxytag: member="InvertibleRWFunction::ApplyFunction" ref="cddf9a5cb9d37ab07a1535f644cdac19" args="(const Integer &amp;x) const " --><a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_w_function.html#cddf9a5cb9d37ab07a1535f644cdac19">ApplyFunction</a> (const <a class="el" href="class_integer.html">Integer</a> &amp;x) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3133e8d2cbbf5c44925c088fa30f2157"></a><!-- doxytag: member="InvertibleRWFunction::PreimageBound" ref="3133e8d2cbbf5c44925c088fa30f2157" args="() const" --><a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_w_function.html#3133e8d2cbbf5c44925c088fa30f2157">PreimageBound</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="53ac54d4f007c7eddd2b4c771c16b0ea"></a><!-- doxytag: member="InvertibleRWFunction::ImageBound" ref="53ac54d4f007c7eddd2b4c771c16b0ea" args="() const" --><a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_w_function.html#53ac54d4f007c7eddd2b4c771c16b0ea">ImageBound</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1476f3beb5848f37216f67778df3eb6e"></a><!-- doxytag: member="InvertibleRWFunction::GetModulus" ref="1476f3beb5848f37216f67778df3eb6e" args="() const" -->const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_w_function.html#1476f3beb5848f37216f67778df3eb6e">GetModulus</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5df5efb3885c607ca331929be9938546"></a><!-- doxytag: member="InvertibleRWFunction::SetModulus" ref="5df5efb3885c607ca331929be9938546" args="(const Integer &amp;n)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_w_function.html#5df5efb3885c607ca331929be9938546">SetModulus</a> (const <a class="el" href="class_integer.html">Integer</a> &amp;n)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="132d71605a286f12b5167a0c3f18ffdf"></a><!-- doxytag: member="InvertibleRWFunction::ApplyRandomizedFunction" ref="132d71605a286f12b5167a0c3f18ffdf" args="(RandomNumberGenerator &amp;rng, const Integer &amp;x) const " --><a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_trapdoor_function.html#132d71605a286f12b5167a0c3f18ffdf">ApplyRandomizedFunction</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const <a class="el" href="class_integer.html">Integer</a> &amp;x) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="253eb5db8020326f869a4580e21bf5d8"></a><!-- doxytag: member="InvertibleRWFunction::IsRandomized" ref="253eb5db8020326f869a4580e21bf5d8" args="() const" -->bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_trapdoor_function.html#253eb5db8020326f869a4580e21bf5d8">IsRandomized</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b85b47c9c3df4cf1030eff786ab11d5b"></a><!-- doxytag: member="InvertibleRWFunction::MaxPreimage" ref="b85b47c9c3df4cf1030eff786ab11d5b" args="() const" -->virtual <a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_trapdoor_function_bounds.html#b85b47c9c3df4cf1030eff786ab11d5b">MaxPreimage</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b505cf1a3494645998e7e0872b76a72"></a><!-- doxytag: member="InvertibleRWFunction::MaxImage" ref="9b505cf1a3494645998e7e0872b76a72" args="() const" -->virtual <a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_trapdoor_function_bounds.html#9b505cf1a3494645998e7e0872b76a72">MaxImage</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="edb65ba5323f7bb41fc57973566d20cd"></a><!-- doxytag: member="InvertibleRWFunction::ThrowIfInvalid" ref="edb65ba5323f7bb41fc57973566d20cd" args="(RandomNumberGenerator &amp;rng, unsigned int level) const" -->virtual void&nbsp;</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> &amp;rng, unsigned int level) const</td></tr><tr><td class="mdescLeft">&nbsp;</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="InvertibleRWFunction::Save" ref="690c7ce3e765a502b29b47a08c1a4e7b" args="(BufferedTransformation &amp;bt) const " -->virtual void&nbsp;</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> &amp;bt) const </td></tr><tr><td class="mdescLeft">&nbsp;</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&nbsp;</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> &amp;bt)</td></tr><tr><td class="mdescLeft">&nbsp;</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="InvertibleRWFunction::SupportsPrecomputation" ref="35720c07870fcda4ae39148f8524274e" args="() const" -->virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#35720c07870fcda4ae39148f8524274e">SupportsPrecomputation</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html#39e512d2ea70d0e967db98c19994a7fd">Precompute</a> (unsigned int n)</td></tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -