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

An elliptic curve. More...

#include "ec_curve.h"

Public Types

enum  ECCurveType : int32_t {
  ECCurveType::Implicit = 0, ECCurveType::PrimeShortWeierstrass = 1, ECCurveType::PrimeTwistedEdwards = 2, ECCurveType::PrimeMontgomery = 3,
  ECCurveType::Characteristic2 = 4, ECCurveType::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.

Enumerator
Implicit 
PrimeShortWeierstrass 
PrimeTwistedEdwards 
PrimeMontgomery 
Characteristic2 
Named 

Member Function Documentation

◆ CreateFromFriendlyName()

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

Create a curve from the specified OID firendly name.

◆ CreateFromOid()

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

Create a curve from the specified oid.

◆ CreateFromValue()

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

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

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

Prime.

◆ Seed

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

Seed.