diff options
author | Andy Polyakov <appro@openssl.org> | 2007-06-29 13:10:19 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2007-06-29 13:10:19 +0000 |
commit | 673c55a2fe62000a0b7f0345ed16d91e1d28427a (patch) | |
tree | 4d66d3c8d0ff183a54b404a1a3c4f35d29deb334 /crypto/bn/asm/via-mont.pl | |
parent | 949ce10e8855f660971debe1b7b5842a84554006 (diff) |
Latest bn_mont.c modification broke ECDSA test. I've got math wrong, which
is fixed now.
Diffstat (limited to 'crypto/bn/asm/via-mont.pl')
-rw-r--r-- | crypto/bn/asm/via-mont.pl | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/crypto/bn/asm/via-mont.pl b/crypto/bn/asm/via-mont.pl index ce3cd61eb3..c046a514c8 100644 --- a/crypto/bn/asm/via-mont.pl +++ b/crypto/bn/asm/via-mont.pl @@ -187,17 +187,12 @@ $sp=&DWP(28,"esp"); &data_byte(0xf3,0x0f,0xa6,0xc0);# rep montmul &mov ("ecx","ebp"); - &xor ("edx","edx"); # i=0 &lea ("esi",&DWP(64,"esp")); # tp # edi still points at the end of padded np copy... - &mov ("eax",&DWP(-4-$pad,"edi")); # np[num-1] &neg ("ebp"); &lea ("ebp",&DWP(-$pad,"edi","ebp",4)); # so just "rewind" &mov ("edi",$rp); # restore rp - - &shr ("eax",30); # boundary condition... - &jz (&label("copy")); # ... is met - &xor ("edx","edx"); # clear CF + &xor ("edx","edx"); # i=0 and clear CF &set_label("sub",8); &mov ("eax",&DWP(0,"esi","edx",4)); |