nRF5 SDK v17.1.0
Data Structures | Macros | Typedefs | Enumerations
CryptoCell ECC specific types

Data Structures

struct  CRYS_ECPKI_Domain_t
 
struct  CRYS_ECPKI_PointAffine_t
 
struct  CRYS_ECPKI_PublKey_t
 
struct  CRYS_ECPKI_UserPublKey_t
 
struct  CRYS_ECPKI_PrivKey_t
 
struct  CRYS_ECPKI_UserPrivKey_t
 
struct  CRYS_ECDH_TempData_t
 
struct  CRYS_ECPKI_BUILD_TempData_t
 
struct  ECDSA_SignContext_t
 
struct  CRYS_ECDSA_SignUserContext_t
 
struct  ECDSA_VerifyContext_t
 
struct  CRYS_ECDSA_VerifyUserContext_t
 
struct  CRYS_ECPKI_KG_TempData_t
 
struct  CRYS_ECIES_TempData_t
 
struct  CRYS_ECPKI_KG_FipsContext_t
 
struct  CRYS_ECDSAFipsKatContext_t
 
struct  CRYS_ECDHFipsKatContext_t
 

Macros

#define CRYS_PKA_DOMAIN_LLF_BUFF_SIZE_IN_WORDS   (10 + 3*CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS)
 
#define CRYS_ECPKI_FIPS_ORDER_LENGTH   (256/SASI_BITS_IN_BYTE)
 

Typedefs

typedef struct
CRYS_ECPKI_UserPublKey_t 
CRYS_ECPKI_UserPublKey_t
 
typedef struct
CRYS_ECPKI_UserPrivKey_t 
CRYS_ECPKI_UserPrivKey_t
 
typedef struct CRYS_ECDH_TempData_t CRYS_ECDH_TempData_t
 
typedef struct
CRYS_ECPKI_BUILD_TempData_t 
CRYS_ECPKI_BUILD_TempData_t
 
typedef uint32_t CRYS_ECDSA_SignIntBuff [(6 *18+((8 *(18+1)+1)+18+2))]
 
typedef struct
CRYS_ECDSA_SignUserContext_t 
CRYS_ECDSA_SignUserContext_t
 
typedef uint32_t CRYS_ECDSA_VerifyIntBuff [(3 *18)]
 
typedef struct
CRYS_ECDSA_VerifyUserContext_t 
CRYS_ECDSA_VerifyUserContext_t
 
typedef struct
CRYS_ECPKI_KG_TempData_t 
CRYS_ECPKI_KG_TempData_t
 
typedef struct
CRYS_ECIES_TempData_t 
CRYS_ECIES_TempData_t
 
typedef struct
CRYS_ECPKI_KG_FipsContext_t 
CRYS_ECPKI_KG_FipsContext_t
 
typedef struct
CRYS_ECDSAFipsKatContext_t 
CRYS_ECDSAFipsKatContext_t
 
typedef struct
CRYS_ECDHFipsKatContext_t 
CRYS_ECDHFipsKatContext_t
 

Enumerations

enum  CRYS_ECPKI_DomainID_t {
  CRYS_ECPKI_DomainID_secp160k1,
  CRYS_ECPKI_DomainID_secp160r1,
  CRYS_ECPKI_DomainID_secp160r2,
  CRYS_ECPKI_DomainID_secp192k1,
  CRYS_ECPKI_DomainID_secp192r1,
  CRYS_ECPKI_DomainID_secp224k1,
  CRYS_ECPKI_DomainID_secp224r1,
  CRYS_ECPKI_DomainID_secp256k1,
  CRYS_ECPKI_DomainID_secp256r1,
  CRYS_ECPKI_DomainID_secp384r1,
  CRYS_ECPKI_DomainID_secp521r1,
  CRYS_ECPKI_DomainID_Builded,
  CRYS_ECPKI_DomainID_OffMode,
  CRYS_ECPKI_DomainIDLast = 0x7FFFFFFF
}
 
enum  CRYS_ECPKI_HASH_OpMode_t {
  CRYS_ECPKI_HASH_SHA1_mode = 0,
  CRYS_ECPKI_HASH_SHA224_mode = 1,
  CRYS_ECPKI_HASH_SHA256_mode = 2,
  CRYS_ECPKI_HASH_SHA384_mode = 3,
  CRYS_ECPKI_HASH_SHA512_mode = 4,
  CRYS_ECPKI_AFTER_HASH_SHA1_mode = 5,
  CRYS_ECPKI_AFTER_HASH_SHA224_mode = 6,
  CRYS_ECPKI_AFTER_HASH_SHA256_mode = 7,
  CRYS_ECPKI_AFTER_HASH_SHA384_mode = 8,
  CRYS_ECPKI_AFTER_HASH_SHA512_mode = 9,
  CRYS_ECPKI_HASH_NumOfModes,
  CRYS_ECPKI_HASH_OpModeLast = 0x7FFFFFFF
}
 
enum  CRYS_ECPKI_PointCompression_t {
  CRYS_EC_PointCompressed = 2,
  CRYS_EC_PointUncompressed = 4,
  CRYS_EC_PointContWrong = 5,
  CRYS_EC_PointHybrid = 6,
  CRYS_EC_PointCompresOffMode = 8,
  CRYS_ECPKI_PointCompressionLast = 0x7FFFFFFF
}
 
enum  EC_PublKeyCheckMode_t {
  CheckPointersAndSizesOnly = 0,
  ECpublKeyPartlyCheck = 1,
  ECpublKeyFullCheck = 2,
  PublKeyChecingOffMode,
  EC_PublKeyCheckModeLast = 0x7FFFFFFF
}
 
