summaryrefslogtreecommitdiff
path: root/ec2n.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2016-10-18 19:39:33 -0400
committerJeffrey Walton <noloader@gmail.com>2016-10-18 19:39:33 -0400
commit1f054924b4ac0b6631a1a84c4882dab5108aa651 (patch)
treeb0d786b919b68b5dc2d6871a744fb560e34e32a4 /ec2n.h
parentc3e2e0fb25fd1fa25e3a6e8eadb9ef78e8158be9 (diff)
downloadcryptopp-git-1f054924b4ac0b6631a1a84c4882dab5108aa651.tar.gz
Updated documentation
Diffstat (limited to 'ec2n.h')
-rw-r--r--ec2n.h31
1 files changed, 24 insertions, 7 deletions
diff --git a/ec2n.h b/ec2n.h
index da783734..b300644f 100644
--- a/ec2n.h
+++ b/ec2n.h
@@ -18,7 +18,8 @@
NAMESPACE_BEGIN(CryptoPP)
-//! Elliptic Curve Point
+//! \class EC2NPoint
+//! \brief Elliptical Curve Point over GF(2^n)
struct CRYPTOPP_DLL EC2NPoint
{
#ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562
@@ -40,7 +41,8 @@ struct CRYPTOPP_DLL EC2NPoint
CRYPTOPP_DLL_TEMPLATE_CLASS AbstractGroup<EC2NPoint>;
-//! Elliptic Curve over GF(2^n)
+//! \class EC2N
+//! \brief Elliptic Curve over GF(2^n)
class CRYPTOPP_DLL EC2N : public AbstractGroup<EC2NPoint>
{
public:
@@ -52,14 +54,23 @@ public:
virtual ~EC2N() {}
#endif
+ //! \brief Construct an EC2N
EC2N() {}
+
+ //! \brief Construct an EC2N
+ //! \param field Field, GF2NP derived class
+ //! \param a Field::Element
+ //! \param b Field::Element
EC2N(const Field &field, const Field::Element &a, const Field::Element &b)
: m_field(field), m_a(a), m_b(b) {}
- // construct from BER encoded parameters
- // this constructor will decode and extract the the fields fieldID and curve of the sequence ECParameters
+
+ //! \brief Construct an EC2N from BER encoded parameters
+ //! \param bt BufferedTransformation derived object
+ //! \details This constructor will decode and extract the the fields fieldID and curve of the sequence ECParameters
EC2N(BufferedTransformation &bt);
- // encode the fields fieldID and curve of the sequence ECParameters
+ //! \brief Encode the fields fieldID and curve of the sequence ECParameters
+ //! \param bt BufferedTransformation derived object
void DEREncode(BufferedTransformation &bt) const;
bool Equal(const Point &P, const Point &Q) const;
@@ -105,9 +116,15 @@ private:
CRYPTOPP_DLL_TEMPLATE_CLASS DL_FixedBasePrecomputationImpl<EC2N::Point>;
CRYPTOPP_DLL_TEMPLATE_CLASS DL_GroupPrecomputation<EC2N::Point>;
-template <class T> class EcPrecomputation;
+//! \class EcPrecomputation
+//! \brief Elliptic Curve precomputation
+//! \tparam EC elliptic curve field
+template <class EC> class EcPrecomputation;
-//! EC2N precomputation
+//! \class EcPrecomputation<EC2N>
+//! \brief EC2N precomputation specialization
+//! \details Implementation of <tt>DL_GroupPrecomputation<EC2N::Point></tt>
+//! \sa DL_GroupPrecomputation
template<> class EcPrecomputation<EC2N> : public DL_GroupPrecomputation<EC2N::Point>
{
public: