diff --git a/crypto/bn/bn_asm.c b/crypto/bn/bn_asm.c index 230258bcd..c43c91cc0 100644 --- a/crypto/bn/bn_asm.c +++ b/crypto/bn/bn_asm.c @@ -860,13 +860,35 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_U n0 = *n0p; - tp[num] = bn_mul_words(tp,ap,num,bp[0]); + c0 = 0; + ml = bp[0]; +#ifdef mul64 + mh = HBITS(ml); + ml = LBITS(ml); + for (j=0;j