Richard Levitte
6ab285bf4c
I think I got it now. Apparently, the case of having to shift down
...
the divisor was a bit more complex than I first saw. The lost bit
can't just be discarded, as there are cases where it is important.
For example, look at dividing 320000 with 80000 vs. 80001 (all
decimals), the difference is crucial. The trick here is to check if
that lost bit was 1, and in that case, do the following:
1. subtract the quotient from the remainder
2. as long as the remainder is negative, add the divisor (the whole
divisor, not the shofted down copy) to it, and decrease the
quotient by one.
There's probably a nice mathematical proof for this already, but I
won't bother with that, unless someone requests it from me.
2002-12-02 21:31:45 +00:00
Richard Levitte
1d3159bcca
Make some names consistent.
2002-12-02 02:40:27 +00:00
Richard Levitte
f60ceb54eb
Through some experimentation and thinking, I think I finally got the
...
proper implementation of bn_div_words() for VAX.
If the tests go through well, the next step will be to test on Alpha.
2002-12-02 02:28:27 +00:00
Richard Levitte
0f995b2f40
Small bugfix: even when r == d, we need to adjust r and q.
...
PR: 366
2002-12-01 02:17:23 +00:00
Richard Levitte
a678430602
Redo the VAX assembler version of bn_div_words().
...
PR: 366
2002-12-01 00:49:36 +00:00
Richard Levitte
43d601641f
A few more memset()s converted to OPENSSL_cleanse().
...
I *think* I got them all covered by now, bu please, if you find any more,
tell me and I'll correct it.
PR: 343
2002-11-29 11:30:45 +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
2047bda6fb
Unused variable removed.
2002-11-27 13:40:41 +00:00
Richard Levitte
821385ad00
Fix an unsigned/signed mismatch.
2002-11-19 11:28:28 +00:00
Richard Levitte
8d6e60486f
Fix to build better with DJGPP.
...
PR: 338
Here's the description, submitted by Gisle Vanem <giva@bgnett.no>:
1. sock_init() renamed to ssl_sock_init() in ./apps/s_socket.c due
to name-clash with Watt-32.
2. rand() renamed to Rand() in ./crypto/bn/divtest.c due to name-clash
with <stdlib.h>
3. Added calls to dbug_init()/sock_init() in some demo programs.
4. Changed cflags/lflags in configure. Watt-32 install root now taken
from $WATT_ROOT.
2002-11-14 11:22:01 +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
Richard Levitte
b5148cf1f7
synchronise util/libeay.num with the 0.9.7-stable variant (guys, this
...
is something we really need to keep track of!).
make update
2002-10-29 14:48:57 +00:00
Bodo Möller
90a617e050
avoid warnings ('index' shadows global declaration)
...
Submitted by: Nils Larsch
2002-10-29 11:50:20 +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
Bodo Möller
6c950e0dc9
'covenant HOWTO' (what to do about the Sun covenant if you modify the code)
...
Submitted by: Bodo Moeller
2002-10-29 10:58:07 +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
Richard Levitte
e15ea3d9e1
When BN_add_word() reaches top, it shouldn't try to add the the corresponding
...
word, since that word may not be zero.
2002-10-14 11:33:32 +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
c237de058f
don't write beyond buffer
...
Submitted by: Nils Larsch
2002-08-27 13:32:35 +00:00
Richard Levitte
f13ddd5d0a
Do not use the word 'modulus', which is a class template name in VC++ 6.0/SP5.
...
PR: 216, point 3
2002-08-12 21:20:25 +00:00
Bodo Möller
7a8645d171
avoid SIGSEGV
...
Submitted by: Nils Larsch, Douglas Stebila
2002-08-07 07:53:47 +00:00
Bodo Möller
d28735a05b
oops, undo previous change (was just for testing)
2002-08-03 18:28:34 +00:00
Bodo Möller
183847747a
fix bn_expand2
2002-08-03 18:27:47 +00:00
Bodo Möller
bac6012308
use bn_wexpand instead of bn_expand2 (the latter is not needed here,
...
and it does not yet work correctly)
Submitted by: Douglas Stebila
2002-08-03 17:51:29 +00:00
Bodo Möller
909abce800
disable Sun divison algorithm by default
2002-08-02 18:26:02 +00:00
Bodo Möller
33d4e690cc
fix bn_expand2
2002-08-02 18:23:55 +00:00
Bodo Möller
d3bcbba45c
remove obsolete part of comment
2002-08-02 15:13:10 +00:00
Bodo Möller
0903e56196
remove obsoleted disabled code
2002-08-02 15:07:08 +00:00
Bodo Möller
95ecacf8a2
Let BN_rand_range() abort with an error after 100 iterations
...
without success.
2002-08-02 15:02:03 +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
5af7d1a3b8
move GF2m tests to the end
2002-08-02 14:49:59 +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
1dc920c8de
Binary field arithmetic contributed by Sun Microsystems.
...
The 'OPENSSL_NO_SUN_DIV' default is still subject to change,
so I didn't bother to finish the CHANGES entry yet.
Submitted by: Douglas Stebila <douglas.stebila@sun.com>, Sheueling Chang <sheueling.chang@sun.com>
(CHANGES entry by Bodo Moeller)
2002-08-02 13:03:55 +00:00
Bodo Möller
12593e6f45
Move zeroing from bn_expand_internal() to bn_expand2() so that it
...
happens reliably, even if the BIGNUM is already sufficiently large.
[Note that the bn_expand()/bn_wexpand() macros call bn_expand2() only
if the BIGNUM actually has to grow, so this change does not add any
new overhead as currently bn_expand2() is never called directly.]
2002-07-25 12:12:39 +00:00
Bodo Möller
5c9396e37c
remove obsolete comment
2002-07-10 08:39:05 +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
Richard Levitte
451dc18f10
Add support for DJGPP.
...
PR: 75
2002-06-13 20:42:35 +00:00
Richard Levitte
9cdf87f194
Check the return values where memory allocation failures may happen.
...
PR: 49
2002-05-30 16:47:45 +00:00
Dr. Stephen Henson
dc014d43af
Fallback to normal multiply if n2 == 8 and dna or dnb is not zero
...
in bn_mul_recursive.
This is (hopefully) what was triggering bignum errors on 64 bit
platforms and causing the BN_mod_mul test to fail.
2002-05-10 22:18:13 +00:00
Dr. Stephen Henson
2f9cf160e4
Avoid gcc warning: BN_DEC_CONV when SIXTY_FOUR_BIT is defined is unsigned.
2002-05-10 22:07:37 +00:00
Bodo Möller
d5c21afd4b
add missing declaration
...
Submitted by: Nils Larsch
2002-03-25 23:15:21 +00:00
Bodo Möller
4d7072f4b5
remove redundant ERR_load_... declarations
2001-12-17 19:22:23 +00:00
Bodo Möller
66df02fd98
fix BN_rand_range
2001-12-14 10:09:29 +00:00
Richard Levitte
b476df64a1
make update
...
perl util/mkerr.pl -recurse -write -rebuild
2001-11-15 12:25:14 +00:00
Bodo Möller
c5d4ab7e35
adjust to OpenSSL_0_9_6-stable version
2001-11-09 13:09:11 +00:00
Ulf Möller
5dd955dcd2
openbsd-x86 macros
...
Submitted by: Toomas Kiisk <vix@cyber.ee>
2001-10-14 00:57:30 +00:00
Richard Levitte
f8000b9345
'make update'
2001-10-04 07:49:09 +00:00
Geoff Thorpe
534aaf3731
"make update".
2001-09-25 20:39:59 +00:00
Ulf Möller
d98a4b7366
bug fix: bn_sqr_recursive output is twice its input size.
2001-09-05 04:43:43 +00:00