Manuel Pégourié-Gonnard
|
96c7a92b08
|
Change mpi_safe_cond_assign() for more const-ness
|
2013-11-25 18:28:53 +01:00 |
|
Manuel Pégourié-Gonnard
|
918148193d
|
Enhance ecp_selftest
|
2013-11-21 21:56:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
d728350cee
|
Make memory access pattern constant
|
2013-11-21 21:56:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
aade42fd88
|
Change method for making M odd in ecp_mul()
- faster
- avoids M >= N (if m = N-1 or N-2)
|
2013-11-21 21:56:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
36daa13d76
|
Misc details
|
2013-11-21 21:56:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
469a209334
|
Rm subtraction from ecp_add_mixed()
|
2013-11-21 21:56:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
01fca5e882
|
Do point inversion without leaking information
|
2013-11-21 21:56:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
44aab79022
|
Update bibliographic references
|
2013-11-21 21:56:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
7f762319ad
|
Use mpi_shrink() in ecp_precompute()
|
2013-11-21 21:56:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
e282012219
|
Spare some memory
|
2013-11-21 21:56:38 +01:00 |
|
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 |
|