Dave Rodgman 
							
						 
					 
					
						
						
							
						
						16799db69a 
					 
					
						
						
							
							update headers  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-11-02 19:47:20 +00:00 
						 
				 
			
				
					
						
							
							
								Janos Follath 
							
						 
					 
					
						
						
							
						
						f2334b7b39 
					 
					
						
						
							
							Remove new bignum when not needed  
						
						... 
						
						
						
						New bignum modules are only needed when the new ecp_curves module is
present. Remove them when they are not needed to save code size.
Signed-off-by: Janos Follath <janos.follath@arm.com > 
						
						
					 
					
						2023-08-17 14:36:59 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						c98f8d996a 
					 
					
						
						
							
							Merge branch 'development' into safer-ct5  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-08-07 11:47:35 +01:00 
						 
				 
			
				
					
						
							
							
								Tom Cosgrove 
							
						 
					 
					
						
						
							
						
						ca8c61b815 
					 
					
						
						
							
							Provide and use internal function mbedtls_zeroize_and_free()  
						
						... 
						
						
						
						Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com > 
						
						
					 
					
						2023-07-17 15:17:40 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						9fbb0cf08e 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/development' into safer-ct5  
						
						
						
						
					 
					
						2023-06-28 18:52:02 +01:00 
						 
				 
			
				
					
						
							
							
								Minos Galanakis 
							
						 
					 
					
						
						
							
						
						c4e4958326 
					 
					
						
						
							
							ecp_curves: Adjusted expected_width inputs to use BITS_TO_LIMBS macro.  
						
						... 
						
						
						
						Signed-off-by: Minos Galanakis <minos.galanakis@arm.com > 
						
						
					 
					
						2023-06-27 14:07:07 +01:00 
						 
				 
			
				
					
						
							
							
								Minos Galanakis 
							
						 
					 
					
						
						
							
						
						53a16b3fb5 
					 
					
						
						
							
							bignum_mod_raw: Updated documentation for mpi_mod_raw_mul  
						
						... 
						
						
						
						Signed-off-by: Minos Galanakis <minos.galanakis@arm.com > 
						
						
					 
					
						2023-06-26 20:06:36 +01:00 
						 
				 
			
				
					
						
							
							
								Minos Galanakis 
							
						 
					 
					
						
						
							
						
						8eb6104256 
					 
					
						
						
							
							bignum_mod_raw: Fixed a documentation typo.  
						
						... 
						
						
						
						Signed-off-by: Minos Galanakis <minos.galanakis@arm.com > 
						
						
					 
					
						2023-06-26 10:03:19 +01:00 
						 
				 
			
				
					
						
							
							
								Minos Galanakis 
							
						 
					 
					
						
						
							
						
						c7408a432e 
					 
					
						
						
							
							bignum_mod_raw: Adjusted OPT_RED limb size requirements for mod_raw_mul().  
						
						... 
						
						
						
						Signed-off-by: Minos Galanakis <minos.galanakis@arm.com > 
						
						
					 
					
						2023-06-25 21:14:44 +01:00 
						 
				 
			
				
					
						
							
							
								Minos Galanakis 
							
						 
					 
					
						
						
							
						
						7b1093240c 
					 
					
						
						
							
							bignum_mod_raw: Updated documentation for mbedtls_mpi_mod_raw_mul  
						
						... 
						
						
						
						Signed-off-by: Minos Galanakis <minos.galanakis@arm.com > 
						
						
					 
					
						2023-06-22 16:52:20 +01:00 
						 
				 
			
				
					
						
							
							
								Minos Galanakis 
							
						 
					 
					
						
						
							
						
						2ed8fb7e4f 
					 
					
						
						
							
							ecp_mod_raw: Enabled fast reduction.  
						
						... 
						
						
						
						This patch modifies `mbedtls_mpi_mod_raw_mul`
