mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-10-31 03:30:35 -04:00 
			
		
		
		
	Add ChangeLog and migration guide entries
Merge part of the RSA entries into this one, as I think it's easier for users to have all similar changes in one place regardless of whether they were introduce in the same PR or not. Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
This commit is contained in:
		
							parent
							
								
									02b5705aa3
								
							
						
					
					
						commit
						e6e51aab55
					
				
							
								
								
									
										12
									
								
								ChangeLog.d/mandatory-rng-param.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								ChangeLog.d/mandatory-rng-param.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | |||||||
|  | API changes | ||||||
|  |    * For all functions that take an RNG parameter, this parameter is now | ||||||
|  |      mandatory (that is, NULL is not an acceptable value). Functions which | ||||||
|  |      previously accepted NULL and now reject it are: the X.509 CRT and CSR | ||||||
|  |      writing functions; the PK sign and decrypt function; the RSA encrypt, | ||||||
|  |      decrypt, sign and private functions; the function in DHM and ECDH that | ||||||
|  |      compute the share secret; the scalar multiplication functions in ECP. | ||||||
|  |    * The following functions now require an RNG parameter: | ||||||
|  |      mbedtls_ecp_check_pub_priv(), mbedtls_pk_check_pair(), | ||||||
|  |      mbedtls_pk_parse_key(), mbedtls_pk_parse_keyfile(). | ||||||
|  |    * The configuration option MBEDTLS_ECP_NO_INTERNAL_RNG has been removed as | ||||||
|  |      it no longer had any effect. | ||||||
| @ -6,4 +6,3 @@ API changes | |||||||
|      decryption functions now always use the private key and verification and |      decryption functions now always use the private key and verification and | ||||||
|      encryption use the public key. Verification functions also no longer have |      encryption use the public key. Verification functions also no longer have | ||||||
|      RNG parameters. |      RNG parameters. | ||||||
|    * The RNG is now mandatory for all private-key RSA operations. |  | ||||||
|  | |||||||
							
								
								
									
										36
									
								
								docs/3.0-migration-guide.d/mandatory-rng-param.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								docs/3.0-migration-guide.d/mandatory-rng-param.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | |||||||
|  | The RNG parameter is now mandatory for all functions that accept one | ||||||
|  | -------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | This change affects all users who called a function accepting a `f_rng` | ||||||
|  | parameter with `NULL` as the value of this argument; this is no longer | ||||||
|  | supported. | ||||||
|  | 
 | ||||||
|  | The changed functions are: the X.509 CRT and CSR writing functions; the PK | ||||||
|  | sign and decrypt function; the RSA encrypt, decrypt, sign and private | ||||||
|  | functions; the functions in DHM and ECDH that compute the share secret; the | ||||||
|  | scalar multiplication functions in ECP. | ||||||
|  | 
 | ||||||
|  | You now need to pass a properly seeded, cryptographically secure RNG to all | ||||||
|  | functions that accept a `f_rng` parameter. It is of course still possible to | ||||||
|  | pass `NULL` as the context pointer `p_rng` if your RNG function doesn't need a | ||||||
|  | context. | ||||||
|  | 
 | ||||||
|  | Some functions gained an RNG parameter | ||||||
|  | -------------------------------------- | ||||||
|  | 
 | ||||||
|  | This affects users of the following functions: `mbedtls_ecp_check_pub_priv()`, | ||||||
|  | `mbedtls_pk_check_pair()`, `mbedtls_pk_parse_key()`, and | ||||||
|  | `mbedtls_pk_parse_keyfile()`. | ||||||
|  | 
 | ||||||
|  | You now need to pass a properly seeded, cryptographically secure RNG when | ||||||
|  | calling these functions. It is used for blinding, a counter-measure against | ||||||
|  | side-channel attacks. | ||||||
|  | 
 | ||||||
|  | The configuration option `MBEDTLS_ECP_NO_INTERNAL_RNG` was removed | ||||||
|  | ------------------------------------------------------------------ | ||||||
|  | 
 | ||||||
|  | This doesn't affect users of the default configuration; it only affects people | ||||||
|  | who were explicitly setting this option. | ||||||
|  | 
 | ||||||
|  | This was a trade-off between code size and counter-measures; it is no longer | ||||||
|  | relevant as the counter-measure is now always on at no cost in code size. | ||||||
| @ -19,11 +19,3 @@ RSA verification functions also no longer take random generator arguments (this | |||||||
| was only needed when using a private key). This affects all applications using | was only needed when using a private key). This affects all applications using | ||||||
| the RSA verify functions. | the RSA verify functions. | ||||||
| 
 | 
 | ||||||
| RNG is now mandatory in all RSA private key operations |  | ||||||
| ------------------------------------------------------ |  | ||||||
| 
 |  | ||||||
| The random generator is now mandatory for blinding in all RSA private-key |  | ||||||
| operations (`mbedtls_rsa_private`, `mbedtls_rsa_xxx_sign`, |  | ||||||
| `mbedtls_rsa_xxx_decrypt`) as well as for encryption |  | ||||||
| (`mbedtls_rsa_xxx_encrypt`). This means that passing a null `f_rng` is no longer |  | ||||||
| supported. |  | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Manuel Pégourié-Gonnard
						Manuel Pégourié-Gonnard