nRF5 SDK v17.1.0
Macros
CryptoCell PKA specific definitions

Macros

#define CRYS_RSA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS   ((CRYS_RSA_MAX_VALID_KEY_SIZE_VALUE_IN_BITS + SASI_PKA_WORD_SIZE_IN_BITS) / SASI_BITS_IN_32BIT_WORD )
 
#define CRYS_ECPKI_MODUL_MAX_LENGTH_IN_BITS   521
 
#define CRYS_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS   5
 
#define CRYS_PKA_ECPKI_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS   CRYS_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS
 
#define CRYS_PKA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS   CRYS_RSA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS
 
#define CRYS_PKA_PUB_KEY_BUFF_SIZE_IN_WORDS   (2*CRYS_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS)
 
#define CRYS_PKA_PRIV_KEY_BUFF_SIZE_IN_WORDS   (2*CRYS_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS)
 
#define CRYS_PKA_KGDATA_BUFF_SIZE_IN_WORDS   (3*CRYS_PKA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS)
 
#define CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS   18
 
#define CRYS_ECPKI_ORDER_MAX_LENGTH_IN_WORDS   (CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS + 1)
 
#define CRYS_PKA_DOMAIN_BUFF_SIZE_IN_WORDS   (2*CRYS_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS)
 
#define COUNT_NAF_WORDS_PER_KEY_WORD   8
 
#define CRYS_PKA_ECDSA_NAF_BUFF_MAX_LENGTH_IN_WORDS   (COUNT_NAF_WORDS_PER_KEY_WORD*CRYS_ECPKI_ORDER_MAX_LENGTH_IN_WORDS + 1)
 
#define CRYS_PKA_ECPKI_SCALAR_MUL_BUFF_MAX_LENGTH_IN_WORDS   (CRYS_PKA_ECDSA_NAF_BUFF_MAX_LENGTH_IN_WORDS+CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS+2)
 
#define CRYS_PKA_ECPKI_BUILD_TMP_BUFF_MAX_LENGTH_IN_WORDS   (3*CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS+CRYS_PKA_ECPKI_SCALAR_MUL_BUFF_MAX_LENGTH_IN_WORDS)
 
#define CRYS_PKA_ECDSA_SIGN_BUFF_MAX_LENGTH_IN_WORDS   (6*CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS+CRYS_PKA_ECPKI_SCALAR_MUL_BUFF_MAX_LENGTH_IN_WORDS)
 
#define CRYS_PKA_ECDH_BUFF_MAX_LENGTH_IN_WORDS   (2*CRYS_ECPKI_ORDER_MAX_LENGTH_IN_WORDS + CRYS_PKA_ECPKI_SCALAR_MUL_BUFF_MAX_LENGTH_IN_WORDS)
 
#define CRYS_PKA_KG_BUFF_MAX_LENGTH_IN_WORDS   (2*CRYS_ECPKI_ORDER_MAX_LENGTH_IN_WORDS + CRYS_PKA_ECPKI_SCALAR_MUL_BUFF_MAX_LENGTH_IN_WORDS)
 
#define CRYS_PKA_ECDSA_VERIFY_BUFF_MAX_LENGTH_IN_WORDS   (3*CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS)
 
#define CRYS_EC_MONT_EDW_MODULUS_MAX_SIZE_IN_BYTES   32U
 
#define CRYS_EC_MONT_EDW_MODULUS_MAX_SIZE_IN_WORDS   8U
 
#define CRYS_EC_MONT_TEMP_BUFF_SIZE_IN_32BIT_WORDS   (8 * CRYS_EC_MONT_EDW_MODULUS_MAX_SIZE_IN_WORDS)
 
#define CRYS_EC_EDW_TEMP_BUFF_SIZE_IN_32BIT_WORD   (8*CRYS_EC_MONT_EDW_MODULUS_MAX_SIZE_IN_WORDS + (sizeof(CRYS_HASHUserContext_t)+SASI_32BIT_WORD_SIZE-1)/SASI_32BIT_WORD_SIZE)
 

Detailed Description

Macro Definition Documentation

#define COUNT_NAF_WORDS_PER_KEY_WORD   8

ECC NAF buffer definitions

#define CRYS_EC_EDW_TEMP_BUFF_SIZE_IN_32BIT_WORD   (8*CRYS_EC_MONT_EDW_MODULUS_MAX_SIZE_IN_WORDS + (sizeof(CRYS_HASHUserContext_t)+SASI_32BIT_WORD_SIZE-1)/SASI_32BIT_WORD_SIZE)

