Elliptic Curve Cryptography Module Interface.
The file defines the APIs and data types that abstract the ECC operations required for TLS library.
Copyright (C) 2017-2019 Atmel Corporation. All rights reserved.
#include "driver/include/m2m_types.h"
Data Structures | |
struct | EcDomainParam |
struct | EcPoint |
struct | tstrEccReqInfo |
struct | tstrEcdhReqInfo |
struct | tstrEcdsaSignReqInfo |
struct | tstrEcdsaVerifyReqInfo |
struct | tstrEllipticCurve |
Definition of an elliptic curve. More... | |
Macros | |
#define | ECC_LARGEST_CURVE_SIZE (32) |
#define | ECC_NUM_SUPP_CURVES ((sizeof(gastrECCSuppList)) / (sizeof(tstrEllipticCurve))) |
#define | ECC_POINT_MAX_SIZE ECC_LARGEST_CURVE_SIZE |
#define | ECC_POINT_MAX_SIZE_WORDS (ECC_POINT_MAX_SIZE / 4) |
Typedefs | |
typedef enum EcNamedCurve | tenuEcNamedCurve |
typedef struct EcDomainParam | tstrECDomainParam |
typedef struct EcPoint | tstrECPoint |
Enumerations | |
enum | EcNamedCurve { EC_SECP192R1 = 19, EC_SECP256R1 = 23, EC_SECP384R1 = 24, EC_SECP521R1 = 25, EC_UNKNOWN = 255 } |
enum | tenuEccREQ { ECC_REQ_NONE, ECC_REQ_CLIENT_ECDH, ECC_REQ_SERVER_ECDH, ECC_REQ_GEN_KEY, ECC_REQ_SIGN_GEN, ECC_REQ_SIGN_VERIFY } |
Variables | |
static tstrEllipticCurve | gastrECCSuppList [] |
#define ECC_LARGEST_CURVE_SIZE (32) |
The size of the the largest supported EC. For now, assuming the 256-bit EC is the largest supported curve type.
#define ECC_NUM_SUPP_CURVES ((sizeof(gastrECCSuppList)) / (sizeof(tstrEllipticCurve))) |
#define ECC_POINT_MAX_SIZE ECC_LARGEST_CURVE_SIZE |
Maximum size of one coordinate of an EC point.
#define ECC_POINT_MAX_SIZE_WORDS (ECC_POINT_MAX_SIZE / 4) |
SIZE in 32-bit words.
typedef enum EcNamedCurve tenuEcNamedCurve |
typedef struct EcDomainParam tstrECDomainParam |
typedef struct EcPoint tstrECPoint |
enum EcNamedCurve |
enum tenuEccREQ |
|
static |
List of supported Elliptic Curves ordered by security level (most secure curve is at index ZERO).