Dave Rodgman 
							
						 
					 
					
						
						
							
						
						c9ed5dee69 
					 
					
						
						
							
							Add aarch64 const-time asm  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-08-11 08:47:38 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						48fb8a3448 
					 
					
						
						
							
							Fix some renames that were missed  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-08-10 14:01:51 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						b364a22adf 
					 
					
						
						
							
							Fix mbedtls_ct_size_if_else_0 docs  
						
						... 
						
						
						
						Co-authored-by: Tom Cosgrove <tom.cosgrove@arm.com >
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-08-10 12:25:25 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						38b227c16b 
					 
					
						
						
							
							Improve docs  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-08-10 12:18:27 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						ac69b45486 
					 
					
						
						
							
							Document and test mbedtls_ct_size_if_else_0  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-08-10 12:18:13 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						065f912465 
					 
					
						
						
							
							Fix comment typo  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-08-10 12:11:58 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						98ddc01a7c 
					 
					
						
						
							
							Rename ...if0 to ...else_0  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-08-10 12:11:31 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						b7825ceb3e 
					 
					
						
						
							
							Rename uint->bool operators to reflect input types  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-08-10 11:58:18 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						205295c576 
					 
					
						
						
							
							Tidy-up: move GCC warning fix to constant_time_impl.h  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-08-01 14:10:56 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						9ee0e1f6fe 
					 
					
						
						
							
							Remove GCC redundant-decls workaround for mbedtls_ct_memcmp  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-07-31 12:43:23 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						0172de8b3d 
					 
					
						
						
							
							Fix docs grammar  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-07-31 12:43:23 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						741d423ef8 
					 
					
						
						
							
							Clarify docs for mbedtls_ct_memcpy_if  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-07-31 12:43:23 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						93cec45af3 
					 
					
						
						
							
							Improve docs for mbedtls_ct_compiler_opaque  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-07-31 12:43:23 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						fba559822f 
					 
					
						
						
							
							Ensure constant values not known to compiler  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-07-14 13:44:22 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						a02b36886c 
					 
					
						
						
							
							Fix gcc warnings when -Wredundant-decls set  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-07-14 13:43:39 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						c882adf0ca 
					 
					
						
						
							
							Docs improvement  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-06-21 07:37:56 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						f27727b22e 
					 
					
						
						
							
							Docs update  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-06-12 18:33:20 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						3108645d67 
					 
					
						
						
							
							Document and test that memcpy_if may have src == dest  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						2b4486a014 
					 
					
						
						
							
							Rename mbedtls_ct_uint_if_new to mbedtls_ct_uint_if  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						2243137715 
					 
					
						
						
							
							Remove old interface  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						231a516682 
					 
					
						
						
							
							Remove not-needed mbedtls_ct_mpi_uint_cond_assign  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						6cee26db16 
					 
					
						
						
							
							Remove old interface for mem_move_to_left  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						40a41d0461 
					 
					
						
						
							
							Introduce new CT interface (retain old interface)  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						7d4f019810 
					 
					
						
						
							
							Move some bignum functions out of constant_time module  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						19e8cd06fe 
					 
					
						
						
							
							Move mbedtls_ct_rsaes_pkcs1_v15_unpadding into rsa.c  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						0afe001871 
					 
					
						
						
							
							Expose mbedtls_ct_size_gt and mbedtls_ct_mem_move_to_left in ct interface  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						2801f7fa8d 
					 
					
						
						
							
							Move mbedtls_ct_hmac into ssl_msg.c  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						8c94e219f9 
					 
					
						
						
							
							Evolve mbedtls_ct_uchar_in_range_if interface  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						0ee9683987 
					 
					
						
						
							
							Move mbedtls_ct_base64_(enc|dec)_char into base64.c  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:40 +01:00 
						 
				 
			
				
					
						
							
							
								Gilles Peskine 
							
						 
					 
					
						
						
							
						
						449bd8303e 
					 
					
						
						
							
							Switch to the new code style  
						
						... 
						
						
						
						Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com > 
						
						
					 
					
						2023-01-11 14:50:10 +01:00 
						 
				 
			
				
					
						
							
							
								Gilles Peskine 
							
						 
					 
					
						
						
							
						
						95b5addcd6 
					 
					
						
						
							
							Don't test mbedtls_mpi_core_lt_ct with 0 limbs  
						
						... 
						
						
						
						A core MPI must have at least 1 limb. We can no longer test with 0 limbs,
and we don't need to anyway, so don't try.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com > 
						
						
					 
					
						2022-11-09 11:18:38 +01:00 
						 
				 
			
				
					
						
							
							
								Andrzej Kurek 
							
						 
					 
					
						
						
							
						
						084334c8f2 
					 
					
						
						
							
							Compile constant time masking and hmac if there are suites using MAC  
						
						... 
						
						
						
						This is used in TLS 1.2 authentication with NULL cipher,
when there are no TLS_CBC suites.
Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com > 
						
						
					 
					
						2022-10-19 08:35:08 -04:00 
						 
				 
			
				
					
						
							
							
								Przemek Stekiel 
							
						 
					 
					
						
						
							
						
						89ad62352d 
					 
					
						
						
							
							Fix guards for mbedtls_ct_size_mask() and mbedtls_ct_memcpy_if_eq()  
						
						... 
						
						
						
						Both functions are used when MBEDTLS_SSL_SOME_SUITES_USE_MAC is defined not MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC.