to utilise fast-reduction when available.
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com > 
						
						
					 
					
						2023-06-22 16:35:30 +01:00 
						 
				 
			
				
					
						
							
							
								Dave Rodgman 
							
						 
					 
					
						
						
							
						
						cd2e38b906 
					 
					
						
						
							
							Update mbedtls_mpi_safe_cond_(assign|swap) to use new CT interface  
						
						... 
						
						
						
						Signed-off-by: Dave Rodgman <dave.rodgman@arm.com > 
						
						
					 
					
						2023-05-26 12:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Minos Galanakis 
							
						 
					 
					
						
						
							
						
						00bd8925a7 
					 
					
						
						
							
							bignum: Removed merge scaffolding.  
						
						... 
						
						
						
						Signed-off-by: Minos Galanakis <minos.galanakis@arm.com > 
						
						
					 
					
						2023-04-05 16:13:11 +01:00 
						 
				 
			
				
					
						
							
							
								Gilles Peskine 
							
						 
					 
					
						
						
							
						
						470f10cfc5 
					 
					
						
						
							
							Merge pull request  #6941  from gabor-mezei-arm/6375_quasi-reduction_function  
						
						... 
						
						
						
						Add function to fix quasi-reduction 
						
						
					 
					
						2023-01-31 11:25:25 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						9a66ab180c 
					 
					
						
						
							
							Fix missing declarration  
						
						... 
						
						
						
						Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2023-01-25 13:23:38 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						627e5b1f91 
					 
					
						
						
							
							Only enable fix_quasi_reduction when testing  
						
						... 
						
						
						
						Avoid compiler error due to the fix_quasi_reduction function
is static and has not been used.
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2023-01-24 18:13:24 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						9073f7dd3b 
					 
					
						
						
							
							Remove unneeded check  
						
						... 
						
						
						
						The fix_quasi_reduction function changed to static so checking the
invalid arguments are not needed anymore.
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2023-01-23 19:05:37 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						aaa1d2a276 
					 
					
						
						
							
							Move the quasi reduction fixing function to bignum_mod_raw  
						
						... 
						
						
						
						Rename the function to 'fix_quasi_reduction' to better suite its functionality.
Also changed the name prefix to suite for the new module.
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2023-01-23 18:55:57 +01:00 
						 
				 
			
				
					
						
							
							
								Mihir Raj Singh 
							
						 
					 
					
						
						
							
						
						432cacf5c2 
					 
					
						
						
							
							bignum_mod_raw: Renamed m -> N in mbedtls_mpi_mod_raw_neg()  
						
						... 
						
						
						
						Signed-off-by: Mihir Raj Singh <mihirrajsingh123@gmail.com > 
						
						
					 
					
						2023-01-17 11:25:26 +05:30 
						 
				 
			
				
					
						
							
							
								Mihir Raj Singh 
							
						 
					 
					
						
						
							
						
						b0354c5b71 
					 
					
						
						
							
							bignum_mod_raw: Renamed m -> N in mbedtls_mpi_mod_raw_from_mont_rep()  
						
						... 
						
						
						
						Signed-off-by: Mihir Raj Singh <mihirrajsingh123@gmail.com > 
						
						
					 
					
						2023-01-16 23:11:18 +05:30 
						 
				 
			
				
					
						
							
							
								Mihir Raj Singh 
							
						 
					 
					
						
						
							
						
						37ece7292a 
					 
					
						
						
							
							bignum_mod_raw: Renamed m -> N in mbedtls_mpi_mod_raw_to_mont_rep()  
						
						... 
						
						
						
						Signed-off-by: Mihir Raj Singh <mihirrajsingh123@gmail.com > 
						
						
					 
					
						2023-01-16 23:10:40 +05:30 
						 
				 
			
				
					
						
							
							
								Mihir Raj Singh 
							
						 
					 
					
						
						
							
						
						01e861ff9e 
					 
					
						
						
							
							bignum_mod_raw: Renamed m -> N in mbedtls_mpi_mod_raw_write()  
						
						... 
						
						
						
						Signed-off-by: Mihir Raj Singh <mihirrajsingh123@gmail.com > 
						
						
					 
					
						2023-01-16 23:10:00 +05:30 
						 
				 
			
				
					
						
							
							
								Mihir Raj Singh 
							
						 
					 
					
						
						
							
						
						cd17ff0354 
					 
					
						
						
							
							bignum_mod_raw: Renamed m -> N in mbedtls_mpi_mod_raw_read()  
						
						... 
						
						
						
						Signed-off-by: Mihir Raj Singh <mihirrajsingh123@gmail.com > 
						
						
					 
					
						2023-01-16 23:09:12 +05:30 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						2fcb4c1d06 
					 
					
						
						
							
							Merge pull request  #6747  from gilles-peskine-arm/bignum-mod-random  
						
						... 
						
						
						
						Bignum mod random 
						
						
					 
					
						2022-12-23 10:36:22 +01:00 
						 
				 
			
				
					
						
							
							
								Gilles Peskine 
							
						 
					 
					
						
						
							
						
						e1d8326e90 
					 
					
						
						
							
							Fix representation of mod-random output  
						
						... 
						
						
						
						mbedtls_mpi_mod_raw_random() and mbedtls_mpi_mod_random() were producing
