Bodo Möller
7eb18f1237
Simplify handling of named curves: get rid of EC_GROUP_new_by_name(),
...
EC_GROUP_new_by_nid() should be enough. This avoids a lot of
redundancy.
Submitted by: Nils Larsch
2002-08-15 09:21:31 +00:00
Richard Levitte
5454829ae6
mem* functions are declared in string.h.
2002-08-10 01:36:14 +00:00
Bodo Möller
41fdcfa71e
fix warnings
2002-08-09 11:58:28 +00:00
Bodo Möller
e172d60ddb
Add ECDH support.
...
Additional changes:
- use EC_GROUP_get_degree() in apps/req.c
- add ECDSA and ECDH to apps/speed.c
- adds support for EC curves over binary fields to ECDSA
- new function EC_KEY_up_ref() in crypto/ec/ec_key.c
- reorganize crypto/ecdsa/ecdsatest.c
- add engine support for ECDH
- fix a few bugs in ECDSA engine support
Submitted by: Douglas Stebila <douglas.stebila@sun.com>
2002-08-09 08:43:04 +00:00
Bodo Möller
14a7cfb32a
use a generic EC_KEY structure (EC keys are not ECDSA specific)
...
Submitted by: Nils Larsch
2002-08-07 10:49:54 +00:00
Bodo Möller
848c849584
optical changes
2002-08-02 17:25:05 +00:00
Bodo Möller
102c8f47bf
typo
2002-08-02 15:28:31 +00:00
Bodo Möller
6fb60a84dd
Change BN_mod_sqrt() so that it verifies that the input value is
...
really the square of the return value.
2002-08-02 14:57:53 +00:00
Bodo Möller
35b73a1f20
Rename implementations of method functions so that they match
...
the new method names where _GF... suffixes have been removed.
Revert changes to ..._{get/set}_Jprojective_coordinates_...:
The current implementation for ECC over binary fields does not use
projective coordinates, and if it did, it would not use Jacobian
projective coordinates; so it's OK to use the ..._GFp prefix for all
this.
Add author attributions to some files so that it doesn't look
as if Sun wrote all of this :-)
2002-08-02 14:28:37 +00:00
Bodo Möller
84d7e365a0
ec2_smpt.c must be listed in LIBSRC
2002-08-02 13:50:12 +00:00
Bodo Möller
64c3da230f
there is no alternative EC_METHOD for curves over GF(2^m) (yet)
2002-08-02 13:43:26 +00:00
Bodo Möller
7793f30e09
add support for elliptic curves over binary fields
...
Submitted by: Duglas Stebila <douglas.stebila@sun.com>,
Sheueling Chang <sheueling.chang@sun.com>
(CHANGES entries by Bodo Moeller)
2002-08-02 13:42:24 +00:00
Lutz Jänicke
3aecef7697
"make update"
2002-07-30 12:44:33 +00:00
Bodo Möller
0bee0e6294
Use SEC1 format for EC private keys.
...
This is not ECDSA specific, so it's now PEM_STRING_ECPRIVATEKEY etc.
Submitted by: Nils Larsch <nlarsch@compuserve.de>
2002-07-26 08:41:04 +00:00
Bodo Möller
5dbd3efce7
Replace 'ecdsaparam' commandline utility by 'ecparam'
...
(the same keys can be used for ECC schemes other than ECDSA)
and add some new options.
Similarly, use string "EC PARAMETERS" instead of "ECDSA PARAMETERS"
in 'PEM' format.
Fix ec_asn1.c (take into account the desired conversion form).
'make update'.
Submitted by: Nils Larsch
2002-07-14 16:54:31 +00:00
Richard Levitte
17085b022c
Pass CFLAG to dependency makers, so non-standard system include paths are
...
handled properly.
Part of PR 75
2002-06-27 16:39:25 +00:00
Bodo Möller
5f3d6f70f6
Implement handling of EC parameter seeds (new functions
...
EC_GROUP_set_seed(), EC_GROUP_get0_seed(), EC_GROUP_get_seed_len()).
New functions ECPKParameters_print(), ECPKParameters_print_fp().
Submitted by: Nils Larsch
2002-06-18 08:38:59 +00:00
Lutz Jänicke
65ee74fbc7
Some more prototype fixes.
...
Use DECLARE macros in asn1* instead of direct declaration.
Submitted by: Goetz Babin-Ebell <babinebell@trustcenter.de>
Reviewed by:
PR: 89
2002-06-14 19:01:52 +00:00
Bodo Möller
254ef80db1
simplify asn1_flag
...
Submitted by: Nils Larsch
Reviewed by: Bodo Moeller
2002-06-12 14:01:17 +00:00
Bodo Möller
012c86ab74
move ECC ASN1 that is not specific to ECDSA into crypto/ec/,
...
and make some appropriate changes to the EC library.
Submitted by: Nils Larsch
2002-06-10 12:41:18 +00:00
Bodo Möller
458c29175e
move ECC ASN1 that is not specific to ECDSA into crypto/ec/,
...
and make some appropriate changes to the EC library.
Submitted by: Nils Larsch
2002-06-10 12:18:21 +00:00
Bodo Möller
c6c0e4cb32
fix memory leak
...
Submitted by: Nils Larsch
2002-06-06 10:33:05 +00:00
Bodo Möller
6cbe638294
New functions EC_POINT_point2bn(), EC_POINT_bn2point(), EC_POINT_point2hex(), EC_POINT_hex2point()
...
Submitted by: Nils Larsch
2002-05-30 13:16:03 +00:00
Richard Levitte
02cbedc387
Make sure short aliases are used where required.
2002-05-23 13:52:36 +00:00
Bodo Möller
7711de24f9
accept NULL in 'free' functions
2002-05-21 08:59:57 +00:00
Bodo Möller
b6db386ffd
Change internals of the EC library so that the functions
...
EC_GROUP_{set_generator,get_generator,get_order,get_cofactor} are
implemented directly in crypto/ec/ec_lib.c and not dispatched to
methods.
Also fix EC_GROUP_copy to copy the NID.
2002-05-08 11:54:24 +00:00
Bodo Möller
2c8d0dccfc
improve wNAF generation
2002-05-05 23:45:09 +00:00
Bodo Möller
f916052eab
remove disabled code
2002-04-14 13:28:17 +00:00
Lutz Jänicke
0ae1661ba2
Apply OID fixes for elliptic curves as supplied by
...
Nils Larsch <nlarsch@compuserve.de>.
2002-04-08 15:49:53 +00:00
Bodo Möller
17d6bb8158
New function EC_GROUP_check_discriminant().
...
Restructure implementation of EC_GROUP_check().
Submitted by: Nils Larsch
2002-03-20 10:18:07 +00:00
Bodo Möller
af28dd6c75
Fix bugs and typos.
...
Add some WTLS curves.
New function EC_GROUP_check() (this will probably
be implemented differently soon).
Submitted by: Nils Larsch
Reviewed by: Bodo Moeller
2002-03-18 13:10:45 +00:00
Bodo Möller
4882171df5
EC curve stuff
...
Submitted by: Nils Larsch
2002-03-08 11:10:40 +00:00
Bodo Möller
709c51c424
fix spacing
2002-03-07 12:21:31 +00:00
Bodo Möller
9bc448546e
Add more curves.
...
Submitted by: Nils Larsch
Remove unnecessary 'const'.
2002-03-07 12:14:03 +00:00
Bodo Möller
36c194638e
add SECG OIDs
...
Submitted by: Nils Larsch
2002-03-06 13:47:32 +00:00
Bodo Möller
45fb737950
reference counting for EC_GROUP structures is not needed (at the
...
moment at least), so remove it
2002-03-06 09:46:17 +00:00
Bodo Möller
d009bcbfb6
bugfix: allocate sufficiently large buffer
...
Submitted by: Nils Larsch
2002-02-20 11:59:42 +00:00
Bodo Möller
8f06b00373
make it possible to disable memory checking for timings
2002-02-14 14:41:13 +00:00
Bodo Möller
4d94ae00d5
ECDSA support
...
Submitted by: Nils Larsch <nla@trustcenter.de>
2002-02-13 18:21:51 +00:00
Bodo Möller
60d8bae30d
some modifications to named curve support
2002-02-13 17:57:52 +00:00
Bodo Möller
945e15a253
add support for named curves
...
Submitted by: Nils Larsch <nla@trustcenter.de>
2002-02-13 17:22:59 +00:00
Richard Levitte
b77fcddb6b
Apply a small patch from Oscar Jacobsson <oscar@jacobsson.org> that
...
makes things more compilable with VC++.
2002-01-26 04:50:41 +00:00
Bodo Möller
1226c472b7
oops
2001-12-17 19:26:43 +00:00
Bodo Möller
4d7072f4b5
remove redundant ERR_load_... declarations
2001-12-17 19:22:23 +00:00
Bodo Möller
c05940edc7
comment
2001-11-22 11:08:38 +00:00
Bodo Möller
e71adb85c5
avoid stupid compiler warning
2001-11-16 11:37:36 +00:00
Bodo Möller
b19941ab05
comment
2001-11-16 06:22:21 +00:00
Bodo Möller
752938daab
use a more interesting test case
2001-11-16 06:22:05 +00:00
Bodo Möller
c78515f55e
comments etc.
2001-11-15 22:35:41 +00:00
Bodo Möller
3ba1f11147
Improve EC efficiency.
2001-11-15 22:32:11 +00:00
Richard Levitte
37da54b10e
The #error message must match a very specific regexp (see mkdef.pl,
...
currently line 470).
2001-09-26 15:18:32 +00:00
Geoff Thorpe
79aa04ef27
Make the necessary changes to work with the recent "ex_data" overhaul.
...
See the commit log message for that for more information.
NB: X509_STORE_CTX's use of "ex_data" support was actually misimplemented
(initialisation by "memset" won't/can't/doesn't work). This fixes that but
requires that X509_STORE_CTX_init() be able to handle errors - so its
prototype has been changed to return 'int' rather than 'void'. All uses of
that function throughout the source code have been tracked down and
adjusted.
2001-09-01 20:02:13 +00:00
Richard Levitte
710e5d5639
make update
2001-07-31 17:07:24 +00:00
Ben Laurie
dbad169019
Really add the EVP and all of the DES changes.
2001-07-30 23:57:25 +00:00
Bodo Möller
9c10b2c8d3
For consistency with the terminology used in my SAC2001 paper, avoid
...
the term "simultaneous multiplication" (which -- acording to the
paper, at least -- applies only to certain methods which we don't use
here)
2001-07-10 11:41:29 +00:00
Bodo Möller
56a106115f
comment change
2001-07-10 11:28:53 +00:00
Bodo Möller
e3a4f8b84c
Precomputation will not necessarily be LIm-Lee precomputation.
2001-07-10 10:04:05 +00:00
Bodo Möller
b8e2f83ae6
Call ENGINE_cleanup() to avoid memory leak.
2001-07-04 20:55:36 +00:00
Richard Levitte
1f0af2c073
len is a size_t, which is an unsigned integer. Therefore, some
...
compilers will complain against the check for less than zero.
2001-05-14 11:56:47 +00:00
Bodo Möller
413a4a0461
Fix warnings.
2001-04-03 14:03:47 +00:00
Richard Levitte
8a2908a24a
Since they aren't implemented yet, EC_GFp_{recp,nist}_method() need to
...
be "#if 0"'d, or they will (re)appear as existing functions in
util/libeay.num.
2001-03-21 12:34:34 +00:00
Bodo Möller
26fbabf3d1
Increase boundaries in EC_window_bits_for_scalar_size table.
2001-03-20 11:16:12 +00:00
Bodo Möller
37cdcb4d8a
Table for window sizes.
2001-03-19 22:38:24 +00:00
Bodo Möller
4f69172d25
Completely remove mont2 stuff.
...
It does not appear to be faster than the current Montgomery code
except for very small moduli (somewhere between 192 and 224 bits
in a 64-bit Sun environment, and even less than 192 bits
on 32 bit systems).
2001-03-15 18:17:40 +00:00
Bodo Möller
63c43dcc59
avoid infinite loop
2001-03-15 11:31:37 +00:00
Richard Levitte
37a92e9ce4
make update.
2001-03-13 21:47:23 +00:00
Bodo Möller
194dd04699
Rename function EC_GROUP_precompute to EC_GROUP_precompute_mult,
...
which indicate its purpose more clearly.
2001-03-12 07:26:23 +00:00
Bodo Möller
5b054c6955
EC_METHOD based on bn_mont2 (not used in the library)
2001-03-11 17:43:07 +00:00
Bodo Möller
10654d3a74
Forcibly enable memory leak checking during "make test"
2001-03-11 14:49:46 +00:00
Bodo Möller
6017e604f8
Timings are not supposed to be enabled by default ...
2001-03-11 12:30:52 +00:00
Bodo Möller
3837491174
Add functions EC_POINT_mul and EC_GROUP_precompute.
...
The latter does nothing for now, but its existence means
that applications can request precomputation when appropriate.
2001-03-11 12:27:24 +00:00
Bodo Möller
86a921af06
handle negative scalars correctly when doing point multiplication
2001-03-11 08:44:50 +00:00
Bodo Möller
616df35633
use fflush
2001-03-11 08:27:11 +00:00
Bodo Möller
e44fcedadf
Change timing output: We don't have "exponents" here, curves are
...
considered additive
2001-03-10 23:49:06 +00:00
Bodo Möller
6f8f443170
comment and error code update
2001-03-10 23:37:52 +00:00
Bodo Möller
d18af3f37e
Remove files from Lenka's EC implementation.
2001-03-10 23:26:41 +00:00
Bodo Möller
48fe4d6233
More EC stuff, including EC_POINTs_mul() for simultaneous scalar
...
multiplication of an arbitrary number of points.
2001-03-10 23:18:35 +00:00
Dr. Stephen Henson
24a93e6cdd
In crypto/ec #if 0 out structures which reference (currently)
...
non existent functions because this breaks shared libraries.
2001-03-10 12:37:01 +00:00
Bodo Möller
4e20b1a656
Instead of telling both 'make' and the user that ranlib
...
errors can be tolerated, hide the error from 'make'.
This gives shorter output both if ranlib fails and if
it works.
2001-03-09 14:01:42 +00:00
Bodo Möller
42909e3968
Fix ec_GFp_simple_cmp.
...
Use example group from Annex I of X9.62 in ectest.c.
2001-03-08 22:52:49 +00:00
Bodo Möller
156e85578d
Implement EC_GFp_mont_method.
2001-03-08 20:55:16 +00:00
Bodo Möller
bb62a8b0c5
More method functions for elliptic curves,
...
and an ectest.c that actually tests something.
2001-03-08 19:14:52 +00:00
Richard Levitte
0e99546424
Some EC function names are really long. Make aliases for VMS on VAX.
2001-03-08 17:20:31 +00:00
Bodo Möller
3285076c8e
Integrate ec_err.[co].
...
"make depend"
2001-03-08 12:30:12 +00:00
Bodo Möller
de10f6900d
Sort openssl.ec, the configuration file for mkerr.pl.
...
Change mkerr.pl so that it puts the ERR_load_..._strings()
prototype in header files that it writes.
2001-03-08 12:14:25 +00:00
Bodo Möller
adfe54b7be
Integrate ectest.c (which does not yet do anything).
2001-03-08 11:59:48 +00:00
Bodo Möller
91f29a38a0
Let EC_POINT_copy do nothing if dest==src
2001-03-08 11:18:06 +00:00
Bodo Möller
1d5bd6cf71
More 'TODO' items.
2001-03-08 11:16:33 +00:00
Bodo Möller
226cc7ded4
More method functions for EC_GFp_simple_method.
2001-03-08 01:23:28 +00:00
Bodo Möller
e869d4bd32
More method functions.
2001-03-07 20:56:48 +00:00
Bodo Möller
60428dbf0a
Some actual method functions (not enough yet to use the EC library, though),
...
including EC arithmetics derived from Lenka Fibikova's code (with some
additional optimizations).
2001-03-07 19:54:35 +00:00
Bodo Möller
f1f25544e0
..._init functions are method-specific too
...
(they can't do much useful, but they will have to set pointers
to NULL)
2001-03-07 09:53:41 +00:00
Bodo Möller
2e0db07627
Optimized EC_METHODs need specific 'set_curve' and 'free' functions.
2001-03-07 09:48:38 +00:00
Bodo Möller
58fc62296f
The next bunch of vaporware.
2001-03-07 09:29:45 +00:00
Bodo Möller
df9cc1535e
extra_data 'mixin'.
...
(This will be used for Lim/Lee precomputation data.)
2001-03-07 09:03:32 +00:00
Bodo Möller
c4b36ff474
Oops ...
2001-03-07 01:41:20 +00:00
Bodo Möller
f418f8c17c
In clear_free, clear the complete structure just in case
...
the method misses something.
2001-03-07 01:37:54 +00:00
Bodo Möller
0657bf9c14
Implement dispatcher for EC_GROUP and EC_POINT method functions.
...
Initial EC_GROUP_new_curve_GFp implementation.
2001-03-07 01:17:05 +00:00
Bodo Möller
5b438e9b0f
Add a few 'const's
2001-03-06 22:30:03 +00:00
Bodo Möller
774530f412
'is_at_infinity' tests don't need a BN_CTX.
2001-03-06 08:55:33 +00:00
Bodo Möller
fb171e534e
New function declarations.
2001-03-06 07:01:51 +00:00
Bodo Möller
7d7db13e67
Add BN_CTX arguments where appropriate.
...
Rename 'EC_GROUP_set'-related functions to names similar to 'EC_GROUP_set_curve'
because they don't care about the generator.
Add new functions.
2001-03-06 06:20:20 +00:00
Bodo Möller
24b8dc9a55
Add EC_GROUP_new_GFp prototype.
2001-03-05 22:29:57 +00:00
Bodo Möller
d8c79c7f72
Change comments.
2001-03-05 21:59:03 +00:00
Bodo Möller
3a12ce0137
Some declarations that outline what I intend to implement.
2001-03-05 21:54:39 +00:00
Bodo Möller
62763f682b
Another file I had forgotten to add.
2001-03-05 20:32:41 +00:00
Bodo Möller
38e3c5815c
Add yet another (still empty) source code file that I forgot.
2001-03-05 20:31:49 +00:00
Bodo Möller
f8fe20e0d9
Add more EC vaporware (empty source code files I missed in my
...
previous commit).
2001-03-05 20:14:00 +00:00
Bodo Möller
65e8167079
Move ec.h to ec2.h because it is not compatible with what we will use.
...
Add EC vaporware: change relevant Makefiles and add some empty source
files.
"make update".
2001-03-05 20:13:37 +00:00
Bodo Möller
786e0c2424
EC_set_half and the 'h' component of struct bn_ec_struct are unnecessary.
...
The computations for which h was used can be done more efficiently
by using BN_rshift1.
2001-03-03 15:31:34 +00:00
Bodo Möller
db5bda670f
Changes to Lenka's Montgomery implementation.
...
Submitted by: Lenka Fibikova
2000-11-30 17:35:17 +00:00
Bodo Möller
946cd9a540
Change submitted files so that they compile (in particular,
...
use BN_CTX_start/get/end instead of accessing ctx->tos).
Change indentation to "EAY" style.
2000-11-26 19:13:52 +00:00
Bodo Möller
5acaa49504
More BN_mod_... functions.
2000-11-26 18:31:32 +00:00
Bodo Möller
6cc5e19d47
Remove CR at line ends.
2000-11-26 12:55:19 +00:00
Bodo Möller
7e0c5264e7
Elliptic curves over GF(p), new BIGNUM functions, Montgomery re-implementation.
...
These new files will not be included literally in OpenSSL, but I intend
to integrate most of their contents. Most file names will change,
and when the integration is done, the superfluous files will be deleted.
Submitted by: Lenka Fibikova <fibikova@exp-math.uni-essen.de>
2000-11-26 12:12:35 +00:00