luc_8h-source.html

来自「Crypto++是一个非常强大的密码学库,主要是功能全」· HTML 代码 · 共 248 行 · 第 1/3 页

HTML
248
字号
00160         }00161 00162 <span class="keyword">private</span>:00163         <span class="keywordtype">int</span> GetFieldType()<span class="keyword"> const </span>{<span class="keywordflow">return</span> 2;}00164 };00165 <span class="comment"></span><a name="l00166"></a><a class="code" href="class_d_l___group_parameters___l_u_c___default_safe_prime.html">00166</a> <span class="comment">//! .</span>00167 <span class="comment"></span><span class="keyword">class </span><a class="code" href="class_d_l___group_parameters___l_u_c___default_safe_prime.html">DL_GroupParameters_LUC_DefaultSafePrime</a> : <span class="keyword">public</span> <a class="code" href="class_d_l___group_parameters___l_u_c.html">DL_GroupParameters_LUC</a>00168 {00169 <span class="keyword">public</span>:00170         <span class="keyword">typedef</span> NoCofactorMultiplication DefaultCofactorOption;00171 00172 <span class="keyword">protected</span>:00173         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetDefaultSubgroupOrderSize(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modulusSize)<span class="keyword"> const </span>{<span class="keywordflow">return</span> modulusSize-1;}00174 };00175 <span class="comment"></span><a name="l00176"></a><a class="code" href="class_d_l___algorithm___l_u_c___h_m_p.html">00176</a> <span class="comment">//! .</span>00177 <span class="comment"></span><span class="keyword">class </span><a class="code" href="class_d_l___algorithm___l_u_c___h_m_p.html">DL_Algorithm_LUC_HMP</a> : <span class="keyword">public</span> <a class="code" href="class_d_l___elgamal_like_signature_algorithm.html">DL_ElgamalLikeSignatureAlgorithm</a>&lt;Integer&gt;00178 {00179 <span class="keyword">public</span>:00180         <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"LUC-HMP"</span>;}00181 00182         <a class="code" href="class_integer.html">Integer</a> EncodeDigest(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modulusBits, <span class="keyword">const</span> byte *digest, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> digestLen)<span class="keyword"> const</span>00183 <span class="keyword">                </span>{<span class="keywordflow">return</span> DSA_EncodeDigest(modulusBits, digest, digestLen);}00184 00185         <span class="keywordtype">bool</span> Sign(<span class="keyword">const</span> <a class="code" href="class_d_l___group_parameters.html">DL_GroupParameters&lt;Integer&gt;</a> &amp;params, <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;x, <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;k, <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;e, <a class="code" href="class_integer.html">Integer</a> &amp;r, <a class="code" href="class_integer.html">Integer</a> &amp;s) <span class="keyword">const</span>;00186         <span class="keywordtype">bool</span> Verify(<span class="keyword">const</span> <a class="code" href="class_d_l___group_parameters.html">DL_GroupParameters&lt;Integer&gt;</a> &amp;params, <span class="keyword">const</span> <a class="code" href="class_d_l___public_key.html">DL_PublicKey&lt;Integer&gt;</a> &amp;publicKey, <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;e, <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;r, <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &amp;s) <span class="keyword">const</span>;00187 00188         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> RLen(<span class="keyword">const</span> <a class="code" href="class_d_l___group_parameters.html">DL_GroupParameters&lt;Integer&gt;</a> &amp;params)<span class="keyword"> const</span>00189 <span class="keyword">                </span>{<span class="keywordflow">return</span> params.<a class="code" href="class_d_l___group_parameters.html#_d_l___group_parametersa16">GetGroupOrder</a>().<a class="code" href="class_integer.html#_integerz41_3">ByteCount</a>();}00190 };00191 <span class="comment"></span><a name="l00192"></a><a class="code" href="struct_d_l___signature_keys___l_u_c.html">00192</a> <span class="comment">//! .</span>00193 <span class="comment"></span><span class="keyword">struct </span><a class="code" href="struct_d_l___signature_keys___l_u_c.html">DL_SignatureKeys_LUC</a>00194 {00195         <span class="keyword">typedef</span> <a class="code" href="class_d_l___group_parameters___l_u_c.html">DL_GroupParameters_LUC</a> <a class="code" href="class_d_l___group_parameters___l_u_c.html">GroupParameters</a>;00196         <span class="keyword">typedef</span> <a class="code" href="class_d_l___public_key___g_f_p.html">DL_PublicKey_GFP&lt;GroupParameters&gt;</a> <a class="code" href="class_d_l___public_key___g_f_p.html">PublicKey</a>;00197         <span class="keyword">typedef</span> <a class="code" href="class_d_l___private_key___g_f_p.html">DL_PrivateKey_GFP&lt;GroupParameters&gt;</a> <a class="code" href="class_d_l___private_key___g_f_p.html">PrivateKey</a>;00198 };00199 <span class="comment"></span>00200 <span class="comment">//! LUC-HMP, based on "Digital signature schemes based on Lucas functions" by Patrick Horster, Markus Michels, Holger Petersen</span><a name="l00201"></a><a class="code" href="struct_l_u_c___h_m_p.html">00201</a> <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> H&gt;00202 <span class="keyword">struct </span><a class="code" href="struct_l_u_c___h_m_p.html">LUC_HMP</a> : <span class="keyword">public</span> <a class="code" href="class_d_l___s_s_a.html">DL_SSA</a>&lt;DL_SignatureKeys_LUC, DL_Algorithm_LUC_HMP, H&gt;00203 {00204 };00205 <span class="comment"></span><a name="l00206"></a><a class="code" href="struct_d_l___crypto_keys___l_u_c.html">00206</a> <span class="comment">//! .</span>00207 <span class="comment"></span><span class="keyword">struct </span><a class="code" href="struct_d_l___crypto_keys___l_u_c.html">DL_CryptoKeys_LUC</a>00208 {00209         <span class="keyword">typedef</span> <a class="code" href="class_d_l___group_parameters___l_u_c___default_safe_prime.html">DL_GroupParameters_LUC_DefaultSafePrime</a> <a class="code" href="class_d_l___group_parameters___l_u_c___default_safe_prime.html">GroupParameters</a>;00210         <span class="keyword">typedef</span> <a class="code" href="class_d_l___public_key___g_f_p.html">DL_PublicKey_GFP&lt;GroupParameters&gt;</a> <a class="code" href="class_d_l___public_key___g_f_p.html">PublicKey</a>;00211         <span class="keyword">typedef</span> <a class="code" href="class_d_l___private_key___g_f_p.html">DL_PrivateKey_GFP&lt;GroupParameters&gt;</a> <a class="code" href="class_d_l___private_key___g_f_p.html">PrivateKey</a>;00212 };00213 <span class="comment"></span>00214 <span class="comment">//! LUC-IES</span><a name="l00215"></a><a class="code" href="struct_l_u_c___i_e_s.html">00215</a> <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> COFACTOR_OPTION = NoCofactorMultiplication, <span class="keywordtype">bool</span> DHAES_MODE = true&gt;00216 <span class="keyword">struct </span><a class="code" href="struct_l_u_c___i_e_s.html">LUC_IES</a>00217         : <span class="keyword">public</span> <a class="code" href="class_d_l___e_s.html">DL_ES</a>&lt;00218                 DL_CryptoKeys_LUC,00219                 DL_KeyAgreementAlgorithm_DH&lt;Integer, COFACTOR_OPTION&gt;,00220                 DL_KeyDerivationAlgorithm_P1363&lt;Integer, DHAES_MODE, P1363_KDF2&lt;SHA1&gt; &gt;,00221                 DL_EncryptionAlgorithm_Xor&lt;HMAC&lt;SHA1&gt;, DHAES_MODE&gt;,00222                 LUC_IES&lt;&gt; &gt;00223 {00224         <span class="keyword">static</span> std::string StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"LUC-IES"</span>;}    <span class="comment">// non-standard name</span>00225 };00226 00227 <span class="comment">// ********************************************************</span>00228 <span class="comment"></span><a name="l00229"></a><a class="code" href="luc_8h.html#a4">00229</a> <span class="comment">//! LUC-DH</span>00230 <span class="comment"></span><span class="keyword">typedef</span> <a class="code" href="class_d_h___domain.html">DH_Domain&lt;DL_GroupParameters_LUC_DefaultSafePrime&gt;</a> <a class="code" href="class_d_h___domain.html">LUC_DH</a>;00231 00232 NAMESPACE_END00233 00234 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:19 2003 for Crypto++ by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address></body></html>

⌨️ 快捷键说明

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