Microchip® Advanced Software Framework

ecc_types.h File Reference

WINC Application Interface Internal Types.

Copyright (c) 2017-2018 Microchip Technology Inc. and its subsidiaries.

#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_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
}
 

#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_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 struct EcPoint tstrECPoint

Enumerator
EC_SECP192R1 

It is defined by NIST as P192 and by the SEC Group as secp192r1.

EC_SECP256R1 

It is defined by NIST as P256 and by the SEC Group as secp256r1.

EC_SECP384R1 

It is defined by NIST as P384 and by the SEC Group as secp384r1.

EC_SECP521R1 

It is defined by NIST as P521 and by the SEC Group as secp521r1.

EC_UNKNOWN 
enum tenuEccREQ
Enumerator
ECC_REQ_NONE 
ECC_REQ_CLIENT_ECDH 
ECC_REQ_SERVER_ECDH 
ECC_REQ_GEN_KEY 
ECC_REQ_SIGN_GEN 
ECC_REQ_SIGN_VERIFY