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

📄 ecp_8h-source.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00064         <span class="keywordtype">bool</span> VerifyPoint(<span class="keyword">const</span> <a class="code" href="struct_e_c_p_point.html">Point</a> &amp;P) <span class="keyword">const</span>;00065 00066         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> EncodedPointSize(<span class="keywordtype">bool</span> compressed = <span class="keyword">false</span>)<span class="keyword"> const</span>00067 <span class="keyword">                </span>{<span class="keywordflow">return</span> 1 + (compressed?1:2)*GetField().MaxElementByteLength();}00068         <span class="comment">// returns false if point is compressed and not valid (doesn't check if uncompressed)</span>00069         <span class="keywordtype">bool</span> DecodePoint(<a class="code" href="struct_e_c_p_point.html">Point</a> &amp;P, <a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len) <span class="keyword">const</span>;00070         <span class="keywordtype">bool</span> DecodePoint(<a class="code" href="struct_e_c_p_point.html">Point</a> &amp;P, <span class="keyword">const</span> byte *encodedPoint, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len) <span class="keyword">const</span>;00071         <span class="keywordtype">void</span> EncodePoint(byte *encodedPoint, <span class="keyword">const</span> <a class="code" href="struct_e_c_p_point.html">Point</a> &amp;P, <span class="keywordtype">bool</span> compressed) <span class="keyword">const</span>;00072         <span class="keywordtype">void</span> EncodePoint(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, <span class="keyword">const</span> <a class="code" href="struct_e_c_p_point.html">Point</a> &amp;P, <span class="keywordtype">bool</span> compressed) <span class="keyword">const</span>;00073 00074         <a class="code" href="struct_e_c_p_point.html">Point</a> BERDecodePoint(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt) <span class="keyword">const</span>;00075         <span class="keywordtype">void</span> DEREncodePoint(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, <span class="keyword">const</span> <a class="code" href="struct_e_c_p_point.html">Point</a> &amp;P, <span class="keywordtype">bool</span> compressed) <span class="keyword">const</span>;00076 00077         <a class="code" href="class_integer.html">Integer</a> FieldSize()<span class="keyword"> const </span>{<span class="keywordflow">return</span> GetField().GetModulus();}00078         <span class="keyword">const</span> <a class="code" href="class_modular_arithmetic.html">Field</a> &amp; GetField()<span class="keyword"> const </span>{<span class="keywordflow">return</span> *m_fieldPtr;}00079         <span class="keyword">const</span> <a class="code" href="class_integer.html">FieldElement</a> &amp; GetA()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_a;}00080         <span class="keyword">const</span> <a class="code" href="class_integer.html">FieldElement</a> &amp; GetB()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_b;}00081 00082         <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ECP &amp;rhs)<span class="keyword"> const</span>00083 <span class="keyword">                </span>{<span class="keywordflow">return</span> GetField() == rhs.<a class="code" href="class_e_c_p.html#_e_c_pa26">GetField</a>() &amp;&amp; m_a == rhs.<a class="code" href="class_e_c_p.html#_e_c_pr1">m_a</a> &amp;&amp; m_b == rhs.<a class="code" href="class_e_c_p.html#_e_c_pr2">m_b</a>;}00084 00085 <span class="keyword">private</span>:00086         clonable_ptr&lt;Field&gt; m_fieldPtr;00087         <a class="code" href="class_integer.html">FieldElement</a> m_a, m_b;00088         <span class="keyword">mutable</span> <a class="code" href="struct_e_c_p_point.html">Point</a> m_R;00089 };00090 00091 CRYPTOPP_DLL_TEMPLATE_CLASS DL_FixedBasePrecomputationImpl&lt;ECP::Point&gt;;00092 CRYPTOPP_DLL_TEMPLATE_CLASS DL_GroupPrecomputation&lt;ECP::Point&gt;;00093 00094 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>EcPrecomputation;00095 <span class="comment"></span>00096 <span class="comment">//! .</span><a name="l00097"></a><a class="code" href="class_ec_precomputation_3_01_e_c_p_01_4.html">00097</a> <span class="comment"></span><span class="keyword">template</span>&lt;&gt; <span class="keyword">class </span>EcPrecomputation&lt;ECP&gt; : <span class="keyword">public</span> DL_GroupPrecomputation&lt;ECP::Point&gt;00098 {00099 <span class="keyword">public</span>:00100         <span class="keyword">typedef</span> ECP <a class="code" href="class_e_c_p.html">EllipticCurve</a>;00101         00102         <span class="comment">// DL_GroupPrecomputation</span>00103         <span class="keywordtype">bool</span> NeedConversions()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <span class="keyword">true</span>;}00104         Element ConvertIn(<span class="keyword">const</span> Element &amp;P)<span class="keyword"> const</span>00105 <span class="keyword">                </span>{<span class="keywordflow">return</span> P.identity ? P : <a class="code" href="struct_e_c_p_point.html">ECP::Point</a>(m_ec-&gt;GetField().ConvertIn(P.x), m_ec-&gt;GetField().ConvertIn(P.y));};00106         Element ConvertOut(<span class="keyword">const</span> Element &amp;P)<span class="keyword"> const</span>00107 <span class="keyword">                </span>{<span class="keywordflow">return</span> P.identity ? P : <a class="code" href="struct_e_c_p_point.html">ECP::Point</a>(m_ec-&gt;GetField().ConvertOut(P.x), m_ec-&gt;GetField().ConvertOut(P.y));}00108         <span class="keyword">const</span> <a class="code" href="class_abstract_group.html">AbstractGroup&lt;Element&gt;</a> &amp; GetGroup()<span class="keyword"> const </span>{<span class="keywordflow">return</span> *m_ec;}00109         Element BERDecodeElement(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt)<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_ec-&gt;BERDecodePoint(bt);}00110         <span class="keywordtype">void</span> DEREncodeElement(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, <span class="keyword">const</span> Element &amp;v)<span class="keyword"> const </span>{m_ec-&gt;DEREncodePoint(bt, v, <span class="keyword">false</span>);}00111 00112         <span class="comment">// non-inherited</span>00113         <span class="keywordtype">void</span> SetCurve(<span class="keyword">const</span> ECP &amp;ec)00114         {00115                 m_ec.reset(<span class="keyword">new</span> ECP(ec, <span class="keyword">true</span>));00116                 m_ecOriginal = ec;00117         }00118         <span class="keyword">const</span> ECP &amp; GetCurve()<span class="keyword"> const </span>{<span class="keywordflow">return</span> *m_ecOriginal;}00119 00120 <span class="keyword">private</span>:00121         value_ptr&lt;ECP&gt; m_ec, m_ecOriginal;00122 };00123 00124 NAMESPACE_END00125 00126 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:13 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -