Montgomery-related minor cleanups/documentation
authorBodo Möller <bodo@openssl.org>
Thu, 1 May 2008 18:48:20 +0000 (18:48 +0000)
committerBodo Möller <bodo@openssl.org>
Thu, 1 May 2008 18:48:20 +0000 (18:48 +0000)
Configure
crypto/bn/bn.h
crypto/bn/bn_mont.c

index b0fd82866dc183b098aac9eb63802ad46b063773..09c356da9d5a61e6d6ea33a088191646ae5f8190 100755 (executable)
--- 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$/);
index 56d9f5f16e92592dd350484bec9b4aa92bcfc55b..65202ae9f2d6436f028c583b5245411c780b07cf 100644 (file)
@@ -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;
        };
 
index ecbee2aacdb322c9add630321ca0804a31887d78..e3146240b5a52c3efc45a706338bfb3622a4d8b5 100644 (file)
@@ -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;
        }