Hello,

It looks like a bug inopenssl-1.0.0e x86 (Windows, Linux, etc.):
functions BN_mod_mul and BN_mod_mul_mongomery sometimes (very rarely) 
yield different results when squaring (multiplication at the same time 
works fine).
Compile time options include -DOPENSSL_BN_ASM_MONT, ie the assembler 
code produced by crypto/bn/asm/x86-mont.pl is used.

For example:

BN_mod_mul (right):
8C7C5B150FB3A60BAEFFCDA2D051580F557DCB07A9F6154703148CB2DED90ACD ^ 2 mod
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD97 = 
AEE8FA51C255352180017E30FBA665CEC9EB4475D454D33B847E8F096613FDD9

BN_mod_mul_montgomery (wrong):
8C7C5B150FB3A60BAEFFCDA2D051580F557DCB07A9F6154703148CB2DED90ACD ^ 2 mod
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD97 = 
39134C78C255352180017E30FBA665CEC9EB4475D454D33B847E8F096613FEF5

---
Sincerely yours,
Victor M. Timakov

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to