Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						edc1a1f482
					 | 
					
						
						
							
							Small code cleanups
						
						
						
						
						
						
					 | 
					
						2013-11-21 21:56:38 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						ff27b7c968
					 | 
					
						
						
							
							Tighten ecp_mul() validity checks
						
						
						
						
						
						
					 | 
					
						2013-11-21 21:56:38 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						09ceaf49d0
					 | 
					
						
						
							
							Rm multiplication using NAF
						
						
						
						
						
						
						
						Comb method is at most 1% slower for random points,
and is way faster for fixed point (repeated). 
						
						
					 | 
					
						2013-11-21 21:56:38 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						04a0225388
					 | 
					
						
						
							
							Optimize w in the comb method
						
						
						
						
						
						
					 | 
					
						2013-11-21 21:56:37 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						70c14372c6
					 | 
					
						
						
							
							Add coordinate randomization back
						
						
						
						
						
						
					 | 
					
						2013-11-21 21:56:37 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						c30200e4ce
					 | 
					
						
						
							
							Fix bound issues
						
						
						
						
						
						
					 | 
					
						2013-11-21 21:56:37 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						101a39f55f
					 | 
					
						
						
							
							Improve comb method (less precomputed points)
						
						
						
						
						
						
					 | 
					
						2013-11-21 21:56:37 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						d1c1ba90ca
					 | 
					
						
						
							
							First version of ecp_mul_comb()
						
						
						
						
						
						
					 | 
					
						2013-11-21 21:56:20 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Paul Bakker
							
						 
					 | 
					
						
						
							
						
						6a6087e71d
					 | 
					
						
						
							
							Added missing inline definition for MSCV and ARM environments
						
						
						
						
						
						
					 | 
					
						2013-10-28 18:53:08 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						9fcceac943
					 | 
					
						
						
							
							Add a comment about modules coupling
						
						
						
						
						
						
					 | 
					
						2013-10-23 20:56:12 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						b21c81fb41
					 | 
					
						
						
							
							Use less memory in fix_negative()
						
						
						
						
						
						
					 | 
					
						2013-10-23 20:45:04 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						cae6f3ed45
					 | 
					
						
						
							
							Reorganize code in ecp.c
						
						
						
						
						
						
					 | 
					
						2013-10-23 20:19:57 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						5779cbe582
					 | 
					
						
						
							
							Make mod_p{224,256,384] a bit faster
						
						
						
						
						
						
						
						Speedup is roughly 25%, giving a 6% speedup on ecp_mul() for these curves. 
						
						
					 | 
					
						2013-10-23 20:17:00 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						c04c530a98
					 | 
					
						
						
							
							Make NIST curves optimisation an option
						
						
						
						
						
						
					 | 
					
						2013-10-23 16:11:52 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						0f9149cb0a
					 | 
					
						
						
							
							Add mod_p384
						
						
						
						
						
						
					 | 
					
						2013-10-23 15:06:37 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						ec655c908c
					 | 
					
						
						
							
							Add mod_p256
						
						
						
						
						
						
					 | 
					
						2013-10-23 14:50:39 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						210b458ddc
					 | 
					
						
						
							
							Document and slightly reorganize mod_pXXX
						
						
						
						
						
						
					 | 
					
						2013-10-23 14:27:58 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						2a08c0debc
					 | 
					
						
						
							
							mod_p224 now working with 8-bit and 16-bit ints
						
						
						
						
						
						
					 | 
					
						2013-10-23 13:24:55 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						a47e7058ea
					 | 
					
						
						
							
							mod_p224 now endian-neutral
						
						
						
						
						
						
					 | 
					
						2013-10-23 13:24:55 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						e783f06f73
					 | 
					
						
						
							
							Start working on mod_p224
						
						
						
						
						
						
						
						(Prototype, works only on 32-bit and little-endian 64-bit.) 
						
						
					 | 
					
						2013-10-23 13:24:55 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						cc67aee9c8
					 | 
					
						
						
							
							Make ecp_mod_p521 a bit faster
						
						
						
						
						
						
					 | 
					
						2013-10-23 13:24:55 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						c9e387ca9e
					 | 
					
						
						
							
							Optimize ecp_modp()
						
						
						
						
						
						
						
						Makes it 22% faster, for a 5% gain on ecp_mul() 
						
						
					 | 
					
						2013-10-23 13:24:55 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						d1e7a45fdd
					 | 
					
						
						
							
							Rework ecp_mod_p192()
						
						
						
						
						
						
						
						On x86_64, this makes it 5x faster, and ecp_mul() 17% faster for this curve.
