Make RNG exclude the given maximum value
The RNG will give numbers in range of [0, num), so that
the given maximum is excluded.
diff --git a/include/mbedtls/platform_util.h b/include/mbedtls/platform_util.h
index b6c50d5..a4fcf31 100644
--- a/include/mbedtls/platform_util.h
+++ b/include/mbedtls/platform_util.h
@@ -225,8 +225,9 @@
* cryptographically secure RNG, but provide an RNG for utility
* functions.
*
- * \param num Max-value for the generated random number.
- *
+ * \param num Max-value for the generated random number, exclusive.
+ * The generated number will be on range [0, num).
+ * \return The generated random number.
*/
uint32_t mbedtls_platform_random_in_range( size_t num );
diff --git a/library/platform_util.c b/library/platform_util.c
index 1317921..f011032 100644
--- a/library/platform_util.c
+++ b/library/platform_util.c
@@ -84,7 +84,7 @@
/* Randomize start offset. */
size_t start_offset = (size_t) mbedtls_platform_random_in_range( num );
/* Randomize data */
- size_t data = (size_t) mbedtls_platform_random_in_range( 0xff );
+ size_t data = (size_t) mbedtls_platform_random_in_range( 256 );
/* Perform a pair of memset operations from random locations with
* random data */
@@ -101,7 +101,7 @@
/* Randomize start offset. */
size_t start_offset = (size_t) mbedtls_platform_random_in_range( num );
/* Randomize initial data to prevent leakage while copying */
- size_t data = (size_t) mbedtls_platform_random_in_range( 0xff );
+ size_t data = (size_t) mbedtls_platform_random_in_range( 256 );
memset( (void *) dst, data, num );
memcpy( (void *) ( (unsigned char *) dst + start_offset ),