From d05a474556c627a8e87b32d7e97aa776308dc883 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bodo=20M=C3=B6ller?= Date: Thu, 1 May 2008 18:48:20 +0000 Subject: [PATCH] Montgomery-related minor cleanups/documentation --- Configure | 6 +++--- crypto/bn/bn.h | 3 ++- crypto/bn/bn_mont.c | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Configure b/Configure index b0fd82866d..09c356da9d 100755 --- a/Configure +++ b/Configure @@ -1268,11 +1268,11 @@ if ($ranlib eq "") $cpuid_obj="" if ($processor eq "386"); $bn_obj = $bn_asm unless $bn_obj ne ""; -# bn86* is the only one implementing bn_*_part_words -$cflags.=" -DOPENSSL_BN_ASM_PART_WORDS" if ($bn_obj =~ /bn(86|-586)/); +# bn-586 is the only one implementing bn_*_part_words +$cflags.=" -DOPENSSL_BN_ASM_PART_WORDS" if ($bn_obj =~ /bn-586/); $cflags.=" -DOPENSSL_IA32_SSE2" if (!$no_sse2 && $bn_obj =~ /86/); -$cflags.=" -DOPENSSL_BN_ASM_MONT" if ($bn_obj =~ /\-mont|mo86\-/); +$cflags.=" -DOPENSSL_BN_ASM_MONT" if ($bn_obj =~ /-mont/); $cpuid_obj="mem_clr.o" unless ($cpuid_obj =~ /\.o$/); $des_obj=$des_enc unless ($des_obj =~ /\.o$/); diff --git a/crypto/bn/bn.h b/crypto/bn/bn.h index 56d9f5f16e..65202ae9f2 100644 --- a/crypto/bn/bn.h +++ b/crypto/bn/bn.h @@ -315,7 +315,8 @@ struct bn_mont_ctx_st BIGNUM N; /* The modulus */ BIGNUM Ni; /* R*(1/R mod N) - N*Ni = 1 * (Ni is only stored for bignum algorithm) */ - BN_ULONG n0[2];/* least significant word(s) of Ni */ + BN_ULONG n0[2];/* least significant word(s) of Ni; + (type changed with 0.9.9, was "BN_ULONG n0;" before) */ int flags; }; diff --git a/crypto/bn/bn_mont.c b/crypto/bn/bn_mont.c index ecbee2aacd..e3146240b5 100644 --- a/crypto/bn/bn_mont.c +++ b/crypto/bn/bn_mont.c @@ -394,6 +394,7 @@ void BN_MONT_CTX_init(BN_MONT_CTX *ctx) BN_init(&(ctx->RR)); BN_init(&(ctx->N)); BN_init(&(ctx->Ni)); + ctx->n0[0] = ctx->n0[1] = 0; ctx->flags=0; } -- 2.34.1