The code is shorter too. 
						
						
					 | 
					
						2013-10-23 13:24:55 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Paul Bakker
							
						 
					 | 
					
						
						
							
						
						b9cfaa0c7f
					 | 
					
						
						
							
							Explicit conversions and minor changes to prevent MSVC compiler warnings
						
						
						
						
						
						
					 | 
					
						2013-10-14 15:50:40 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						0cd6f98c0f
					 | 
					
						
						
							
							Don't special-case a = -3, not worth it
						
						
						
						
						
						
					 | 
					
						2013-10-10 15:55:39 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						b8012fca5f
					 | 
					
						
						
							
							Adjust dependencies
						
						
						
						
						
						
					 | 
					
						2013-10-10 15:40:49 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						0ace4b3154
					 | 
					
						
						
							
							Use much less variables in ecp_double_jac_gen()
						
						
						
						
						
						
					 | 
					
						2013-10-10 13:21:48 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						1c4aa24df1
					 | 
					
						
						
							
							Add brainpool support for ecp_mul()
						
						
						
						
						
						
					 | 
					
						2013-10-10 12:56:00 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						cd7458aafd
					 | 
					
						
						
							
							Support brainpool curves in ecp_check_pubkey()
						
						
						
						
						
						
					 | 
					
						2013-10-10 12:56:00 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						a070ada6d4
					 | 
					
						
						
							
							Add brainpool curves to ecp_use_kown_dp()
						
						
						
						
						
						
					 | 
					
						2013-10-10 12:56:00 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						cec4a53c98
					 | 
					
						
						
							
							Add domain parameters for Brainpool curves
						
						
						
						
						
						
					 | 
					
						2013-10-10 12:56:00 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						8195c1a567
					 | 
					
						
						
							
							Add identifiers for Brainpool curves
						
						
						
						
						
						
					 | 
					
						2013-10-10 12:56:00 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						f24b4a7316
					 | 
					
						
						
							
							Interface change in ECP info functions
						
						
						
						
						
						
						
						ecp_named_curve_from_grp_id() -> ecp_curve_info_from_grp_id()
ecp_grp_id_from_named_curve() -> ecp_curve_info_from_tls_id() 
						
						
					 | 
					
						2013-09-24 21:25:53 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						da179e4870
					 | 
					
						
						
							
							Add ecp_curve_list(), hide ecp_supported_curves
						
						
						
						
						
						
					 | 
					
						2013-09-18 15:37:44 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						161ef968db
					 | 
					
						
						
							
							Cache pre-computed points for ecp_mul()
						
						
						
						
						
						
						
						Up to 1.25 speedup on ECDSA sign for small curves, but mainly useful as a
preparation for fixed-point mult (a few prototypes changed in constness). 
						
						
					 | 
					
						2013-09-18 15:37:44 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						56cd319f0e
					 | 
					
						
						
							
							Add human-friendly name in ecp_curve_info
						
						
						
						
						
						
					 | 
					
						2013-09-18 15:37:44 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						a79d123a55
					 | 
					
						
						
							
							Make ecp_supported_curves constant
						
						
						
						
						
						
					 | 
					
						2013-09-18 14:35:57 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						c972770f78
					 | 
					
						
						
							
							Prepare ecp_group for future extensions
						
						
						
						
						
						
					 | 
					
						2013-09-18 14:35:53 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						456d3b9b0b
					 | 
					
						
						
							
							Make ECP error codes more specific
						
						
						
						
						
						
					 | 
					
						2013-09-18 14:35:53 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						568c9cf878
					 | 
					
						
						
							
							Add ecp_supported_curves and simplify some code
						
						
						
						
						
						
					 | 
					
						2013-09-18 14:34:34 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						7038039f2e
					 | 
					
						
						
							
							Dissociate TLS and internal EC curve identifiers
						
						
						
						
						
						
						
						Allows to add new curves before they get a TLS number 
						
						
					 | 
					
						2013-09-18 14:34:34 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						07de4b1d08
					 | 
					
						
						
							
							Implement randomized coordinates in ecp_mul()
						
						
						
						
						
						
					 | 
					
						2013-09-02 16:26:04 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						e09d2f8261
					 | 
					
						
						
							
							Change ecp_mul() prototype to allow randomization
						
						
						
						
						
						
						
						(Also improve an error code while at it.) 
						
						
					 | 
					
						2013-09-02 14:29:09 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						e09631b7c4
					 | 
					
						
						
							
							Create ecp_group_copy() and use it
						
						
						
						
						
						
					 | 
					
						2013-08-20 20:08:29 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						b694b4896c
					 | 
					
						
						
							
							Add ecdsa_{read,write}_signature()
						
						
						
						
						
						
					 | 
					
						2013-08-20 20:04:16 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						96f3a4e1b3
					 | 
					
						
						
							
							Rm ecp_keypair.alg
						
						
						
						
						
						
						
						Avoid duplicating information already present in pk_context. 
						
						
					 | 
					
						2013-07-17 15:59:44 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						de44a4aecf
					 | 
					
						
						
							
							Rename ecp_check_prvkey with a 'i' for consistency
						
						
						
						
						
						
					 | 
					
						2013-07-09 16:42:34 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						c8dc295e83
					 | 
					
						
						
							
							Add ecp_check_prvkey, with test
						
						
						
						
						
						
						
						Also group key checking and generation functions in ecp.h and ecp.c. 
						
						
					 | 
					
						2013-07-08 15:31:18 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Manuel Pégourié-Gonnard
							
						 
					 | 
					
						
						
							
						
						b8c6e0e3e9
					 | 
					
						
						
							
							Add ecp_keypair struct, init/free and constants
						
						
						
						
						
						
					 | 
					
						2013-07-08 15:31:18 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Paul Bakker
							
						 
					 | 
					
						
						
							
						
						6e339b52e8
					 | 
					
						
						
							
							Memory-allocation abstraction layer and buffer-based allocator added
						
						
						
						
						
						
					 | 
					
						2013-07-03 17:22:31 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 |