mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-01-27 06:35:22 +00:00
PSA PAKE: add input size macros
The caller is likely to receive the inputs on the wire, and having a known size for which they can confidently reject longer inputs would be helpful in cases where the application can't just use the input in place. Signed-off-by: Janos Follath <janos.follath@arm.com>
This commit is contained in:
parent
5e1948d2a3
commit
a295918596
@ -4626,6 +4626,8 @@ psa_status_t psa_pake_output(psa_pake_operation_t *operation,
|
||||
* \retval #PSA_ERROR_HARDWARE_FAILURE
|
||||
* \retval #PSA_ERROR_CORRUPTION_DETECTED
|
||||
* \retval #PSA_ERROR_STORAGE_FAILURE
|
||||
* \retval #PSA_ERROR_INVALID_ARGUMENT
|
||||
* The input is not valid for the algorithm, ciphersuite or \p step.
|
||||
* \retval #PSA_ERROR_BAD_STATE
|
||||
* The library has not been previously initialized by psa_crypto_init().
|
||||
* It is implementation-dependent whether a failure to initialize
|
||||
|
@ -1134,10 +1134,9 @@
|
||||
|
||||
/** A sufficient output buffer size for psa_pake_output().
|
||||
*
|
||||
* If the size of the ciphertext buffer is at least this large, it is
|
||||
* guaranteed that psa_pake_output() will not fail due to an
|
||||
* insufficient ciphertext buffer size. The actual size of the output might be
|
||||
* smaller in any given call.
|
||||
* If the size of the output buffer is at least this large, it is guaranteed
|
||||
* that psa_pake_output() will not fail due to an insufficient output buffer
|
||||
* size. The actual size of the output might be smaller in any given call.
|
||||
*
|
||||
* See also #PSA_PAKE_OUTPUT_MAX_SIZE
|
||||
*
|
||||
@ -1154,6 +1153,26 @@
|
||||
*/
|
||||
#define PSA_PAKE_OUTPUT_SIZE(alg, primitive, output_step) 0
|
||||
|
||||
/** A sufficient input buffer size for psa_pake_input().
|
||||
*
|
||||
* If the size of the input is larger than this, it is guaranteed
|
||||
* that psa_pake_input() will fail with #PSA_ERROR_INVALID_ARGUMENT.
|
||||
*
|
||||
* See also #PSA_PAKE_INPUT_MAX_SIZE
|
||||
*
|
||||
* \param alg A PAKE algorithm (PSA_ALG_XXX value such that
|
||||
* #PSA_ALG_IS_PAKE(\p alg) is true).
|
||||
* \param primitive A primitive of type ::psa_pake_primitive_t that is
|
||||
* compatible with algorithm \p alg.
|
||||
* \param output_step A value of type ::psa_pake_step_t that is valid for the
|
||||
* algorithm \p alg.
|
||||
* \return A sufficient output buffer size for the specified
|
||||
* output, cipher suite and algorithm. If the cipher suite,
|
||||
* the output type or PAKE algorithm is not recognized, or
|
||||
* the parameters are incompatible, return 0.
|
||||
*/
|
||||
#define PSA_PAKE_INPUT_SIZE(alg, primitive, input_step) 0
|
||||
|
||||
/** Output buffer size for psa_pake_output() for any of the supported cipher
|
||||
* suites and PAKE algorithms.
|
||||
*
|
||||
@ -1163,4 +1182,13 @@
|
||||
*/
|
||||
#define PSA_PAKE_OUTPUT_MAX_SIZE 0
|
||||
|
||||
/** Input buffer size for psa_pake_input() for any of the supported cipher
|
||||
* suites and PAKE algorithms.
|
||||
*
|
||||
* This macro must expand to a compile-time constant integer.
|
||||
*
|
||||
* See also #PSA_PAKE_INPUT_SIZE(\p alg, \p cipher_suite, \p output).
|
||||
*/
|
||||
#define PSA_PAKE_INPUT_MAX_SIZE 0
|
||||
|
||||
#endif /* PSA_CRYPTO_SIZES_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user