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

📄 class_e_c2_n.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Crypto++: EC2N class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.2 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><h1>EC2N Class Reference</h1><code>#include &lt;<a class="el" href="ec2n_8h-source.html">ec2n.h</a>&gt;</code><p><p>Inheritance diagram for EC2N:<p><center><img src="class_e_c2_n.png" usemap="#EC2N_map" border="0" alt=""></center><map name="EC2N_map"><area href="class_abstract_group.html" alt="AbstractGroup< EC2NPoint >" shape="rect" coords="0,0,179,24"></map><a href="class_e_c2_n-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>Elliptic Curve over GF(2^n). <p><p>Definition at line <a class="el" href="ec2n_8h-source.html#l00030">30</a> of file <a class="el" href="ec2n_8h-source.html">ec2n.h</a>.<table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_nw0" doxytag="EC2N::Field"></a>typedef <a class="el" href="class_g_f2_n_p.html">GF2NP</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>Field</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_nw1" doxytag="EC2N::FieldElement"></a>typedef Field::Element&nbsp;</td><td class="memItemRight" valign=bottom><b>FieldElement</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_nw2" doxytag="EC2N::Point"></a>typedef <a class="el" href="struct_e_c2_n_point.html">EC2NPoint</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>Point</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ring_1_1_multiplicative_group_tw0" doxytag="EC2N::Element"></a>typedef <a class="el" href="struct_e_c2_n_point.html">EC2NPoint</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>Element</b></td></tr><tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na1" doxytag="EC2N::EC2N"></a>&nbsp;</td><td class="memItemRight" valign=bottom><b>EC2N</b> (const <a class="el" href="class_g_f2_n_p.html">Field</a> &amp;field, const Field::Element &amp;a, const Field::Element &amp;b)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na2" doxytag="EC2N::EC2N"></a>&nbsp;</td><td class="memItemRight" valign=bottom><b>EC2N</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na3" doxytag="EC2N::DEREncode"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><b>DEREncode</b> (<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 name="_e_c2_na4" doxytag="EC2N::Equal"></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><b>Equal</b> (const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;Q) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na5" doxytag="EC2N::Identity"></a>const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Identity</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na6" doxytag="EC2N::Inverse"></a>const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Inverse</b> (const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na7" doxytag="EC2N::InversionIsFast"></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><b>InversionIsFast</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na8" doxytag="EC2N::Add"></a>const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Add</b> (const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;Q) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na9" doxytag="EC2N::Double"></a>const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Double</b> (const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na10" doxytag="EC2N::Multiply"></a><a class="el" href="struct_e_c2_n_point.html">Point</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>Multiply</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;k, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na11" doxytag="EC2N::CascadeMultiply"></a><a class="el" href="struct_e_c2_n_point.html">Point</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>CascadeMultiply</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;k1, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P, const <a class="el" href="class_integer.html">Integer</a> &amp;k2, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;Q) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na12" doxytag="EC2N::ValidateParameters"></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><b>ValidateParameters</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, unsigned int level=3) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na13" doxytag="EC2N::VerifyPoint"></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><b>VerifyPoint</b> (const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na14" doxytag="EC2N::EncodedPointSize"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><b>EncodedPointSize</b> (bool compressed=false) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na15" doxytag="EC2N::DecodePoint"></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><b>DecodePoint</b> (<a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P, <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, unsigned int len) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na16" doxytag="EC2N::DecodePoint"></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><b>DecodePoint</b> (<a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P, const byte *encodedPoint, unsigned int len) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na17" doxytag="EC2N::EncodePoint"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><b>EncodePoint</b> (byte *encodedPoint, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P, bool compressed) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na18" doxytag="EC2N::EncodePoint"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><b>EncodePoint</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P, bool compressed) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na19" doxytag="EC2N::BERDecodePoint"></a><a class="el" href="struct_e_c2_n_point.html">Point</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>BERDecodePoint</b> (<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 name="_e_c2_na20" doxytag="EC2N::DEREncodePoint"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><b>DEREncodePoint</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &amp;P, bool compressed) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na21" doxytag="EC2N::FieldSize"></a><a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign=bottom><b>FieldSize</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na22" doxytag="EC2N::GetField"></a>const <a class="el" href="class_g_f2_n_p.html">Field</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetField</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na23" doxytag="EC2N::GetA"></a>const FieldElement &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetA</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na24" doxytag="EC2N::GetB"></a>const FieldElement &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetB</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na25" doxytag="EC2N::operator=="></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><b>operator==</b> (const <a class="el" href="class_e_c2_n.html">EC2N</a> &amp;rhs) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa13" doxytag="EC2N::Equal"></a>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><b>Equal</b> (const Element &amp;a, const Element &amp;b) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa15" doxytag="EC2N::Add"></a>virtual const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Add</b> (const Element &amp;a, const Element &amp;b) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa16" doxytag="EC2N::Inverse"></a>virtual const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Inverse</b> (const Element &amp;a) const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa18" doxytag="EC2N::Double"></a>virtual const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Double</b> (const Element &amp;a) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa19" doxytag="EC2N::Subtract"></a>virtual const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Subtract</b> (const Element &amp;a, const Element &amp;b) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa20" doxytag="EC2N::Accumulate"></a>virtual Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Accumulate</b> (Element &amp;a, const Element &amp;b) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa21" doxytag="EC2N::Reduce"></a>virtual Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Reduce</b> (Element &amp;a, const Element &amp;b) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_euclidean_domain_ofa23" doxytag="EC2N::ScalarMultiply"></a>virtual Element&nbsp;</td><td class="memItemRight" valign=bottom><b>ScalarMultiply</b> (const Element &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;e) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_euclidean_domain_ofa24" doxytag="EC2N::CascadeScalarMultiply"></a>virtual Element&nbsp;</td><td class="memItemRight" valign=bottom><b>CascadeScalarMultiply</b> (const Element &amp;x, const <a class="el" href="class_integer.html">Integer</a> &amp;e1, const Element &amp;y, const <a class="el" href="class_integer.html">Integer</a> &amp;e2) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_euclidean_domain_ofa25" doxytag="EC2N::SimultaneousMultiply"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><b>SimultaneousMultiply</b> (Element *results, const Element &amp;base, const <a class="el" href="class_integer.html">Integer</a> *exponents, unsigned int exponentsCount) const</td></tr></table><hr>The documentation for this class was generated from the following files:<ul><li><a class="el" href="ec2n_8h-source.html">ec2n.h</a><li><a class="el" href="ec2n_8cpp-source.html">ec2n.cpp</a></ul><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:56 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 + -