enum  CRYS_ECPKI_ScaProtection_t {
  SCAP_Inactive,
  SCAP_Active,
  SCAP_OFF_MODE,
  SCAP_LAST = 0x7FFFFFFF
}
 

Detailed Description

Macro Definition Documentation

#define CRYS_ECPKI_FIPS_ORDER_LENGTH   (256/SASI_BITS_IN_BYTE)

Order length for the FIPS ECC tests.

#define CRYS_PKA_DOMAIN_LLF_BUFF_SIZE_IN_WORDS   (10 + 3*CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS)

Internal buffer size in words.

Typedef Documentation

ECDH temporary data type

Context definition, required for internal FIPS verification for ECDH KAT.

typedef uint32_t CRYS_ECDSA_SignIntBuff[(6 *18+((8 *(18+1)+1)+18+2))]

Internal buffer used in the signing process.

User's context definition for signing operation. The context saves the state of the operation and must be saved by the user till the end of the APIs flow

typedef uint32_t CRYS_ECDSA_VerifyIntBuff[(3 *18)]

Internal buffer used in the verification process.

User's context definition for verification operation. The context saves the state of the operation and must be saved by the user till the end of the APIs flow

Context defintion, required for internal FIPS verification for ECDSA KAT. * The ECDSA KAT tests defined for domain 256r1.

ECIES temporary data definition.

EC build temporary data.

Context definition required for internal FIPS verification for ECPKI key generation.

ECPKI KG temporary data type

The EC private key's user structure prototype. This structure must be saved by the user, and is used as input to the ECC functions (such as CRYS_ECDSA_Sign etc.).

The EC public key's user structure prototype. This structure must be saved by the user, and is used as input to the ECC functions (such as CRYS_ECDSA_Verify etc.).

Enumeration Type Documentation

Enumerator for the EC Domain idetifier References: [13] - SEC 2: Recommended elliptic curve domain parameters. Version 1.0. Certicom 2000. [8] - WAP-261-WTLS-20010406-a, Version 06-April-2001.

Enumerator
CRYS_ECPKI_DomainID_secp160k1 

EC secp160r1

CRYS_ECPKI_DomainID_secp160r1 

EC secp160k1

CRYS_ECPKI_DomainID_secp160r2 

EC secp160r2

CRYS_ECPKI_DomainID_secp192k1 

EC secp192k1

CRYS_ECPKI_DomainID_secp192r1 

EC secp192r1

CRYS_ECPKI_DomainID_secp224k1 

EC secp224k1

CRYS_ECPKI_DomainID_secp224r1 

EC secp224r1

CRYS_ECPKI_DomainID_secp256k1 

EC secp256k1

CRYS_ECPKI_DomainID_secp256r1 

EC secp256r1

CRYS_ECPKI_DomainID_secp384r1 

EC secp384r1

CRYS_ECPKI_DomainID_secp521r1 

EC secp521r1

CRYS_ECPKI_DomainID_Builded 

User given, not identified.

CRYS_ECPKI_DomainID_OffMode 

Reserved.

Defines the enum for the HASH operation mode. The enumerator defines 6 HASH modes according to IEEE 1363.

Enumerator
CRYS_ECPKI_HASH_SHA1_mode 

The message data will be hashed with SHA1.

CRYS_ECPKI_HASH_SHA224_mode 

The message data will be hashed with SHA224.

CRYS_ECPKI_HASH_SHA256_mode 

The message data will be hashed with SHA256.

CRYS_ECPKI_HASH_SHA384_mode 

The message data will be hashed with SHA384.

CRYS_ECPKI_HASH_SHA512_mode 

The message data will be hashed with SHA512.

CRYS_ECPKI_AFTER_HASH_SHA1_mode 

The message data is a digest of SHA1 and will not be hashed.

CRYS_ECPKI_AFTER_HASH_SHA224_mode 

The message data is a digest of SHA224 and will not be hashed.

CRYS_ECPKI_AFTER_HASH_SHA256_mode 

The message data is a digest of SHA256 and will not be hashed.

CRYS_ECPKI_AFTER_HASH_SHA384_mode 

The message data is a digest of SHA384 and will not be hashed.

CRYS_ECPKI_AFTER_HASH_SHA512_mode 

The message data is a digest of SHA512 and will not be hashed.

CRYS_ECPKI_HASH_NumOfModes 

Maximal number of HASH modes.

CRYS_ECPKI_HASH_OpModeLast 

Reserved.

Enumerator for the EC point compression idetifier.

Enumerator
CRYS_EC_PointCompressed 

Compressed point.

CRYS_EC_PointUncompressed 

Uncompressed point.

CRYS_EC_PointContWrong 

Wrong Point Control value.

CRYS_EC_PointHybrid 

Hybrid point.

CRYS_EC_PointCompresOffMode 

Reserved.

CRYS_ECPKI_PointCompressionLast 

Reserved.

Defintion of sw SCA protection.

Enumerator
SCAP_Active 

Inactive.

SCAP_OFF_MODE 

Active.

SCAP_LAST 

Reserved.

EC key checks defintions.

Enumerator
CheckPointersAndSizesOnly 

Only preliminary input parameters are checked.

ECpublKeyPartlyCheck 

Preliminary input parameters check and verify that EC PubKey point is on the curve.

ECpublKeyFullCheck 

All the above and in addition verifies that EC_GeneratorOrder*PubKey = O

EC_PublKeyCheckModeLast 

Reserved.


Documentation feedback | Developer Zone | Subscribe | Updated