output in the Montgomery representation, instead of obeying the
representation chosen in the modulus structure. Fix this.
Duplicate the test cases for mod-random output to have separate test cases
for each representation.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com > 
						
						
					 
					
						2022-12-20 20:28:02 +01:00 
						 
				 
			
				
					
						
							
							
								Gilles Peskine 
							
						 
					 
					
						
						
							
						
						1e2a4d4089 
					 
					
						
						
							
							Functions to convert raw residues to/from the modulus representation  
						
						... 
						
						
						
						Test cases will be generated automatically by a subsequent commit.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com > 
						
						
					 
					
						2022-12-20 19:55:51 +01:00 
						 
				 
			
				
					
						
							
							
								Gilles Peskine 
							
						 
					 
					
						
						
							
						
						e162b4725c 
					 
					
						
						
							
							Merge pull request  #6777  from tom-cosgrove-arm/issue-6292-mod_inv  
						
						... 
						
						
						
						Bignum: Implement high level fixed width modular inversion 
						
						
					 
					
						2022-12-17 13:26:02 +01:00 
						 
				 
			
				
					
						
							
							
								Gilles Peskine 
							
						 
					 
					
						
						
							
						
						a57cf9813a 
					 
					
						
						
							
							Implement and test mbedtls_mpi_mod_raw_random  
						
						... 
						
						
						
						In the basic/XXX=core test cases, use odd upper bounds, because the mod
version of random() only supports odd upper bounds (the upper bound is a
modulus and the mod modules only support odd moduli).
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com > 
						
						
					 
					
						2022-12-16 10:13:29 +01:00 
						 
				 
			
				
					
						
							
							
								Tom Cosgrove 
							
						 
					 
					
						
						
							
						
						786848b5c5 
					 
					
						
						
							
							Add low-level Montgomery conversion functions to bignum_core  
						
						... 
						
						
						
						Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com > 
						
						
					 
					
						2022-12-15 16:56:36 +00:00 
						 
				 
			
				
					
						
							
							
								Tom Cosgrove 
							
						 
					 
					
						
						
							
						
						28ff92cc3a 
					 
					
						
						
							
							Add an explicit mbedtls_mpi_core_montmul_working_limbs() function  
						
						... 
						
						
						
						Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com > 
						
						
					 
					
						2022-12-15 16:56:36 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						979d34ca7d 
					 
					
						
						
							
							Add mod_raw_mul function  
						
						... 
						
						
						
						Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2022-12-15 15:04:20 +01:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						48232ed2c1 
					 
					
						
						
							
							Merge pull request  #6743  from minosgalanakis/bignum/implement_modular_negation  
						
						... 
						
						
						
						Bignum: Implement fixed width modular negation 
						
						
					 
					
						2022-12-13 09:54:38 +01:00 
						 
				 
			
				
					
						
							
							
								Minos Galanakis 
							
						 
					 
					
						
						
							
						
						21fe8bdeac 
					 
					
						
						
							
							bignum_mod_raw: Added modular negation.  
						
						... 
						
						
						
						This patch adds the `mpi_mod_raw_neg()` method.