Signed-off-by: Przemek Stekiel <przemyslaw.stekiel@mobica.com > 
						
						
					 
					
						2022-09-27 15:04:14 +02:00 
						 
				 
			
				
					
						
							
							
								Janos Follath 
							
						 
					 
					
						
						
							
						
						af3f39c01c 
					 
					
						
						
							
							Fix typos  
						
						... 
						
						
						
						Co-authored-by: Tom Cosgrove <81633263+tom-cosgrove-arm@users.noreply.github.com >
Co-authored-by: Werner Lewis <Werner.Lewis@arm.com >
Signed-off-by: Janos Follath <janos.follath@arm.com > 
						
						
					 
					
						2022-08-22 09:08:04 +01:00 
						 
				 
			
				
					
						
							
							
								Janos Follath 
							
						 
					 
					
						
						
							
						
						b7a88eca42 
					 
					
						
						
							
							Bignum: Apply naming conventions  
						
						... 
						
						
						
						Numbers:
- A, B for mbedtls_mpi_uint* operands
- a, b for mbedtls_mpi_uint operands
- X or x for result
- HAC references where applicable
Lengths:
- Reserve size or length for length/size in bytes or byte buffers.
- For length of mbedtls_mpi_uint* buffers use limbs
- Length parameters are qualified if possible (eg. input_length or
  a_limbs)
Setup functions:
- The parameters match the corresponding structure member's name
- The structure to set up is a standard lower case name even if in other
  functions different naming conventions would apply
Scope of changes/conventions:
- bignum_core
- bignum_mod
- bignum_mod_raw
Signed-off-by: Janos Follath <janos.follath@arm.com > 
						
						
					 
					
						2022-08-19 13:11:22 +01:00 
						 
				 
			
				
					
						
							
							
								Janos Follath 
							
						 
					 
					
						
						
							
						
						6318468183 
					 
					
						
						
							
							Improve bignum documentation  
						
						... 
						
						
						
						Signed-off-by: Janos Follath <janos.follath@arm.com > 
						
						
					 
					
						2022-08-11 17:42:59 +01:00 
						 
				 
			
				
					
						
							
							
								Janos Follath 
							
						 
					 
					
						
						
							
						
						23bdeca64d 
					 
					
						
						
							
							Add core constant time comparison  
						
						... 
						
						
						
						Unfortunately reusing the new function from the signed constant time
comparison is not trivial.
One option would be to do temporary conditional swaps which would prevent
qualifying input to const. Another way would be to add an additional
flag for the sign and make it an integral part of the computation, which
would defeat the purpose of having an unsigned core comparison.
Going with two separate function for now and the signed version can be
retired/compiled out with the legacy API eventually.
The new function in theory could be placed into either
`library/constant_time.c` or `library/bignum_new.c`. Going with the
first as the other functions in the second are not constant time yet and
this distinction seems more valuable for new (as opposed to belonging to
the `_core` functions.
Signed-off-by: Janos Follath <janos.follath@arm.com > 
						
						
					 
					
						2022-08-05 17:08:52 +01:00 
						 
				 
			
				
					
						
							
							
								Paul Elliott 
							
						 
					 
					
						
						
							
						
						5260ce27ed 
					 
					
						
						
							
							Fix uninitialised memory access in constant time functions  
						
						... 
						
						
						
						Fix an issue reported by Coverity whereby some constant time functions
called from the ssl decrypt code could potentially access uninitialised
memory.
Signed-off-by: Paul Elliott <paul.elliott@arm.com > 
						
						
					 
					
						2022-05-19 18:23:24 +01:00 
						 
				 
			
				
					
						
							
							
								Neil Armstrong 
							
						 
					 
					
						
						
							
						
						2968d306e4 
					 
					
						
						
							
							Implement mbedtls_ct_hmac() using PSA hash API  
						
						... 
						
						
						
						Signed-off-by: Neil Armstrong <narmstrong@baylibre.com > 
						
						
					 
					
						2022-02-25 15:16:50 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						a09697527b 
					 
					
						
						
							
							Add documentation for the functions  
						
						... 
						
						
						
						Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2021-11-26 17:25:14 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						14d5fac11d 
					 
					
						
						
							
							Unify function parameters  
						
						... 
						
						
						
						Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2021-11-26 17:23:26 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						358829abc9 
					 
					
						
						
							
							Move mbedtls_ct_base64_dec_value function to the constant-time module  
						
						... 
						
						
						
						Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2021-11-26 17:14:52 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						9a4074aa1e 
					 
					
						
						
							
							Move mbedtls_ct_base64_enc_char function to the constant-time module  
						
						... 
						
						
						
						Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2021-11-26 17:14:21 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						642eeb2879 
					 
					
						
						
							
							Fix documentation and comments  
						
						... 
						
						
						
						Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2021-11-03 16:13:32 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						22c9a6fccc 
					 
					
						
						
							
							Rename internal header constant_time.h to constant_time_internal.h  
						
						... 
						
						
						
						Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2021-10-20 12:15:20 +02:00