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

📄 gfpcrypt_8h-source.html

📁 著名的密码库Crypto++的文档 C++语言的杰作。程序员必备。
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00264"></a>00264 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> BASE&gt;<a name="l00265"></a><a class="code" href="class_d_l___public_key___g_f_p___old_format.html">00265</a> <span class="keyword">class </span><a class="code" href="class_d_l___public_key___g_f_p___old_format.html" title="provided for backwards compatibility, this class uses the old non-standard Crypto++...">DL_PublicKey_GFP_OldFormat</a> : <span class="keyword">public</span> BASE<a name="l00266"></a>00266 {<a name="l00267"></a>00267 <span class="keyword">public</span>:<a name="l00268"></a><a class="code" href="class_d_l___public_key___g_f_p___old_format.html#5c686ed241fe4eb62651fc3a02adf5ea">00268</a>         <span class="keywordtype">void</span> <a class="code" href="class_d_l___public_key___g_f_p___old_format.html#5c686ed241fe4eb62651fc3a02adf5ea">BERDecode</a>(<a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;bt)<a name="l00269"></a>00269         {<a name="l00270"></a>00270                 <a class="code" href="class_b_e_r_sequence_decoder.html" title="BER Sequence Decoder.">BERSequenceDecoder</a> seq(bt);<a name="l00271"></a>00271                         <a class="code" href="class_integer.html" title="multiple precision integer and basic arithmetics">Integer</a> v1(seq);<a name="l00272"></a>00272                         <a class="code" href="class_integer.html" title="multiple precision integer and basic arithmetics">Integer</a> v2(seq);<a name="l00273"></a>00273                         <a class="code" href="class_integer.html" title="multiple precision integer and basic arithmetics">Integer</a> v3(seq);<a name="l00274"></a>00274 <a name="l00275"></a>00275                         <span class="keywordflow">if</span> (seq.<a class="code" href="class_b_e_r_general_decoder.html#04f4fe90e88584b1cebffd32e149bfbc">EndReached</a>())<a name="l00276"></a>00276                         {<a name="l00277"></a>00277                                 this-&gt;AccessGroupParameters().Initialize(v1, v1/2, v2);<a name="l00278"></a>00278                                 this-&gt;SetPublicElement(v3);<a name="l00279"></a>00279                         }<a name="l00280"></a>00280                         <span class="keywordflow">else</span><a name="l00281"></a>00281                         {<a name="l00282"></a>00282                                 <a class="code" href="class_integer.html" title="multiple precision integer and basic arithmetics">Integer</a> v4(seq);<a name="l00283"></a>00283                                 this-&gt;AccessGroupParameters().Initialize(v1, v2, v3);<a name="l00284"></a>00284                                 this-&gt;SetPublicElement(v4);<a name="l00285"></a>00285                         }<a name="l00286"></a>00286 <a name="l00287"></a>00287                 seq.<a class="code" href="class_b_e_r_general_decoder.html#40b14625c98ac7febb8ca218d02358ad">MessageEnd</a>();<a name="l00288"></a>00288         }<a name="l00289"></a>00289 <a name="l00290"></a><a class="code" href="class_d_l___public_key___g_f_p___old_format.html#dcb4024350af6eb978de67a745366cf0">00290</a>         <span class="keywordtype">void</span> <a class="code" href="class_d_l___public_key___g_f_p___old_format.html#dcb4024350af6eb978de67a745366cf0">DEREncode</a>(<a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;bt)<span class="keyword"> const</span><a name="l00291"></a>00291 <span class="keyword">        </span>{<a name="l00292"></a>00292                 <a class="code" href="class_d_e_r_sequence_encoder.html" title="DER Sequence Encoder.">DERSequenceEncoder</a> seq(bt);<a name="l00293"></a>00293                         this-&gt;GetGroupParameters().GetModulus().DEREncode(seq);<a name="l00294"></a>00294                         <span class="keywordflow">if</span> (this-&gt;GetGroupParameters().GetCofactor() != 2)<a name="l00295"></a>00295                                 this-&gt;GetGroupParameters().GetSubgroupOrder().DEREncode(seq);<a name="l00296"></a>00296                         this-&gt;GetGroupParameters().GetGenerator().DEREncode(seq);<a name="l00297"></a>00297                         this-&gt;GetPublicElement().DEREncode(seq);<a name="l00298"></a>00298                 seq.<a class="code" href="class_d_e_r_general_encoder.html#cb5f1a94ba97027c603b019bd5228510">MessageEnd</a>();<a name="l00299"></a>00299         }<a name="l00300"></a>00300 };<a name="l00301"></a>00301 <span class="comment"></span><a name="l00302"></a>00302 <span class="comment">//! provided for backwards compatibility, this class uses the old non-standard Crypto++ key format</span><a name="l00303"></a>00303 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> BASE&gt;<a name="l00304"></a><a class="code" href="class_d_l___private_key___g_f_p___old_format.html">00304</a> <span class="keyword">class </span><a class="code" href="class_d_l___private_key___g_f_p___old_format.html" title="provided for backwards compatibility, this class uses the old non-standard Crypto++...">DL_PrivateKey_GFP_OldFormat</a> : <span class="keyword">public</span> BASE<a name="l00305"></a>00305 {<a name="l00306"></a>00306 <span class="keyword">public</span>:<a name="l00307"></a><a class="code" href="class_d_l___private_key___g_f_p___old_format.html#6ed1183e0580ca84f0d2cfa37a5b144f">00307</a>         <span class="keywordtype">void</span> <a class="code" href="class_d_l___private_key___g_f_p___old_format.html#6ed1183e0580ca84f0d2cfa37a5b144f">BERDecode</a>(<a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;bt)<a name="l00308"></a>00308         {<a name="l00309"></a>00309                 <a class="code" href="class_b_e_r_sequence_decoder.html" title="BER Sequence Decoder.">BERSequenceDecoder</a> seq(bt);<a name="l00310"></a>00310                         <a class="code" href="class_integer.html" title="multiple precision integer and basic arithmetics">Integer</a> v1(seq);<a name="l00311"></a>00311                         <a class="code" href="class_integer.html" title="multiple precision integer and basic arithmetics">Integer</a> v2(seq);<a name="l00312"></a>00312                         <a class="code" href="class_integer.html" title="multiple precision integer and basic arithmetics">Integer</a> v3(seq);<a name="l00313"></a>00313                         <a class="code" href="class_integer.html" title="multiple precision integer and basic arithmetics">Integer</a> v4(seq);<a name="l00314"></a>00314 <a name="l00315"></a>00315                         <span class="keywordflow">if</span> (seq.<a class="code" href="class_b_e_r_general_decoder.html#04f4fe90e88584b1cebffd32e149bfbc">EndReached</a>())<a name="l00316"></a>00316                         {<a name="l00317"></a>00317                                 this-&gt;AccessGroupParameters().Initialize(v1, v1/2, v2);<a name="l00318"></a>00318                                 this-&gt;SetPrivateExponent(v4 % (v1/2));  <span class="comment">// some old keys may have x &gt;= q</span><a name="l00319"></a>00319                         }<a name="l00320"></a>00320                         <span class="keywordflow">else</span><a name="l00321"></a>00321                         {<a name="l00322"></a>00322                                 <a class="code" href="class_integer.html" title="multiple precision integer and basic arithmetics">Integer</a> v5(seq);<a name="l00323"></a>00323                                 this-&gt;AccessGroupParameters().Initialize(v1, v2, v3);<a name="l00324"></a>00324                                 this-&gt;SetPrivateExponent(v5);<a name="l00325"></a>00325                         }<a name="l00326"></a>00326 <a name="l00327"></a>00327                 seq.<a class="code" href="class_b_e_r_general_decoder.html#40b14625c98ac7febb8ca218d02358ad">MessageEnd</a>();<a name="l00328"></a>00328         }<a name="l00329"></a>00329 <a name="l00330"></a><a class="code" href="class_d_l___private_key___g_f_p___old_format.h

⌨️ 快捷键说明

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