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]
