]> git.ipfire.org Git - thirdparty/openssl.git/commit
bn/bn_{mont|exp}.c: switch to zero-padded intermediate vectors.
authorAndy Polyakov <appro@openssl.org>
Fri, 6 Jul 2018 13:13:15 +0000 (15:13 +0200)
committerAndy Polyakov <appro@openssl.org>
Thu, 12 Jul 2018 12:52:57 +0000 (14:52 +0200)
commit71883868ea5b33416ae8283bcc38dd2d97e5006b
treee86cd1d7f051b4381b5a9ef4cb93ecc09dad3b57
parent305b68f1a2b6d4d0aa07a6ab47ac372f067a40bb
bn/bn_{mont|exp}.c: switch to zero-padded intermediate vectors.

Note that exported functions maintain original behaviour, so that
external callers won't observe difference. While internally we can
now perform Montogomery multiplication on fixed-length vectors, fixed
at modulus size. The new functions, bn_to_mont_fixed_top and
bn_mul_mont_fixed_top, are declared in bn_int.h, because one can use
them even outside bn, e.g. in RSA, DSA, ECDSA...

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: David Benjamin <davidben@google.com>
(Merged from https://github.com/openssl/openssl/pull/6662)
crypto/bn/bn_exp.c
crypto/bn/bn_lcl.h
crypto/bn/bn_mont.c
crypto/include/internal/bn_int.h