Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
Random generation
Functions | |
psa_status_t | psa_generate_random (uint8_t *output, size_t output_size) |
Generate random bytes. | |
psa_status_t | psa_generate_key (const psa_key_attributes_t *attributes, psa_key_handle_t *handle) |
Generate a key or key pair. |
Function Documentation
psa_status_t psa_generate_key | ( | const psa_key_attributes_t * | attributes, |
psa_key_handle_t * | handle | ||
) |
Generate a key or key pair.
The key is generated randomly. Its location, usage policy, type and size are taken from attributes
.
Implementations must reject an attempt to generate a key of size 0.
The following type-specific considerations apply:
- For RSA keys (PSA_KEY_TYPE_RSA_KEY_PAIR), the public exponent is 65537. The modulus is a product of two probabilistic primes between 2^{n-1} and 2^n where n is the bit size specified in the attributes.
- Parameters:
-
[in] attributes The attributes for the new key. [out] handle On success, a handle to the newly created key. 0
on failure.
- Return values:
-
PSA_SUCCESS Success. If the key is persistent, the key material and the key's metadata have been saved to persistent storage. PSA_ERROR_ALREADY_EXISTS This is an attempt to create a persistent key, and there is already a persistent key with the given identifier. PSA_ERROR_NOT_SUPPORTED PSA_ERROR_INVALID_ARGUMENT PSA_ERROR_INSUFFICIENT_MEMORY PSA_ERROR_INSUFFICIENT_ENTROPY PSA_ERROR_COMMUNICATION_FAILURE PSA_ERROR_HARDWARE_FAILURE PSA_ERROR_CORRUPTION_DETECTED PSA_ERROR_INSUFFICIENT_STORAGE PSA_ERROR_STORAGE_FAILURE PSA_ERROR_BAD_STATE The library has not been previously initialized by psa_crypto_init(). It is implementation-dependent whether a failure to initialize results in this error code.
Definition at line 5537 of file psa_crypto.c.
psa_status_t psa_generate_random | ( | uint8_t * | output, |
size_t | output_size | ||
) |
Generate random bytes.
- 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.
- Parameters:
-
[out] output Output buffer for the generated data. output_size Number of bytes to generate and output.
- Return values:
-
PSA_SUCCESS PSA_ERROR_NOT_SUPPORTED PSA_ERROR_INSUFFICIENT_ENTROPY PSA_ERROR_INSUFFICIENT_MEMORY PSA_ERROR_COMMUNICATION_FAILURE PSA_ERROR_HARDWARE_FAILURE PSA_ERROR_CORRUPTION_DETECTED PSA_ERROR_BAD_STATE The library has not been previously initialized by psa_crypto_init(). It is implementation-dependent whether a failure to initialize results in this error code.
Definition at line 5367 of file psa_crypto.c.
Generated on Tue Jul 12 2022 13:55:24 by