ECC edwards temp buffer size in words

#define CRYS_EC_MONT_EDW_MODULUS_MAX_SIZE_IN_BYTES   32U

Definitions of maximal size of modulus buffers for CRYS_EC_MONT and EC_EDW in bytes

#define CRYS_EC_MONT_EDW_MODULUS_MAX_SIZE_IN_WORDS   8U

Definitions of maximal size of modulus buffers for CRYS_EC_MONT and EC_EDW in words

#define CRYS_EC_MONT_TEMP_BUFF_SIZE_IN_32BIT_WORDS   (8 * CRYS_EC_MONT_EDW_MODULUS_MAX_SIZE_IN_WORDS)

ECC montgomery temp buffer size in words

#define CRYS_ECPKI_MODUL_MAX_LENGTH_IN_BITS   521

Maximal EC modulus size

#define CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS   18

Maximal EC modulus size in words.

#define CRYS_ECPKI_ORDER_MAX_LENGTH_IN_WORDS   (CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS + 1)

Maximal EC order size in words.

#define CRYS_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS   5

size of buffers for Barrett modulus tag NP, used in PKI algorithms.

#define CRYS_PKA_DOMAIN_BUFF_SIZE_IN_WORDS   (2*CRYS_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS)

Maximal EC domain size in words.

#define CRYS_PKA_ECDH_BUFF_MAX_LENGTH_IN_WORDS   (2*CRYS_ECPKI_ORDER_MAX_LENGTH_IN_WORDS + CRYS_PKA_ECPKI_SCALAR_MUL_BUFF_MAX_LENGTH_IN_WORDS)

ECC ecdh temp buffer size in words

#define CRYS_PKA_ECDSA_NAF_BUFF_MAX_LENGTH_IN_WORDS   (COUNT_NAF_WORDS_PER_KEY_WORD*CRYS_ECPKI_ORDER_MAX_LENGTH_IN_WORDS + 1)

Maximal ECC NAF length

#define CRYS_PKA_ECDSA_SIGN_BUFF_MAX_LENGTH_IN_WORDS   (6*CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS+CRYS_PKA_ECPKI_SCALAR_MUL_BUFF_MAX_LENGTH_IN_WORDS)

ECC sign temp buffer size in words

#define CRYS_PKA_ECDSA_VERIFY_BUFF_MAX_LENGTH_IN_WORDS   (3*CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS)

ECC verify temp buffer size in words

#define CRYS_PKA_ECPKI_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS   CRYS_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS

size of buffers for Barrett modulus tag NP, used in ECC.

#define CRYS_PKA_ECPKI_BUILD_TMP_BUFF_MAX_LENGTH_IN_WORDS   (3*CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS+CRYS_PKA_ECPKI_SCALAR_MUL_BUFF_MAX_LENGTH_IN_WORDS)

ECC temp buffer size in words

#define CRYS_PKA_ECPKI_SCALAR_MUL_BUFF_MAX_LENGTH_IN_WORDS   (CRYS_PKA_ECDSA_NAF_BUFF_MAX_LENGTH_IN_WORDS+CRYS_ECPKI_MODUL_MAX_LENGTH_IN_WORDS+2)

Scalar Buffer size in words

#define CRYS_PKA_KG_BUFF_MAX_LENGTH_IN_WORDS   (2*CRYS_ECPKI_ORDER_MAX_LENGTH_IN_WORDS + CRYS_PKA_ECPKI_SCALAR_MUL_BUFF_MAX_LENGTH_IN_WORDS)

PKA KG temp buffer size in words

#define CRYS_PKA_KGDATA_BUFF_SIZE_IN_WORDS   (3*CRYS_PKA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS)

Maximal PKA KG buffer size in words

#define CRYS_PKA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS   CRYS_RSA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS

Maximal PKA modulus size

#define CRYS_PKA_PRIV_KEY_BUFF_SIZE_IN_WORDS   (2*CRYS_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS)

Maximal PKA private key size in words

#define CRYS_PKA_PUB_KEY_BUFF_SIZE_IN_WORDS   (2*CRYS_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS)

Maximal PKA public key size in words

#define CRYS_RSA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS   ((CRYS_RSA_MAX_VALID_KEY_SIZE_VALUE_IN_BITS + SASI_PKA_WORD_SIZE_IN_BITS) / SASI_BITS_IN_32BIT_WORD )

Maximal RSA modulus size


Documentation feedback | Developer Zone | Subscribe | Updated