63 #define CRYS_RND_MAX_RESEED_COUNTER (0xFFFFFFFF - 0xF) 68 #define CRYS_RND_MAX_GEN_VECTOR_SIZE_BITS 0x7FFFF 70 #define CRYS_RND_MAX_GEN_VECTOR_SIZE_BYTES 0xFFFF 73 #define CRYS_RND_AES_BLOCK_SIZE_IN_WORDS SASI_AES_BLOCK_SIZE_IN_WORDS 78 #define CRYS_RND_SEED_MAX_SIZE_WORDS 12 80 #ifndef CRYS_RND_ADDITINAL_INPUT_MAX_SIZE_WORDS 82 #define CRYS_RND_ADDITINAL_INPUT_MAX_SIZE_WORDS CRYS_RND_SEED_MAX_SIZE_WORDS 87 #define CRYS_RND_AES_KEY_128_SIZE_WORDS 4 89 #define CRYS_RND_AES_KEY_192_SIZE_WORDS 6 91 #define CRYS_RND_AES_KEY_256_SIZE_WORDS 8 98 #define CRYS_RND_WORK_BUFFER_SIZE_WORDS 1528 108 #define CRYS_RND_EntropyEstimatData_t CRYS_RND_WorkBuff_t 110 #define crysRndEntrIntBuff crysRndWorkBuff 115 #define CRYS_RND_TRNG_SRC_INNER_OFFSET_WORDS 2 117 #define CRYS_RND_TRNG_SRC_INNER_OFFSET_BYTES (CRYS_RND_TRNG_SRC_INNER_OFFSET_WORDS*sizeof(uint32_t)) 124 #define CRYS_PRNG_FIPS_KAT_OUT_DATA_SIZE 64 207 void *rndState_ptr, \
208 uint16_t outSizeBytes, \
292 uint16_t outSizeBytes,
316 uint32_t rndSizeInBits,
317 uint8_t *maxVect_ptr,
334 uint8_t *additonalInput_ptr,
335 uint16_t additonalInputSize
351 uint8_t *entrData_ptr,
#define CRYS_RND_SEED_MAX_SIZE_WORDS
CRYSError_t CRYS_RND_EnterKatMode(void *rndState_ptr, uint8_t *entrData_ptr, uint32_t entrSize, uint8_t *nonce_ptr, uint32_t nonceSize, CRYS_RND_WorkBuff_t *workBuff_ptr)
The CRYS_RND_EnterKatMode function sets KAT mode bit into StateFlag of global CRYS_RND_WorkingState s...
#define CRYS_RND_ADDITINAL_INPUT_MAX_SIZE_WORDS
CRYSError_t CRYS_RND_GenerateVector(void *rndState_ptr, uint16_t outSizeBytes, uint8_t *out_ptr)
Generates a random vector according to the algorithm defined in referenced standard [SP800-90] - 10...
CRYSError_t CRYS_RND_Reseeding(void *rndState_ptr, CRYS_RND_WorkBuff_t *rndWorkBuff_ptr)
This function is used for reseeding the RNG with additional entropy and additional user-provided inpu...
uint32_t AddInputSizeWords
#define CRYS_RND_WORK_BUFFER_SIZE_WORDS
uint32_t EntropySourceSizeWords
#define CRYS_PRNG_FIPS_KAT_OUT_DATA_SIZE
#define SASI_AES_BLOCK_SIZE_IN_WORDS
CRYS_RND_WorkBuff_t rndWorkBuff
CRYSError_t CRYS_RND_AddAdditionalInput(void *rndState_ptr, uint8_t *additonalInput_ptr, uint16_t additonalInputSize)
Used for adding additional input/personalization data provided by the user, to be later used by the C...
CRYSError_t CRYS_RND_UnInstantiation(void *rndState_ptr)
Clears existing RNG instantiation state.
This file contains all of the enums and definitions that are used for the CryptoCell AES APIs...
CRYSError_t CRYS_RND_GenerateVectorInRange(void *rndState_ptr, SaSiRndGenerateVectWorkFunc_t rndGenerateVectFunc, uint32_t rndSizeInBits, uint8_t *maxVect_ptr, uint8_t *rndVect_ptr)
Generates a random vector with specific limitations by testing candidates (described and used in FIPS...
void CRYS_RND_DisableKatMode(void *rndState_ptr)
The CRYS_RND_DisableKatMode function disables KAT mode bit into StateFlag of global CRYS_RND_State_t ...
uint32_t(* SaSiRndGenerateVectWorkFunc_t)(void *rndState_ptr, uint16_t outSizeBytes, uint8_t *out_ptr)
CRYSError_t CRYS_RND_Instantiation(void *rndState_ptr, CRYS_RND_WorkBuff_t *rndWorkBuff_ptr)
This function initializes the RND context. It must be called at least once prior to using this contex...
This module defines the error return code types and the numbering spaces of the error codes for each ...