Co-authored-by: Hanno Becker <hanno.becker@arm.com >
Co-authored-by: Minos Galanakis <minos.galanakis@arm.com >
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com > 
						
						
					 
					
						2022-12-12 11:13:56 +00:00 
						 
				 
			
				
					
						
							
							
								Tom Cosgrove 
							
						 
					 
					
						
						
							
						
						5f09930017 
					 
					
						
						
							
							Clarify use of temporary in mbedtls_mpi_mod_raw_inv_prime()  
						
						... 
						
						
						
						Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com > 
						
						
					 
					
						2022-12-09 10:58:15 +00:00 
						 
				 
			
				
					
						
							
							
								Tom Cosgrove 
							
						 
					 
					
						
						
							
						
						6129268fee 
					 
					
						
						
							
							Bignum: Implement mbedtls_mpi_mod_raw_inv_prime() and tests  
						
						... 
						
						
						
						Fixes  #6023 .
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com > 
					
						2022-12-08 09:44:10 +00:00 
						 
				 
			
				
					
						
							
							
								Janos Follath 
							
						 
					 
					
						
						
							
						
						d3eed33709 
					 
					
						
						
							
							Bignum Mod Raw: pass endianness as a parameter  
						
						... 
						
						
						
						The external representation before included more than just endianness
