📄 class_e_c2_n.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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>EC2N Class Reference</h1><code>#include <<a class="el" href="ec2n_8h-source.html">ec2n.h</a>></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> </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 </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> </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> </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> </td><td class="memItemRight" valign=bottom><b>EC2N</b> (const <a class="el" href="class_g_f2_n_p.html">Field</a> &field, const Field::Element &a, const Field::Element &b)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na2" doxytag="EC2N::EC2N"></a> </td><td class="memItemRight" valign=bottom><b>EC2N</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na3" doxytag="EC2N::DEREncode"></a>void </td><td class="memItemRight" valign=bottom><b>DEREncode</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na4" doxytag="EC2N::Equal"></a>bool </td><td class="memItemRight" valign=bottom><b>Equal</b> (const <a class="el" href="struct_e_c2_n_point.html">Point</a> &P, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &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> & </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> & </td><td class="memItemRight" valign=bottom><b>Inverse</b> (const <a class="el" href="struct_e_c2_n_point.html">Point</a> &P) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na7" doxytag="EC2N::InversionIsFast"></a>bool </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> & </td><td class="memItemRight" valign=bottom><b>Add</b> (const <a class="el" href="struct_e_c2_n_point.html">Point</a> &P, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &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> & </td><td class="memItemRight" valign=bottom><b>Double</b> (const <a class="el" href="struct_e_c2_n_point.html">Point</a> &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> </td><td class="memItemRight" valign=bottom><b>Multiply</b> (const <a class="el" href="class_integer.html">Integer</a> &k, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &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> </td><td class="memItemRight" valign=bottom><b>CascadeMultiply</b> (const <a class="el" href="class_integer.html">Integer</a> &k1, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &P, const <a class="el" href="class_integer.html">Integer</a> &k2, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &Q) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na12" doxytag="EC2N::ValidateParameters"></a>bool </td><td class="memItemRight" valign=bottom><b>ValidateParameters</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &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 </td><td class="memItemRight" valign=bottom><b>VerifyPoint</b> (const <a class="el" href="struct_e_c2_n_point.html">Point</a> &P) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na14" doxytag="EC2N::EncodedPointSize"></a>unsigned int </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 </td><td class="memItemRight" valign=bottom><b>DecodePoint</b> (<a class="el" href="struct_e_c2_n_point.html">Point</a> &P, <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &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 </td><td class="memItemRight" valign=bottom><b>DecodePoint</b> (<a class="el" href="struct_e_c2_n_point.html">Point</a> &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 </td><td class="memItemRight" valign=bottom><b>EncodePoint</b> (byte *encodedPoint, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &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 </td><td class="memItemRight" valign=bottom><b>EncodePoint</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &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> </td><td class="memItemRight" valign=bottom><b>BERDecodePoint</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_c2_na20" doxytag="EC2N::DEREncodePoint"></a>void </td><td class="memItemRight" valign=bottom><b>DEREncodePoint</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt, const <a class="el" href="struct_e_c2_n_point.html">Point</a> &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> </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> & </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 & </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 & </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 </td><td class="memItemRight" valign=bottom><b>operator==</b> (const <a class="el" href="class_e_c2_n.html">EC2N</a> &rhs) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa13" doxytag="EC2N::Equal"></a>virtual bool </td><td class="memItemRight" valign=bottom><b>Equal</b> (const Element &a, const Element &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 & </td><td class="memItemRight" valign=bottom><b>Add</b> (const Element &a, const Element &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 & </td><td class="memItemRight" valign=bottom><b>Inverse</b> (const Element &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 & </td><td class="memItemRight" valign=bottom><b>Double</b> (const Element &a) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa19" doxytag="EC2N::Subtract"></a>virtual const Element & </td><td class="memItemRight" valign=bottom><b>Subtract</b> (const Element &a, const Element &b) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa20" doxytag="EC2N::Accumulate"></a>virtual Element & </td><td class="memItemRight" valign=bottom><b>Accumulate</b> (Element &a, const Element &b) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_abstract_ringa21" doxytag="EC2N::Reduce"></a>virtual Element & </td><td class="memItemRight" valign=bottom><b>Reduce</b> (Element &a, const Element &b) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_euclidean_domain_ofa23" doxytag="EC2N::ScalarMultiply"></a>virtual Element </td><td class="memItemRight" valign=bottom><b>ScalarMultiply</b> (const Element &a, const <a class="el" href="class_integer.html">Integer</a> &e) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_euclidean_domain_ofa24" doxytag="EC2N::CascadeScalarMultiply"></a>virtual Element </td><td class="memItemRight" valign=bottom><b>CascadeScalarMultiply</b> (const Element &x, const <a class="el" href="class_integer.html">Integer</a> &e1, const Element &y, const <a class="el" href="class_integer.html">Integer</a> &e2) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_euclidean_domain_ofa25" doxytag="EC2N::SimultaneousMultiply"></a>virtual void </td><td class="memItemRight" valign=bottom><b>SimultaneousMultiply</b> (Element *results, const Element &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 + -