CryptoCell PKA specific definitions

nRF5 SDK v15.3.0

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.

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

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