mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-26 10:55:46 +01:00
Numerous minor improvements to bignum documentation
This commit is contained in:
parent
56b661cbf8
commit
e118504a5f
@ -196,9 +196,9 @@ mbedtls_mpi;
|
|||||||
void mbedtls_mpi_init( mbedtls_mpi *X );
|
void mbedtls_mpi_init( mbedtls_mpi *X );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Clear an MPI context.
|
* \brief This function frees the components an MPI context.
|
||||||
*
|
*
|
||||||
* \param X The MPI context to be cleared. May be \c NULL,
|
* \param X The MPI context to be cleared. This may be \c NULL,
|
||||||
* in which case this function is a no-op. If it is
|
* in which case this function is a no-op. If it is
|
||||||
* not \c NULL, it must point to an initialized MPI.
|
* not \c NULL, it must point to an initialized MPI.
|
||||||
*/
|
*/
|
||||||
@ -220,7 +220,8 @@ void mbedtls_mpi_free( mbedtls_mpi *X );
|
|||||||
int mbedtls_mpi_grow( mbedtls_mpi *X, size_t nblimbs );
|
int mbedtls_mpi_grow( mbedtls_mpi *X, size_t nblimbs );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Resize down, keeping at least the specified number of limbs.
|
* \brief This function resizes an MPI downwards, keeping at least the
|
||||||
|
* specified number of limbs.
|
||||||
*
|
*
|
||||||
* If \c X is smaller than \c nblimbs, it is resized up
|
* If \c X is smaller than \c nblimbs, it is resized up
|
||||||
* instead.
|
* instead.
|
||||||
@ -259,14 +260,14 @@ int mbedtls_mpi_copy( mbedtls_mpi *X, const mbedtls_mpi *Y );
|
|||||||
void mbedtls_mpi_swap( mbedtls_mpi *X, mbedtls_mpi *Y );
|
void mbedtls_mpi_swap( mbedtls_mpi *X, mbedtls_mpi *Y );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Safe conditional copy of MPI which doesn't
|
* \brief Perform a safe conditional copy of MPI which doesn't
|
||||||
* reveal whether the conditional was true or not.
|
* reveal whether the condition was true or not.
|
||||||
*
|
*
|
||||||
* \param X The MPI to conditionally assign to. This must point
|
* \param X The MPI to conditionally assign to. This must point
|
||||||
* to an initialized MPI.
|
* to an initialized MPI.
|
||||||
* \param Y The MPI to be assigned from. This must point to an
|
* \param Y The MPI to be assigned from. This must point to an
|
||||||
* initialized MPI.
|
* initialized MPI.
|
||||||
* \param assign The conditional deciding whether to perform the
|
* \param assign The condition deciding whether to perform the
|
||||||
* assignment or not. Possible values:
|
* assignment or not. Possible values:
|
||||||
* * \c 1: Perform the assignment `X = Y`.
|
* * \c 1: Perform the assignment `X = Y`.
|
||||||
* * \c 0: Keep the original value of \p X.
|
* * \c 0: Keep the original value of \p X.
|
||||||
@ -285,12 +286,12 @@ void mbedtls_mpi_swap( mbedtls_mpi *X, mbedtls_mpi *Y );
|
|||||||
int mbedtls_mpi_safe_cond_assign( mbedtls_mpi *X, const mbedtls_mpi *Y, unsigned char assign );
|
int mbedtls_mpi_safe_cond_assign( mbedtls_mpi *X, const mbedtls_mpi *Y, unsigned char assign );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Safe conditional swap which doesn't
|
* \brief Perform a safe conditional swap which doesn't
|
||||||
* reveal whether the conditional was true or not.
|
* reveal whether the condition was true or not.
|
||||||
*
|
*
|
||||||
* \param X The first MPI. This must be initialized.
|
* \param X The first MPI. This must be initialized.
|
||||||
* \param Y The second MPI. This must be initialized.
|
* \param Y The second MPI. This must be initialized.
|
||||||
* \param assign The conditional deciding whether to perform
|
* \param assign The condition deciding whether to perform
|
||||||
* the swap or not. Possible values:
|
* the swap or not. Possible values:
|
||||||
* * \c 1: Swap the values of \p X and \p Y.
|
* * \c 1: Swap the values of \p X and \p Y.
|
||||||
* * \c 0: Keep the original values of \p X and \p Y.
|
* * \c 0: Keep the original values of \p X and \p Y.
|
||||||
@ -351,41 +352,42 @@ int mbedtls_mpi_get_bit( const mbedtls_mpi *X, size_t pos );
|
|||||||
int mbedtls_mpi_set_bit( mbedtls_mpi *X, size_t pos, unsigned char val );
|
int mbedtls_mpi_set_bit( mbedtls_mpi *X, size_t pos, unsigned char val );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Return the number of zero-bits before the
|
* \brief Return the number of bits of value \c 0 before the
|
||||||
* least significant '1' bit
|
* least significant bit of value \c 1.
|
||||||
*
|
*
|
||||||
* \note This is the same as the zero-based index of
|
* \note This is the same as the zero-based index of
|
||||||
* the least significant '1' bit.
|
* the least significant bit of value \c 1.
|
||||||
*
|
*
|
||||||
* \param X The MPI to query.
|
* \param X The MPI to query.
|
||||||
*
|
*
|
||||||
* \return The number of zero-bits before the least significant
|
* \return The number of bits of value \c 0 before the least significant
|
||||||
* '1' bit in \p X.
|
* bit of value \c 1 in \p X.
|
||||||
*/
|
*/
|
||||||
size_t mbedtls_mpi_lsb( const mbedtls_mpi *X );
|
size_t mbedtls_mpi_lsb( const mbedtls_mpi *X );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Return the number of bits up to and including the most
|
* \brief Return the number of bits up to and including the most
|
||||||
* significant '1' bit.
|
* significant bit of value \c 1.
|
||||||
*
|
*
|
||||||
* * \note This is same as the one-based index of the most
|
* * \note This is same as the one-based index of the most
|
||||||
* significant '1' bit.
|
* significant bit of value \c 1.
|
||||||
*
|
*
|
||||||
* \param X The MPI to query. This must point to an initialized MPI.
|
* \param X The MPI to query. This must point to an initialized MPI.
|
||||||
*
|
*
|
||||||
* \return The number of bits up to and including the most
|
* \return The number of bits up to and including the most
|
||||||
* significant '1' bit.
|
* significant bit of value \c 1.
|
||||||
*/
|
*/
|
||||||
size_t mbedtls_mpi_bitlen( const mbedtls_mpi *X );
|
size_t mbedtls_mpi_bitlen( const mbedtls_mpi *X );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Return the total size an MPI value in bytes.
|
* \brief Return the total size of an MPI value in bytes.
|
||||||
*
|
*
|
||||||
* \param X The MPI to use. This must point to an initialized MPI.
|
* \param X The MPI to use. This must point to an initialized MPI.
|
||||||
*
|
*
|
||||||
* \note The value returned by this function may be less than
|
* \note The value returned by this function may be less than
|
||||||
* the number of bytes used to store \p X internally.
|
* the number of bytes used to store \p X internally.
|
||||||
* This happens if and only if there are trailing zero-bytes.
|
* This happens if and only if there are trailing bytes
|
||||||
|
* of value zero.
|
||||||
*
|
*
|
||||||
* \return The least number of bytes capable of storing
|
* \return The least number of bytes capable of storing
|
||||||
* the absolute value of \p X.
|
* the absolute value of \p X.
|
||||||
@ -405,17 +407,19 @@ size_t mbedtls_mpi_size( const mbedtls_mpi *X );
|
|||||||
int mbedtls_mpi_read_string( mbedtls_mpi *X, int radix, const char *s );
|
int mbedtls_mpi_read_string( mbedtls_mpi *X, int radix, const char *s );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Export an MPI into an ASCII string.
|
* \brief Export an MPI to an ASCII string.
|
||||||
*
|
*
|
||||||
* \param X The source MPI. This must point to an initialized MPI.
|
* \param X The source MPI. This must point to an initialized MPI.
|
||||||
* \param radix The numeric base of the output string.
|
* \param radix The numeric base of the output string.
|
||||||
* \param buf Buffer to write the string to. Must be writable of
|
* \param buf The buffer to write the string to. This must be writable
|
||||||
* length \p buflen Bytes. May be \c NULL if `buflen == 0`.
|
* buffer of length \p buflen Bytes. It May be \c NULL if
|
||||||
|
* `buflen == 0`.
|
||||||
* \param buflen The available size in Bytes of \p buf.
|
* \param buflen The available size in Bytes of \p buf.
|
||||||
* \param olen Address at which to store the length of the string written,
|
* \param olen The address at which to store the length of the string
|
||||||
* including final \c NULL byte. This must not be \c NULL.
|
* written, including the final \c NULL byte. This must
|
||||||
|
* not be \c NULL.
|
||||||
*
|
*
|
||||||
* \note Call this function with `buflen == 0` to obtain the
|
* \note You can call this function with `buflen == 0` to obtain the
|
||||||
* minimum required buffer size in `*olen`.
|
* minimum required buffer size in `*olen`.
|
||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
@ -457,12 +461,12 @@ int mbedtls_mpi_read_file( mbedtls_mpi *X, int radix, FILE *fin );
|
|||||||
*
|
*
|
||||||
* \param p A string prefix to emit prior to the MPI data.
|
* \param p A string prefix to emit prior to the MPI data.
|
||||||
* For example, this might be a label, or "0x" when
|
* For example, this might be a label, or "0x" when
|
||||||
* printing in base 16. May be \c NULL if no prefix
|
* printing in base \c 16. This may be \c NULL if no prefix
|
||||||
* is needed.
|
* is needed.
|
||||||
* \param X The source MPI. This must point to an initialized MPI.
|
* \param X The source MPI. This must point to an initialized MPI.
|
||||||
* \param radix The numeric base to be used in the emitted string.
|
* \param radix The numeric base to be used in the emitted string.
|
||||||
* \param fout The output file handle. May be \c NULL, in which case
|
* \param fout The output file handle. This may be \c NULL, in which case
|
||||||
* the output is written to `stdout`.
|
* the output is written to \c stdout.
|
||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return A negative error code on failure.
|
* \return A negative error code on failure.
|
||||||
@ -475,7 +479,7 @@ int mbedtls_mpi_write_file( const char *p, const mbedtls_mpi *X,
|
|||||||
* \brief Import an MPI from unsigned big endian binary data.
|
* \brief Import an MPI from unsigned big endian binary data.
|
||||||
*
|
*
|
||||||
* \param X The destination MPI. This must point to an initialized MPI.
|
* \param X The destination MPI. This must point to an initialized MPI.
|
||||||
* \param buf The input buffer. Must be a readable buffer of length
|
* \param buf The input buffer. This must be a readable buffer of length
|
||||||
* \p buflen Bytes.
|
* \p buflen Bytes.
|
||||||
* \param buflen The length of the input buffer \p p in Bytes.
|
* \param buflen The length of the input buffer \p p in Bytes.
|
||||||
*
|
*
|
||||||
@ -491,13 +495,13 @@ int mbedtls_mpi_read_binary( mbedtls_mpi *X, const unsigned char *buf,
|
|||||||
* of fixed size.
|
* of fixed size.
|
||||||
*
|
*
|
||||||
* \param X The source MPI. This must point to an initialized MPI.
|
* \param X The source MPI. This must point to an initialized MPI.
|
||||||
* \param buf The output buffer. Must be a writable buffer of length
|
* \param buf The output buffer. This must be a writable buffer of length
|
||||||
* \p buflen Bytes.
|
* \p buflen Bytes.
|
||||||
* \param buflen The size of the output buffer \p buf in Bytes.
|
* \param buflen The size of the output buffer \p buf in Bytes.
|
||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return #MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL if \p buf isn't
|
* \return #MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL if \p buf isn't
|
||||||
* large enoguh to hold the value of \p X.
|
* large enough to hold the value of \p X.
|
||||||
* \return Another negative error code on different kinds of failure.
|
* \return Another negative error code on different kinds of failure.
|
||||||
*/
|
*/
|
||||||
int mbedtls_mpi_write_binary( const mbedtls_mpi *X, unsigned char *buf,
|
int mbedtls_mpi_write_binary( const mbedtls_mpi *X, unsigned char *buf,
|
||||||
@ -507,7 +511,7 @@ int mbedtls_mpi_write_binary( const mbedtls_mpi *X, unsigned char *buf,
|
|||||||
* \brief Perform a left-shift on an MPI: X <<= count
|
* \brief Perform a left-shift on an MPI: X <<= count
|
||||||
*
|
*
|
||||||
* \param X The MPI to shift. This must point to an initialized MPI.
|
* \param X The MPI to shift. This must point to an initialized MPI.
|
||||||
* \param count The amount to shift, in bits.
|
* \param count The number of bits to shift by.
|
||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
||||||
@ -519,7 +523,7 @@ int mbedtls_mpi_shift_l( mbedtls_mpi *X, size_t count );
|
|||||||
* \brief Perform a right-shift on an MPI: X >>= count
|
* \brief Perform a right-shift on an MPI: X >>= count
|
||||||
*
|
*
|
||||||
* \param X The MPI to shift. This must point to an initialized MPI.
|
* \param X The MPI to shift. This must point to an initialized MPI.
|
||||||
* \param count The amount to shift, in bits.
|
* \param count The number of bits to shift by.
|
||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
||||||
@ -535,7 +539,7 @@ int mbedtls_mpi_shift_r( mbedtls_mpi *X, size_t count );
|
|||||||
*
|
*
|
||||||
* \return \c 1 if `|X|` is greater than `|Y|`.
|
* \return \c 1 if `|X|` is greater than `|Y|`.
|
||||||
* \return \c -1 if `|X|` is lesser than `|Y|`.
|
* \return \c -1 if `|X|` is lesser than `|Y|`.
|
||||||
* \return \c 0 if `|X|` is equal than `|Y|`.
|
* \return \c 0 if `|X|` is equal to `|Y|`.
|
||||||
*/
|
*/
|
||||||
int mbedtls_mpi_cmp_abs( const mbedtls_mpi *X, const mbedtls_mpi *Y );
|
int mbedtls_mpi_cmp_abs( const mbedtls_mpi *X, const mbedtls_mpi *Y );
|
||||||
|
|
||||||
@ -545,9 +549,9 @@ int mbedtls_mpi_cmp_abs( const mbedtls_mpi *X, const mbedtls_mpi *Y );
|
|||||||
* \param X The left-hand MPI. This must point to an initialized MPI.
|
* \param X The left-hand MPI. This must point to an initialized MPI.
|
||||||
* \param Y The right-hand MPI. This must point to an initialized MPI.
|
* \param Y The right-hand MPI. This must point to an initialized MPI.
|
||||||
*
|
*
|
||||||
* \return \c 1 if `X` is greater than `Y`.
|
* \return \c 1 if \p X is greater than \p Y.
|
||||||
* \return \c -1 if `X` is lesser than `Y`.
|
* \return \c -1 if \p X is lesser than \p Y.
|
||||||
* \return \c 0 if `X` is equal than `Y`.
|
* \return \c 0 if \p X is equal to \p Y.
|
||||||
*/
|
*/
|
||||||
int mbedtls_mpi_cmp_mpi( const mbedtls_mpi *X, const mbedtls_mpi *Y );
|
int mbedtls_mpi_cmp_mpi( const mbedtls_mpi *X, const mbedtls_mpi *Y );
|
||||||
|
|
||||||
@ -557,9 +561,9 @@ int mbedtls_mpi_cmp_mpi( const mbedtls_mpi *X, const mbedtls_mpi *Y );
|
|||||||
* \param X The left-hand MPI. This must point to an initialized MPI.
|
* \param X The left-hand MPI. This must point to an initialized MPI.
|
||||||
* \param z The integer value to compare \p X to.
|
* \param z The integer value to compare \p X to.
|
||||||
*
|
*
|
||||||
* \return \c 1 if `X` is greater than `z`.
|
* \return \c 1 if \p X is greater than \p z.
|
||||||
* \return \c -1 if `X` is lesser than `z`.
|
* \return \c -1 if \p X is lesser than \p z.
|
||||||
* \return \c 0 if `X` is equal than `z`.
|
* \return \c 0 if \p X is equal to \p z.
|
||||||
*/
|
*/
|
||||||
int mbedtls_mpi_cmp_int( const mbedtls_mpi *X, mbedtls_mpi_sint z );
|
int mbedtls_mpi_cmp_int( const mbedtls_mpi *X, mbedtls_mpi_sint z );
|
||||||
|
|
||||||
@ -693,7 +697,7 @@ int mbedtls_mpi_mul_int( mbedtls_mpi *X, const mbedtls_mpi *A,
|
|||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if memory allocation failed.
|
||||||
* \return #MBEDTLS_ERR_MPI_DIVISION_BY_ZERO if `B == 0`.
|
* \return #MBEDTLS_ERR_MPI_DIVISION_BY_ZERO if \p B equals zero.
|
||||||
* \return Another negative error code on different kinds of failure.
|
* \return Another negative error code on different kinds of failure.
|
||||||
*/
|
*/
|
||||||
int mbedtls_mpi_div_mpi( mbedtls_mpi *Q, mbedtls_mpi *R, const mbedtls_mpi *A,
|
int mbedtls_mpi_div_mpi( mbedtls_mpi *Q, mbedtls_mpi *R, const mbedtls_mpi *A,
|
||||||
@ -712,7 +716,7 @@ int mbedtls_mpi_div_mpi( mbedtls_mpi *Q, mbedtls_mpi *R, const mbedtls_mpi *A,
|
|||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if memory allocation failed.
|
||||||
* \return #MBEDTLS_ERR_MPI_DIVISION_BY_ZERO if `b == 0`.
|
* \return #MBEDTLS_ERR_MPI_DIVISION_BY_ZERO if \p b equals zero.
|
||||||
* \return Another negative error code on different kinds of failure.
|
* \return Another negative error code on different kinds of failure.
|
||||||
*/
|
*/
|
||||||
int mbedtls_mpi_div_int( mbedtls_mpi *Q, mbedtls_mpi *R, const mbedtls_mpi *A,
|
int mbedtls_mpi_div_int( mbedtls_mpi *Q, mbedtls_mpi *R, const mbedtls_mpi *A,
|
||||||
@ -730,8 +734,8 @@ int mbedtls_mpi_div_int( mbedtls_mpi *Q, mbedtls_mpi *R, const mbedtls_mpi *A,
|
|||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
||||||
* \return #MBEDTLS_ERR_MPI_DIVISION_BY_ZERO if `B == 0`.
|
* \return #MBEDTLS_ERR_MPI_DIVISION_BY_ZERO if \p B equals zero.
|
||||||
* \return #MBEDTLS_ERR_MPI_NEGATIVE_VALUE if `B < 0`.
|
* \return #MBEDTLS_ERR_MPI_NEGATIVE_VALUE if \p B is negative.
|
||||||
* \return Another negative error code on different kinds of failure.
|
* \return Another negative error code on different kinds of failure.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -750,8 +754,8 @@ int mbedtls_mpi_mod_mpi( mbedtls_mpi *R, const mbedtls_mpi *A,
|
|||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
||||||
* \return #MBEDTLS_ERR_MPI_DIVISION_BY_ZERO if `b == 0`.
|
* \return #MBEDTLS_ERR_MPI_DIVISION_BY_ZERO if \p b equals zero.
|
||||||
* \return #MBEDTLS_ERR_MPI_NEGATIVE_VALUE if `b < 0`.
|
* \return #MBEDTLS_ERR_MPI_NEGATIVE_VALUE if \p b is negative.
|
||||||
* \return Another negative error code on different kinds of failure.
|
* \return Another negative error code on different kinds of failure.
|
||||||
*/
|
*/
|
||||||
int mbedtls_mpi_mod_int( mbedtls_mpi_uint *r, const mbedtls_mpi *A,
|
int mbedtls_mpi_mod_int( mbedtls_mpi_uint *r, const mbedtls_mpi *A,
|
||||||
@ -768,13 +772,13 @@ int mbedtls_mpi_mod_int( mbedtls_mpi_uint *r, const mbedtls_mpi *A,
|
|||||||
* initialized MPI.
|
* initialized MPI.
|
||||||
* \param _RR A helper MPI depending solely on \p N which can be used to
|
* \param _RR A helper MPI depending solely on \p N which can be used to
|
||||||
* speed-up multiple modular exponentiations for the same value
|
* speed-up multiple modular exponentiations for the same value
|
||||||
* of \p N. May be \c NULL. If it is not \c NULL, it must point
|
* of \p N. This may be \c NULL. If it is not \c NULL, it must
|
||||||
* an initialized MPI. If it is freshly initialized, i.e. not
|
* point an initialized MPI. If it hasn't been used after
|
||||||
* used after the call to mbedtls_mpi_init(), this function
|
* the call to mbedtls_mpi_init(), this function will compute
|
||||||
* will compute the helper value and store it in \p _RR for
|
* the helper value and store it in \p _RR for reuse on
|
||||||
* reuse on subsequent calls to this function. Otherwise, the
|
* subsequent calls to this function. Otherwise, the function
|
||||||
* function will assume that \p _RR holds the helper value set
|
* will assume that \p _RR holds the helper value set by a
|
||||||
* by a previous call to mbedtls_mpi_exp_mod(), and reuse it.
|
* previous call to mbedtls_mpi_exp_mod(), and reuse it.
|
||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
||||||
@ -793,8 +797,8 @@ int mbedtls_mpi_exp_mod( mbedtls_mpi *X, const mbedtls_mpi *A,
|
|||||||
* \param X The destination MPI. This must point to an initialized MPI.
|
* \param X The destination MPI. This must point to an initialized MPI.
|
||||||
* \param size The number of random bytes to generate.
|
* \param size The number of random bytes to generate.
|
||||||
* \param f_rng The RNG function to use. This must not be \c NULL.
|
* \param f_rng The RNG function to use. This must not be \c NULL.
|
||||||
* \param p_rng The RNG parameter to be passed to \p f_rng. May be \c NULL
|
* \param p_rng The RNG parameter to be passed to \p f_rng. This may be
|
||||||
* if \p f_rng doesn't need a context argument.
|
* \c NULL if \p f_rng doesn't need a context argument.
|
||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
||||||
@ -833,7 +837,8 @@ int mbedtls_mpi_gcd( mbedtls_mpi *G, const mbedtls_mpi *A,
|
|||||||
*
|
*
|
||||||
* \return \c 0 if successful.
|
* \return \c 0 if successful.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
||||||
* \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if `N <= 1`.
|
* \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if \p N is less than
|
||||||
|
* or equal to one.
|
||||||
* \return #MBEDTLS_ERR_MPI_NOT_ACCEPTABLE if \p has no modular inverse
|
* \return #MBEDTLS_ERR_MPI_NOT_ACCEPTABLE if \p has no modular inverse
|
||||||
* with respect to \p N.
|
* with respect to \p N.
|
||||||
*/
|
*/
|
||||||
@ -857,7 +862,8 @@ int mbedtls_mpi_inv_mod( mbedtls_mpi *X, const mbedtls_mpi *A,
|
|||||||
* This must point to an initialized MPI.
|
* This must point to an initialized MPI.
|
||||||
* \param f_rng The RNG function to use. This must not be \c NULL.
|
* \param f_rng The RNG function to use. This must not be \c NULL.
|
||||||
* \param p_rng The RNG parameter to be passed to \p f_rng.
|
* \param p_rng The RNG parameter to be passed to \p f_rng.
|
||||||
* May be \c NULL if \p f_rng doesn't use a context parameter.
|
* This may be \c NULL if \p f_rng doesn't use a
|
||||||
|
* context parameter.
|
||||||
*
|
*
|
||||||
* \return \c 0 if successful, i.e. \p X is probably prime.
|
* \return \c 0 if successful, i.e. \p X is probably prime.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
||||||
@ -889,7 +895,8 @@ MBEDTLS_DEPRECATED int mbedtls_mpi_is_prime( const mbedtls_mpi *X,
|
|||||||
* at most 2<sup>-2*\p rounds</sup>.
|
* at most 2<sup>-2*\p rounds</sup>.
|
||||||
* \param f_rng The RNG function to use. This must not be \c NULL.
|
* \param f_rng The RNG function to use. This must not be \c NULL.
|
||||||
* \param p_rng The RNG parameter to be passed to \p f_rng.
|
* \param p_rng The RNG parameter to be passed to \p f_rng.
|
||||||
* May be \c NULL if \p f_rng doesn't use a context parameter.
|
* This may be \c NULL if \p f_rng doesn't use
|
||||||
|
* a context parameter.
|
||||||
*
|
*
|
||||||
* \return \c 0 if successful, i.e. \p X is probably prime.
|
* \return \c 0 if successful, i.e. \p X is probably prime.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
||||||
@ -920,9 +927,10 @@ typedef enum {
|
|||||||
* \param flags A mask of flags of type #mbedtls_mpi_gen_prime_flag_t.
|
* \param flags A mask of flags of type #mbedtls_mpi_gen_prime_flag_t.
|
||||||
* \param f_rng The RNG function to use. This must not be \c NULL.
|
* \param f_rng The RNG function to use. This must not be \c NULL.
|
||||||
* \param p_rng The RNG parameter to be passed to \p f_rng.
|
* \param p_rng The RNG parameter to be passed to \p f_rng.
|
||||||
* May be \c NULL if \p f_rng doesn't use a context parameter.
|
* This may be \c NULL if \p f_rng doesn't use
|
||||||
|
* a context parameter.
|
||||||
*
|
*
|
||||||
* \return \c 0 if successful, in which case \p X holds a probably
|
* \return \c 0 if successful, in which case \p X holds a
|
||||||
* probably prime number.
|
* probably prime number.
|
||||||
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
* \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if a memory allocation failed.
|
||||||
* \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if `nbits` is not between
|
* \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if `nbits` is not between
|
||||||
|
@ -62,32 +62,41 @@ void mpi_invalid_param( )
|
|||||||
mbedtls_mpi_uint mpi_uint;
|
mbedtls_mpi_uint mpi_uint;
|
||||||
|
|
||||||
TEST_INVALID_PARAM( mbedtls_mpi_init( NULL ) );
|
TEST_INVALID_PARAM( mbedtls_mpi_init( NULL ) );
|
||||||
|
TEST_VALID_PARAM( mbedtls_mpi_free( NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_grow( NULL, 42 ) );
|
mbedtls_mpi_grow( NULL, 42 ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_copy( NULL, &X ) );
|
mbedtls_mpi_copy( NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_copy( &X, NULL ) );
|
mbedtls_mpi_copy( &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM( mbedtls_mpi_swap( NULL, &X ) );
|
TEST_INVALID_PARAM( mbedtls_mpi_swap( NULL, &X ) );
|
||||||
TEST_INVALID_PARAM( mbedtls_mpi_swap( &X, NULL ) );
|
TEST_INVALID_PARAM( mbedtls_mpi_swap( &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_safe_cond_assign( NULL, &X, 0 ) );
|
mbedtls_mpi_safe_cond_assign( NULL, &X, 0 ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_safe_cond_assign( &X, NULL, 0 ) );
|
mbedtls_mpi_safe_cond_assign( &X, NULL, 0 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_safe_cond_swap( NULL, &X, 0 ) );
|
mbedtls_mpi_safe_cond_swap( NULL, &X, 0 ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_safe_cond_swap( &X, NULL, 0 ) );
|
mbedtls_mpi_safe_cond_swap( &X, NULL, 0 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_lset( NULL, 42 ) );
|
mbedtls_mpi_lset( NULL, 42 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_get_bit( NULL, 42 ) );
|
mbedtls_mpi_get_bit( NULL, 42 ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_set_bit( NULL, 42, 0 ) );
|
mbedtls_mpi_set_bit( NULL, 42, 0 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_read_string( NULL, 2, s_in ) );
|
mbedtls_mpi_read_string( NULL, 2, s_in ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_read_string( &X, 2, NULL ) );
|
mbedtls_mpi_read_string( &X, 2, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_write_string( NULL, 2,
|
mbedtls_mpi_write_string( NULL, 2,
|
||||||
s_out, sizeof( s_out ),
|
s_out, sizeof( s_out ),
|
||||||
@ -100,11 +109,13 @@ void mpi_invalid_param( )
|
|||||||
mbedtls_mpi_write_string( &X, 2,
|
mbedtls_mpi_write_string( &X, 2,
|
||||||
s_out, sizeof( s_out ),
|
s_out, sizeof( s_out ),
|
||||||
NULL ) );
|
NULL ) );
|
||||||
|
|
||||||
#if defined(MBEDTLS_FS_IO)
|
#if defined(MBEDTLS_FS_IO)
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_read_file( NULL, 2, stdin ) );
|
mbedtls_mpi_read_file( NULL, 2, stdin ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_read_file( &X, 2, NULL ) );
|
mbedtls_mpi_read_file( &X, 2, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_write_file( "", NULL, 2, NULL ) );
|
mbedtls_mpi_write_file( "", NULL, 2, NULL ) );
|
||||||
#endif /* MBEDTLS_FS_IO */
|
#endif /* MBEDTLS_FS_IO */
|
||||||
@ -115,84 +126,102 @@ void mpi_invalid_param( )
|
|||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_read_binary( &X, NULL,
|
mbedtls_mpi_read_binary( &X, NULL,
|
||||||
sizeof( u_in ) ) );
|
sizeof( u_in ) ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_write_binary( NULL, u_out,
|
mbedtls_mpi_write_binary( NULL, u_out,
|
||||||
sizeof( u_out ) ) );
|
sizeof( u_out ) ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_write_binary( &X, NULL,
|
mbedtls_mpi_write_binary( &X, NULL,
|
||||||
sizeof( u_out ) ) );
|
sizeof( u_out ) ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_shift_l( NULL, 42 ) );
|
mbedtls_mpi_shift_l( NULL, 42 ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_shift_r( NULL, 42 ) );
|
mbedtls_mpi_shift_r( NULL, 42 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_cmp_abs( NULL, &X ) );
|
mbedtls_mpi_cmp_abs( NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_cmp_abs( &X, NULL ) );
|
mbedtls_mpi_cmp_abs( &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_cmp_mpi( NULL, &X ) );
|
mbedtls_mpi_cmp_mpi( NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_cmp_mpi( &X, NULL ) );
|
mbedtls_mpi_cmp_mpi( &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_cmp_int( NULL, 42 ) );
|
mbedtls_mpi_cmp_int( NULL, 42 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_add_abs( NULL, &X, &X ) );
|
mbedtls_mpi_add_abs( NULL, &X, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_add_abs( &X, NULL, &X ) );
|
mbedtls_mpi_add_abs( &X, NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_add_abs( &X, &X, NULL ) );
|
mbedtls_mpi_add_abs( &X, &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_sub_abs( NULL, &X, &X ) );
|
mbedtls_mpi_sub_abs( NULL, &X, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_sub_abs( &X, NULL, &X ) );
|
mbedtls_mpi_sub_abs( &X, NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_sub_abs( &X, &X, NULL ) );
|
mbedtls_mpi_sub_abs( &X, &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_add_mpi( NULL, &X, &X ) );
|
mbedtls_mpi_add_mpi( NULL, &X, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_add_mpi( &X, NULL, &X ) );
|
mbedtls_mpi_add_mpi( &X, NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_add_mpi( &X, &X, NULL ) );
|
mbedtls_mpi_add_mpi( &X, &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_sub_mpi( NULL, &X, &X ) );
|
mbedtls_mpi_sub_mpi( NULL, &X, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_sub_mpi( &X, NULL, &X ) );
|
mbedtls_mpi_sub_mpi( &X, NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_sub_mpi( &X, &X, NULL ) );
|
mbedtls_mpi_sub_mpi( &X, &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_add_int( NULL, &X, 42 ) );
|
mbedtls_mpi_add_int( NULL, &X, 42 ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_add_int( &X, NULL, 42 ) );
|
mbedtls_mpi_add_int( &X, NULL, 42 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_sub_int( NULL, &X, 42 ) );
|
mbedtls_mpi_sub_int( NULL, &X, 42 ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_sub_int( &X, NULL, 42 ) );
|
mbedtls_mpi_sub_int( &X, NULL, 42 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_mul_mpi( NULL, &X, &X ) );
|
mbedtls_mpi_mul_mpi( NULL, &X, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_mul_mpi( &X, NULL, &X ) );
|
mbedtls_mpi_mul_mpi( &X, NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_mul_mpi( &X, &X, NULL ) );
|
mbedtls_mpi_mul_mpi( &X, &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_mul_int( NULL, &X, 42 ) );
|
mbedtls_mpi_mul_int( NULL, &X, 42 ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_mul_int( &X, NULL, 42 ) );
|
mbedtls_mpi_mul_int( &X, NULL, 42 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_div_mpi( &X, &X, NULL, &X ) );
|
mbedtls_mpi_div_mpi( &X, &X, NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_div_mpi( &X, &X, &X, NULL ) );
|
mbedtls_mpi_div_mpi( &X, &X, &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_div_int( &X, &X, NULL, 42 ) );
|
mbedtls_mpi_div_int( &X, &X, NULL, 42 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_mod_mpi( NULL, &X, &X ) );
|
mbedtls_mpi_mod_mpi( NULL, &X, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_mod_mpi( &X, NULL, &X ) );
|
mbedtls_mpi_mod_mpi( &X, NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_mod_mpi( &X, &X, NULL ) );
|
mbedtls_mpi_mod_mpi( &X, &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_mod_int( NULL, &X, 42 ) );
|
mbedtls_mpi_mod_int( NULL, &X, 42 ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_mod_int( &mpi_uint, NULL, 42 ) );
|
mbedtls_mpi_mod_int( &mpi_uint, NULL, 42 ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_exp_mod( NULL, &X, &X, &X, NULL ) );
|
mbedtls_mpi_exp_mod( NULL, &X, &X, &X, NULL ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
@ -201,23 +230,26 @@ void mpi_invalid_param( )
|
|||||||
mbedtls_mpi_exp_mod( &X, &X, NULL, &X, NULL ) );
|
mbedtls_mpi_exp_mod( &X, &X, NULL, &X, NULL ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_exp_mod( &X, &X, &X, NULL, NULL ) );
|
mbedtls_mpi_exp_mod( &X, &X, &X, NULL, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_fill_random( NULL, 42, rnd_std_rand,
|
mbedtls_mpi_fill_random( NULL, 42, rnd_std_rand,
|
||||||
NULL ) );
|
NULL ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_fill_random( &X, 42, NULL, NULL ) );
|
mbedtls_mpi_fill_random( &X, 42, NULL, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_gcd( NULL, &X, &X ) );
|
mbedtls_mpi_gcd( NULL, &X, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_gcd( &X, NULL, &X ) );
|
mbedtls_mpi_gcd( &X, NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_gcd( &X, &X, NULL ) );
|
mbedtls_mpi_gcd( &X, &X, NULL ) );
|
||||||
|
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_inv_mod( NULL, &X, &X ) );
|
mbedtls_mpi_inv_mod( NULL, &X, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_inv_mod( &X, NULL, &X ) );
|
mbedtls_mpi_inv_mod( &X, NULL, &X ) );
|
||||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||||
mbedtls_mpi_inv_mod( NULL, &X, &X ) );
|
mbedtls_mpi_inv_mod( &X, &X, NULL ) );
|
||||||
|
|
||||||
mbedtls_mpi_free( NULL );
|
mbedtls_mpi_free( NULL );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user