10.10. Other cryptographic services

10.10.1. Random number generation

psa_generate_random (function)

Generate random bytes.

psa_status_t psa_generate_random(uint8_t * output,
                                 size_t output_size);

Parameters

output

Output buffer for the generated data.

output_size

Number of bytes to generate and output.

Returns: psa_status_t

PSA_SUCCESS

Success. output contains output_size bytes of generated random data.

PSA_ERROR_BAD_STATE

The library requires initializing by a call to psa_crypto_init().

PSA_ERROR_NOT_SUPPORTED

PSA_ERROR_INSUFFICIENT_ENTROPY

PSA_ERROR_INSUFFICIENT_MEMORY

PSA_ERROR_COMMUNICATION_FAILURE

PSA_ERROR_CORRUPTION_DETECTED

Description

Warning

This function can fail! Callers MUST check the return status and MUST NOT use the content of the output buffer if the return status is not PSA_SUCCESS.

Note

To generate a key, use psa_generate_key() instead.