Manuel Pégourié-Gonnard
|
d962273594
|
Add #ifdef's for curve types
|
2013-12-05 15:58:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
7c94d8bcab
|
WIP #ifdef's
|
2013-12-05 15:58:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
b6f45a616c
|
Avoid potential leak in ecp_mul_mxz()
|
2013-12-05 15:58:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
97871ef236
|
Some operations are not supported with Curve25519
|
2013-12-05 15:58:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
357ff65a51
|
Details in ecp_mul_mxz()
|
2013-12-05 15:58:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
fe0af405f9
|
Adapt ecp_gen_keypair() to Curve25519
|
2013-12-05 15:58:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
a0179b8c4a
|
Change ecp_mul to handle Curve25519 too
|
2013-12-05 15:58:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
312d2e8ea2
|
Adapt key checking functions for Curve25519
|
2013-12-05 15:58:38 +01:00 |
|
Manuel Pégourié-Gonnard
|
3afa07f05b
|
Add coordinate randomization for Curve25519
|
2013-12-05 15:58:37 +01:00 |
|
Manuel Pégourié-Gonnard
|
d9ea82e7d9
|
Add basic arithmetic for Curve25519
|
2013-12-05 15:58:37 +01:00 |
|
Manuel Pégourié-Gonnard
|
3c0b4ea97e
|
Rename a few functions
|
2013-12-05 15:58:37 +01:00 |
|
Manuel Pégourié-Gonnard
|
d5e0fbe1a3
|
Remove now useless function
|
2013-12-02 17:20:39 +01:00 |
|
Manuel Pégourié-Gonnard
|
32b04c1237
|
Split ecp.c
|
2013-12-02 16:36:11 +01:00 |
|
Manuel Pégourié-Gonnard
|
43863eeffc
|
Declare internal variables static in ecp.c
|
2013-12-02 16:34:24 +01:00 |
|
Manuel Pégourié-Gonnard
|
d35e191434
|
Drop useless include in ecp.c
|
2013-12-02 16:34:24 +01:00 |
|
Manuel Pégourié-Gonnard
|
0267e3dc9b
|
Add ecp_curve_info_from_name()
|
2013-11-30 15:10:14 +01:00 |
|
Manuel Pégourié-Gonnard
|
104ee1d1f6
|
Add ecp_genkey(), prettier wrapper
|
2013-11-30 14:35:07 +01:00 |
|
Manuel Pégourié-Gonnard
|
c57b654a3e
|
Use t_uint rather than uintXX_t when appropriate
|
2013-11-26 15:19:56 +01:00 |
|
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 |
|