System::Security::Cryptography::ECCurve Struct Reference

An elliptic curve. More...

Public Types

enum class  ECCurveType : int32_t {
  Implicit = 0 , PrimeShortWeierstrass = 1 , PrimeTwistedEdwards = 2 , PrimeMontgomery = 3 ,
  Characteristic2 = 4 , Named = 5
 Type of elliptic curve. More...

Public Member Functions

ASPOSECPP_SHARED_API SharedPtr< Oidget_Oid () const
 Gets Oid representing the named curve. More...
ASPOSECPP_SHARED_API bool get_IsPrime () const
ASPOSECPP_SHARED_API bool get_IsCharacteristic2 () const
ASPOSECPP_SHARED_API bool get_IsExplicit () const
ASPOSECPP_SHARED_API bool get_IsNamed () const
ASPOSECPP_SHARED_API void Validate () const
 Validate the current curve. More...

Static Public Member Functions

static ASPOSECPP_SHARED_API ECCurve CreateFromOid (const SharedPtr< Oid > &oid)
 Create a curve from the specified oid. More...
static ASPOSECPP_SHARED_API ECCurve CreateFromFriendlyName (const String &oid_friendly_name)
 Create a curve from the specified OID firendly name. More...
static ASPOSECPP_SHARED_API ECCurve CreateFromValue (const String &oid_value)
 Create a curve from the specified OID value. More...

Public Attributes

ByteArrayPtr A
 Coefficient A. More...
ByteArrayPtr B
 Coefficient B. More...
ECPoint G
 Base Point. More...
ByteArrayPtr Order
 Order of the group. More...
ByteArrayPtr Cofactor
 Cofactor. More...
ByteArrayPtr Seed
 Seed. More...
ECCurveType CurveType = ECCurveType::Implicit
 Curve Type. More...
Nullable< HashAlgorithmNameHash
 Hash algorithm. More...
ByteArrayPtr Polynomial
 Binary polynomial. More...
ByteArrayPtr Prime
 Prime. More...

Detailed Description

An elliptic curve.

Member Enumeration Documentation

◆ ECCurveType

Type of elliptic curve.


Member Function Documentation

◆ CreateFromFriendlyName()

static ASPOSECPP_SHARED_API ECCurve System::Security::Cryptography::ECCurve::CreateFromFriendlyName ( const String oid_friendly_name)

Create a curve from the specified OID firendly name.

◆ CreateFromOid()

static ASPOSECPP_SHARED_API ECCurve System::Security::Cryptography::ECCurve::CreateFromOid ( const SharedPtr< Oid > &  oid)

Create a curve from the specified oid.

◆ CreateFromValue()

static ASPOSECPP_SHARED_API ECCurve System::Security::Cryptography::ECCurve::CreateFromValue ( const String oid_value)

Create a curve from the specified OID value.

◆ get_IsCharacteristic2()

ASPOSECPP_SHARED_API bool System::Security::Cryptography::ECCurve::get_IsCharacteristic2 ( ) const

◆ get_IsExplicit()

ASPOSECPP_SHARED_API bool System::Security::Cryptography::ECCurve::get_IsExplicit ( ) const

◆ get_IsNamed()

ASPOSECPP_SHARED_API bool System::Security::Cryptography::ECCurve::get_IsNamed ( ) const

◆ get_IsPrime()

ASPOSECPP_SHARED_API bool System::Security::Cryptography::ECCurve::get_IsPrime ( ) const

◆ get_Oid()

ASPOSECPP_SHARED_API SharedPtr<Oid> System::Security::Cryptography::ECCurve::get_Oid ( ) const

Gets Oid representing the named curve.

◆ Validate()

ASPOSECPP_SHARED_API void System::Security::Cryptography::ECCurve::Validate ( ) const

Validate the current curve.

Member Data Documentation

◆ A

ByteArrayPtr System::Security::Cryptography::ECCurve::A

Coefficient A.

◆ B

ByteArrayPtr System::Security::Cryptography::ECCurve::B

Coefficient B.

◆ Cofactor

ByteArrayPtr System::Security::Cryptography::ECCurve::Cofactor


◆ CurveType

ECCurveType System::Security::Cryptography::ECCurve::CurveType = ECCurveType::Implicit

Curve Type.

◆ G

ECPoint System::Security::Cryptography::ECCurve::G

Base Point.

◆ Hash

Nullable<HashAlgorithmName> System::Security::Cryptography::ECCurve::Hash

Hash algorithm.

◆ Order

ByteArrayPtr System::Security::Cryptography::ECCurve::Order

Order of the group.

◆ Polynomial

ByteArrayPtr System::Security::Cryptography::ECCurve::Polynomial

Binary polynomial.

◆ Prime

ByteArrayPtr System::Security::Cryptography::ECCurve::Prime


◆ Seed

ByteArrayPtr System::Security::Cryptography::ECCurve::Seed