Bodo Möller
aa4ce7315f
Fix various incorrect error function codes.
...
("perl util/ck_errf.pl */*.c */*/*.c" still reports many more.)
2005-04-26 18:53:22 +00:00
Nils Larsch
ff22e913a3
- use BN_set_negative and BN_is_negative instead of BN_set_sign
...
and BN_get_sign
- implement BN_set_negative as a function
- always use "#define BN_is_zero(a) ((a)->top == 0)"
2005-04-22 20:02:44 +00:00
Dr. Stephen Henson
ad0db060b1
More overwritten stuff...
2005-04-12 16:36:36 +00:00
Dr. Stephen Henson
29dc350813
Rebuild error codes.
2005-04-12 16:15:22 +00:00
Nils Larsch
37942fab51
include limits.h for UINT_MAX etc.
2005-04-11 20:59:58 +00:00
Richard Levitte
4bb61becbb
Add emacs cache files to .cvsignore.
2005-04-11 14:17:07 +00:00
Nils Larsch
c2e40d0f9a
remove unused recp method
2005-04-04 18:15:59 +00:00
Ben Laurie
41a15c4f0f
Give everything prototypes (well, everything that's actually used).
2005-03-31 09:26:39 +00:00
Ben Laurie
42ba5d2329
Blow away Makefile.ssl.
2005-03-30 13:05:57 +00:00
Bodo Möller
80c808b90b
Fix typo
...
PR: 1017
Submitted by: ciresh@yahoo.com
Reviewed by: Nils Larsch
2005-03-09 19:08:02 +00:00
Richard Levitte
a2ac429da2
Don't use $(EXHEADER) directly in for loops, as most shells will break
...
if $(EXHEADER) is empty.
Notified by many, solution suggested by Carson Gaspar <carson@taltos.org>
2004-11-02 23:55:01 +00:00
Geoff Thorpe
7f5b4dd1e8
Using Horner's algorithm to evaluate the ec polynomial
...
(suggested by Adam Young <ayoung@cigital.com>)
Submitted by: Nils Larsch
2004-07-16 03:24:19 +00:00
Geoff Thorpe
ace3ebd661
Improve error handling if decompression of an ec point fails, and cleanup
...
ec_curve.c (unify comments, etc).
Submitted by: Nils Larsch
Reviewed by: Bodo Moeller, Geoff Thorpe
2004-07-06 15:50:04 +00:00
Geoff Thorpe
9c52d2cc75
After the latest round of header-hacking, regenerate the dependencies in
...
the Makefiles. NB: this commit is probably going to generate a huge posting
and it is highly uninteresting to read.
2004-05-17 19:26:06 +00:00
Geoff Thorpe
0f814687b9
Deprecate the recursive includes of bn.h from various API headers (asn1.h,
...
dh.h, dsa.h, ec.h, ecdh.h, ecdsa.h, rsa.h), as the opaque bignum types are
already declared in ossl_typ.h. Add explicit includes for bn.h in those C
files that need access to structure internals or API functions+macros.
2004-05-17 19:14:22 +00:00
Geoff Thorpe
ca982e4870
Fix realloc usage in ec_curve.c
...
Submitted by: Nils Larsch
Reviewed by: Geoff Thorpe
2004-05-04 20:08:55 +00:00
Geoff Thorpe
60a938c6bc
(oops) Apologies all, that last header-cleanup commit was from the wrong
...
tree. This further reduces header interdependencies, and makes some
associated cleanups.
2004-04-19 18:09:28 +00:00
Geoff Thorpe
5148710994
Adds warnings about two curves and fixes the "seed" value for two other
...
curves.
Submitted by: Nils Larsch
2004-03-25 03:03:52 +00:00
Richard Levitte
560f7abb7e
Make sure we use unsigned constants, or come compilers may complain.
2004-03-15 22:33:19 +00:00
Geoff Thorpe
b6358c89a1
Convert openssl code not to assume the deprecated form of BN_zero().
...
Remove certain redundant BN_zero() initialisations, because BN_CTX_get(),
BN_init(), [etc] already initialise to zero.
Correct error checking in bn_sqr.c, and be less wishy-wash about how/why
the result's 'top' value is set (note also, 'max' is always > 0 at this
point).
2004-03-13 23:57:20 +00:00
Andy Polyakov
7f24b1c3e9
Get rid of bogus warning when compiling with Sun vendor compiler.
2004-01-24 16:31:21 +00:00
Richard Levitte
79b42e7654
Use sh explicitely to run point.sh
...
This is part of a large change submitted by Markus Friedl <markus@openbsd.org>
2003-12-27 14:59:07 +00:00
Richard Levitte
0d78bc3356
Add IPSec/IKE/Oakley curves.
...
PR: 768
Submitted by: Vadim Fedukovich <vf@unity.net>
2003-11-29 09:25:59 +00:00
Geoff Thorpe
37af03d311
General improvements to the ec_asn1.c code. This squashes at least one bug
...
(where it was impossible to create an EC certificate with a compressed
public key), and has some style improvements based on some comments from
Steve Henson about use of the ASN1 macros.
Submitted by: Nils Larsch
Reviewed by: Geoff Thorpe
2003-11-10 18:09:18 +00:00
Geoff Thorpe
6bcd3f903a
Comments out some unimplemented functions instead of redeclaring them.
2003-10-29 04:42:29 +00:00
Bodo Möller
968766cad8
updates for draft-ietf-tls-ecc-03.txt
...
Submitted by: Douglas Stebila
Reviewed by: Bodo Moeller
2003-07-22 12:34:21 +00:00
Bodo Möller
652ae06bad
add test for secp160r1
...
add code for kP+lQ timings
Submitted by: Douglas Stebila <douglas.stebila@sun.com>
Reviewed by: Bodo Moeller
2003-07-22 10:39:10 +00:00
Bodo Möller
ada0e717fa
new function EC_GROUP_cmp() (used by EVP_PKEY_cmp())
...
Submitted by: Nils Larsch
2003-07-21 13:43:28 +00:00
Richard Levitte
163f5b236c
Correct signedness
2003-05-21 14:21:26 +00:00
Richard Levitte
513c01a591
Make sure EC_window_bits_for_scalar_size() returns a size_t
2003-05-21 08:40:06 +00:00
Richard Levitte
87c9c659de
Make sure we get the definition of OPENSSL_NO_EC.
2003-03-20 23:22:06 +00:00
Bodo Möller
155bd1137e
add Certicom licensing e-mail address
2003-02-27 12:25:35 +00:00
Bodo Möller
f2aa055ec6
treat 'out' like i2d functions do; cf. asn1_item_flags_i2d (crypto/asn/tasn_enc.c)
2003-02-21 16:06:39 +00:00
Bodo Möller
62e3163b1b
ECPublicKey_set_octet_string and ECPublicKey_get_octet_string
...
behaviour was not quite consistent with the conventions
for d2i and i2d functions as far as handling of the 'out'
or 'in' pointer is concerned.
This patch changes this behaviour, and renames the functions to
o2i_ECPublicKey and i2o_ECPublicKey (not 'd2i' and 'i2d' because the
external encoding is just a raw object string without any DER icing).
Submitted by: Nils Larsch
2003-02-21 13:58:23 +00:00
Bodo Möller
fbbfd86b67
typo
...
PR: 511
Submitted by: Eric Cronin
2003-02-19 16:29:47 +00:00
Bodo Möller
ba729265a8
Allow EC_GROUP objects to share precomputation for improved memory
...
efficiency (EC_PRE_COMP objects are now constant once completed).
Extend 'extra_data' API to support arbitrarily many slots (although we
need only one at the moment).
Modify EC internal 'extra_data' API: EC_GROUP_[clear_]free_extra_data
now frees only a single slot (the previous functions are available as
EC_GROUP_[clear_]free_all_extra_data).
Submitted by: Nils Larsch
Reviewed by: Bodo Moeller
2003-02-12 18:30:16 +00:00
Richard Levitte
28f573a28d
Make sure memcpy() is properly declared by including string.h.
2003-02-10 11:14:35 +00:00
Bodo Möller
e2c9c91b5b
fix EC_GROUP_copy for EC_GFp_nist_method()
...
Submitted by: Nils Larsch
2003-02-08 19:51:37 +00:00
Bodo Möller
65b254e8c0
remove debugging leftovers
2003-02-08 15:56:05 +00:00
Bodo Möller
82871eaa17
comment
2003-02-07 11:54:57 +00:00
Bodo Möller
24893ca999
typo
2003-02-06 19:32:06 +00:00
Bodo Möller
37c660ff9b
implement fast point multiplication with precomputation
...
Submitted by: Nils Larsch
Reviewed by: Bodo Moeller
2003-02-06 19:25:12 +00:00
Richard Levitte
0b13e9f055
Add the possibility to build without the ENGINE framework.
...
PR: 287
2003-01-30 17:39:26 +00:00
Bodo Möller
bd1217a176
simplify
...
Submitted by: Nils Larsch
2003-01-28 13:08:21 +00:00
Bodo Möller
82516e3baf
cofactor is optional in parameter encodings
...
Submitted by: Nils Larsch
2003-01-25 15:28:49 +00:00
Bodo Möller
9b3f03d5a2
fix warnings
...
Submitted by: Nils Larsch
2003-01-21 09:53:14 +00:00
Bodo Möller
d745af4b0c
avoid potential confusion about curves (prime192v1 and prime256v1 are
...
also known as secp192r1 and secp256r1, respectively)
Submitted by: Nils Larsch, Bodo Moeller
2003-01-16 16:05:23 +00:00
Geoff Thorpe
e9224c7177
This is a first-cut at improving the callback mechanisms used in
...
key-generation and prime-checking functions. Rather than explicitly passing
callback functions and caller-defined context data for the callbacks, a new
structure BN_GENCB is defined that encapsulates this; a pointer to the
structure is passed to all such functions instead.
This wrapper structure allows the encapsulation of "old" and "new" style
callbacks - "new" callbacks return a boolean result on the understanding
that returning FALSE should terminate keygen/primality processing. The
BN_GENCB abstraction will allow future callback modifications without
needing to break binary compatibility nor change the API function
prototypes. The new API functions have been given names ending in "_ex" and
the old functions are implemented as wrappers to the new ones. The
OPENSSL_NO_DEPRECATED symbol has been introduced so that, if defined,
declaration of the older functions will be skipped. NB: Some
openssl-internal code will stick with the older callbacks for now, so
appropriate "#undef" logic will be put in place - this is in case the user
is *building* openssl (rather than *including* its headers) with this
symbol defined.
There is another change in the new _ex functions; the key-generation
functions do not return key structures but operate on structures passed by
the caller, the return value is a boolean. This will allow for a smoother
transition to having key-generation as "virtual function" in the various
***_METHOD tables.
2002-12-08 05:24:31 +00:00
Richard Levitte
55f78baf32
Have all tests use EXIT() to exit rather than exit(), since the latter doesn't
...
always give the expected result on some platforms.
2002-11-28 18:54:30 +00:00
Richard Levitte
4579924b7e
Cleanse memory using the new OPENSSL_cleanse() function.
...
I've covered all the memset()s I felt safe modifying, but may have missed some.
2002-11-28 08:04:36 +00:00
Bodo Möller
15994b034a
rename some functions to improve consistency
...
Submitted by: Sheueling Chang
2002-11-23 18:16:09 +00:00
Bodo Möller
922fa76e26
add a comment
2002-11-22 09:25:35 +00:00
Bodo Möller
137445140b
Make ec_GFp_simple_point_get_affine_coordinates() faster
...
for Montgomery representations.
Submitted by: Sheueling Chang, Bodo Moeller
2002-11-20 10:53:33 +00:00
Bodo Möller
a2dbcf3644
remove redundant functions
2002-11-18 14:37:35 +00:00
Bodo Möller
4663355496
use consistent order of function definitions
2002-11-18 14:33:39 +00:00
Richard Levitte
b4b82ab465
I forgot this is compiled in test/, not crypto/ec/...
2002-11-16 10:10:39 +00:00
Richard Levitte
0bf23d9b20
WinCE patches
2002-11-15 22:37:18 +00:00
Bodo Möller
acce40c585
this method does not need field_data1
2002-11-15 12:43:15 +00:00
Richard Levitte
af67804bef
make update
2002-11-14 23:56:12 +00:00
Ben Laurie
54a656ef08
Security fixes brought forward from 0.9.7.
2002-11-13 15:43:43 +00:00
Bodo Möller
d742bd882e
do tests with all built-in curves
...
Submitted by: Nils Larsch
2002-11-11 10:25:12 +00:00
Bodo Möller
97a06ad9ef
corrections to built-in curves
...
Submitted by: Nils Larsch
2002-11-11 10:24:52 +00:00
Bodo Möller
b53e44e572
implement and use new macros BN_get_sign(), BN_set_sign()
...
Submitted by: Nils Larsch
2002-11-04 13:17:22 +00:00
Bodo Möller
259cdf2af9
Sun has agreed to removing the covenant language from most files.
...
Submitted by: Sheueling Chang <Sheueling.Chang@Sun.COM>
2002-10-29 10:59:32 +00:00
Richard Levitte
62dd6f161a
The #else part of the conditionals have two statements, so they need
...
to be surrounded with braces, or the surrounding if..else will fail
miserably in case the #else part is compiled.
2002-10-29 09:42:59 +00:00
Bodo Möller
19b8d06a79
clean up new code for NIST primes
...
create new lock CRYPTO_LOCK_BN to avoid race condition
2002-10-28 14:02:19 +00:00
Bodo Möller
5c6bf03117
fast reduction for NIST curves
...
Submitted by: Nils Larsch
2002-10-28 13:23:24 +00:00
Bodo Möller
f72ed6153b
remove superfluous code
...
Submitted by: Nils Larsch
2002-10-28 13:19:08 +00:00
Richard Levitte
001ab3abad
Use double dashes so makedepend doesn't misunderstand the flags we
...
give it.
For 0.9.7 and up, that means util/domd needs to remove those double
dashes from the argument list when gcc is used to find the
dependencies.
2002-10-09 13:25:12 +00:00
Bodo Möller
4c8f79a33e
make sure 'neg' flag (which does not really matter for GF(2^m), but
...
could cause confusion for ECDSA) is set to zero
Submitted by: Sheueling Chang
2002-09-16 13:52:48 +00:00
Bodo Möller
65b1d31df5
change API for looking at the internal curve list
...
Submitted by: Nils Larsch
2002-09-02 07:08:33 +00:00
Bodo Möller
34f1f2a81c
less specific interface for EC_GROUP_get_basis_type
...
Submitted by: Nils Larsch, Bodo Moeller
2002-08-26 18:08:53 +00:00
Bodo Möller
8aefe253a7
move EC_GROUP_get_basis_type() from ec_lib.c to ec_asn1.c
2002-08-26 11:33:13 +00:00
Bodo Möller
7e31164ae0
ASN1 for binary curves
...
Submitted by: Nils Larsch
2002-08-26 11:25:54 +00:00
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