diff options
author | Dr. Stephen Henson <steve@openssl.org> | 1999-02-26 01:37:34 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 1999-02-26 01:37:34 +0000 |
commit | 7283ecea22c65d7a817c575b43f807b2c29b9dc2 (patch) | |
tree | 9b0de4a1712bf72d0d9d10888134f88ef3183949 | |
parent | 754048577b747d288ddf0479c5611a2ff257e27d (diff) | |
download | openssl-new-7283ecea22c65d7a817c575b43f807b2c29b9dc2.tar.gz |
BN_RECURSION causes the stuff in bn_mont.c to fall over for large keys. For
now change it to BN_RECURSION_MONT so it isn't compiled in.
-rw-r--r-- | CHANGES | 4 | ||||
-rw-r--r-- | crypto/bn/bn_mont.c | 8 |
2 files changed, 8 insertions, 4 deletions
@@ -5,6 +5,10 @@ Changes between 0.9.1c and 0.9.2 + *) Changed BN_RECURSION in bn_mont.c to BN_RECURSION_MONT so it is not + compiled in by default: it has problems with large keys. + [Steve Henson] + *) Add a bunch of SSL_xxx() functions for configuring the temporary RSA and DH private keys and/or callback functions which directly correspond to their SSL_CTX_xxx() counterparts but work on a per-connection basis. This diff --git a/crypto/bn/bn_mont.c b/crypto/bn/bn_mont.c index e73b0cbb69..4ed433e05c 100644 --- a/crypto/bn/bn_mont.c +++ b/crypto/bn/bn_mont.c @@ -113,7 +113,7 @@ BIGNUM *a; BN_MONT_CTX *mont; BN_CTX *ctx; { -#ifdef BN_RECURSION +#ifdef BN_RECURSION_MONT if (mont->use_word) #endif { @@ -212,7 +212,7 @@ printf("word BN_from_montgomery %d * %d\n",nl,nl); err1: return(retn); } -#ifdef BN_RECURSION +#ifdef BN_RECURSION_MONT else /* bignum version */ { BIGNUM *t1,*t2,*t3; @@ -316,7 +316,7 @@ BN_CTX *ctx; R= &(mont->RR); /* grab RR as a temp */ BN_copy(&(mont->N),mod); /* Set N */ -#ifdef BN_RECURSION +#ifdef BN_RECURSION_MONT if (mont->N.top < BN_MONT_CTX_SET_SIZE_WORD) #endif { @@ -364,7 +364,7 @@ BN_CTX *ctx; BN_free(&Ri); /* mod->top=z; */ } -#ifdef BN_RECURSION +#ifdef BN_RECURSION_MONT else { mont->use_word=0; |