(like reading in Mongtomery curve scalars or converting hashes to
numbers in a standard compliant way).
These are higher level concepts and are out of scope for Bignum and for
the modulus structure.
Passing endianness as a parameter is a step towards removing it from the
modulus structure.
Signed-off-by: Janos Follath <janos.follath@arm.com > 
						
						
					 
					
						2022-11-25 17:55:00 +00:00 
						 
				 
			
				
					
						
							
							
								Janos Follath 
							
						 
					 
					
						
						
							
						
						590ae5363d 
					 
					
						
						
							
							Merge pull request  #6656  from tom-cosgrove-arm/bignum_pr_6225-updated  
						
						... 
						
						
						
						Bignum: add mod_raw_add 
						
						
					 
					
						2022-11-25 17:53:31 +00:00 
						 
				 
			
				
					
						
							
							
								Werner Lewis 
							
						 
					 
					
						
						
							
						
						e4c0a6c3ba 
					 
					
						
						
							
							Change cast to correct type  
						
						... 
						
						
						
						Signed-off-by: Werner Lewis <werner.lewis@arm.com > 
						
						
					 
					
						2022-11-24 16:18:06 +00:00 
						 
				 
			
				
					
						
							
							
								Werner Lewis 
							
						 
					 
					
						
						
							
						
						1a277d9ad6 
					 
					
						
						
							
							Replace comparison with XOR  
						
						... 
						
						
						
						Signed-off-by: Werner Lewis <werner.lewis@arm.com > 
						
						
					 
					
						2022-11-24 16:18:06 +00:00 
						 
				 
			
				
					
						
							
							
								Werner Lewis 
							
						 
					 
					
						
						
							
						
						d391b8ce61 
					 
					
						
						
							
							Change types and move const before type  
						
						... 
						
						
						
						Signed-off-by: Werner Lewis <werner.lewis@arm.com > 
						
						
					 
					
						2022-11-24 16:18:06 +00:00 
						 
				 
			
				
					
						
							
							
								Werner Lewis 
							
						 
					 
					
						
						
							
						
						9fa91ebcb9 
					 
					
						
						
							
							Use modulus structure in mbedtls_mpi_mod_raw_add  
						
						... 
						
						
						
						Signed-off-by: Werner Lewis <werner.lewis@arm.com > 
						
						
					 
					
						2022-11-24 16:18:06 +00:00 
						 
				 
			
				
					
						
							
							
								Werner Lewis 
							
						 
					 
					
						
						
							
						
						0eea827cbd 
					 
					
						
						
							
							Rename MPI_CORE(add_mod) to mbedtls_mpi_mod_raw_add  
						
						... 
						
						
						
						Signed-off-by: Werner Lewis <werner.lewis@arm.com > 
						
						
					 
					
						2022-11-24 16:18:06 +00:00 
						 
				 
			
				
					
						
							
							
								Hanno Becker 
							
						 
					 
					
						
						
							
						
						a45b6fee91 
					 
					
						
						
							
							Extract MPI_CORE(add_mod) from the prototype  
						
						... 
						
						
						
						Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com > 
						
						
					 
					
						2022-11-24 16:17:49 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						3411e949cd 
					 
					
						
						
							
							Cas variable to proper type  
						
						... 
						
						
						
						Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2022-11-23 14:44:13 +01:00 
						 
				 
			
				
					
						
							
							
								Gabor Mezei 
							
						 
					 
					
						
						
							
						
						4c7cf7d742 
					 
					
						
						
							
							Add low level subtraction with modulus  
						
						... 
						
						
						
						Signed-off-by: Gabor Mezei <gabor.mezei@arm.com > 
						
						
					 
					
						2022-11-23 14:44:07 +01:00 
						 
				 
			
				
					
						
							
							
								Minos Galanakis 
							
						 
					 
					
						
						
							
						
						d9299c388e 
					 
					
						
						
							
							bignum_mod_raw: Refactored Montgomery conversion functions  
						
						... 
						
						
						
						This patch updates the `mbedtls_mpi_mod_raw_conv_xx()` methods
as follows:
* Renamed for simplicity: conv_fwd -> from_mont_rep, conv_inv -> to_mont_rep.
* Uncoupled the dependency on the legaly bignum interface.
* `mbedtls_mpi` is no longer used for temporary buffer allocation.
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com > 
						
						
					 
					
						2022-11-11 10:54:58 +00:00 
						 
				 
			
				
					
						
							
							
								Hanno Becker 
							
						 
					 
					
						
						
							
						
						5ad4a93596 
					 
					
						
						
							
							bignum_mod_raw: Added conversion methods for internal/public data representation  
						
						... 
						
						
						
						Signed-off-by: Minos Galanakis <minos.galanakis@arm.com > 
						
						
					 
					
						2022-11-11 10:54:58 +00:00 
						 
				 
			
				
					
						
							
							
								Janos Follath 
							
						 
					 
					
						
						
							
						
						5933f691a2 
					 
					
						
						
							
							Add merge slots to Bignum files  
						
						... 
						
						
						
						Legacy Bignum is excluded as it doesn't get regular extensions like new
ones.
Each slot uses comments of their respective filetype. Since .data files
don't have a syntax for comments, dummy test cases are used. (These test
cases will never be executed and no noise will be added to tests.)
Signed-off-by: Janos Follath <janos.follath@arm.com > 
						
						
					 
					
						2022-11-02 17:27:25 +00:00 
						 
				 
			
				
					
						
							
							
								Gilles Peskine 
							
						 
					 
					
						
						
							
						
						db2996357c 
					 
					
						
						
							
							Merge pull request  #6289  from gabor-mezei-arm/6237_Add_conditional_assign_and_swap_for_bignum  
						
						... 
						
						
						
						Bignum: Add safe conditional assign and swap for the new MPI types 
						
						
					 
					
						2022-10-19 15:51:19 +02:00