blob: 3cbc356957b50a7edce5a157f4c0af59fa4f28fc [file] [log] [blame] [view]
Manuel Pégourié-Gonnarde6e51aa2021-06-15 11:29:26 +02001The RNG parameter is now mandatory for all functions that accept one
2--------------------------------------------------------------------
3
4This change affects all users who called a function accepting a `f_rng`
5parameter with `NULL` as the value of this argument; this is no longer
6supported.
7
8The changed functions are: the X.509 CRT and CSR writing functions; the PK
9sign and decrypt function; the RSA encrypt, decrypt, sign and private
10functions; the functions in DHM and ECDH that compute the share secret; the
11scalar multiplication functions in ECP.
12
13You now need to pass a properly seeded, cryptographically secure RNG to all
14functions that accept a `f_rng` parameter. It is of course still possible to
15pass `NULL` as the context pointer `p_rng` if your RNG function doesn't need a
16context.
17
18Some functions gained an RNG parameter
19--------------------------------------
20
21This affects users of the following functions: `mbedtls_ecp_check_pub_priv()`,
22`mbedtls_pk_check_pair()`, `mbedtls_pk_parse_key()`, and
23`mbedtls_pk_parse_keyfile()`.
24
25You now need to pass a properly seeded, cryptographically secure RNG when
26calling these functions. It is used for blinding, a counter-measure against
27side-channel attacks.
28
29The configuration option `MBEDTLS_ECP_NO_INTERNAL_RNG` was removed
30------------------------------------------------------------------
31
32This doesn't affect users of the default configuration; it only affects people
33who were explicitly setting this option.
34
35This was a trade-off between code size and counter-measures; it is no longer
36relevant as the counter-measure is now always on at no cost in code size.