diff options
author | Werner Koch <wk@gnupg.org> | 2013-03-19 15:12:07 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2013-03-19 15:12:07 +0100 |
commit | 931e409e877d1e444edd53dead327ec8e64daf9a (patch) | |
tree | 841c4f30324273512effe06d32af6f36d8da26c8 /compat | |
parent | 229f3219f80c9369ed9624242c0436ae6d293201 (diff) | |
download | libgcrypt-931e409e877d1e444edd53dead327ec8e64daf9a.tar.gz |
Extend the new EC interface and fix two bugs.
* src/ec-context.h (mpi_ec_ctx_s): Add field NEED_SYNC.
* mpi/ec.c (ec_p_sync): New.
(ec_p_init): Only set NEED_SYNC.
(_gcry_mpi_ec_set_mpi): Set NEED_SYNC for 'p' and 'a'.
(_gcry_mpi_ec_dup_point, _gcry_mpi_ec_add_points)
(_gcry_mpi_ec_mul_point): Call ec_p_sync.
(_gcry_mpi_ec_get_point): Recompute 'q' is needed.
(_gcry_mpi_ec_get_mpi): Ditto. Also allow for names 'q', 'q.x',
'q.y', and 'g'.
* cipher/ecc.c (_gcry_mpi_ec_ec2os): New.
* cipher/ecc.c (_gcry_mpi_ec_new): Fix init from parameters 'Q'->'q',
'G'->'q'.
--
Note that the parameter names are all lowercase. This patch fixes an
inconsistency.
The other bug was that changing the parameters D or A may have
resulted in wrong computations because helper variables were not
updated. Now we delay the computation of those helper variables until
we need them.
Diffstat (limited to 'compat')
0 files changed, 0 insertions, 0 deletions