bn_exp: also special case -1 modulus
authortb <tb@openbsd.org>
Tue, 9 May 2023 05:38:11 +0000 (05:38 +0000)
committertb <tb@openbsd.org>
Tue, 9 May 2023 05:38:11 +0000 (05:38 +0000)
commit99065ed9a1b47572ad2ed09d823767b270b60d90
treef4dde24bee289c15aabdd918296133153ce0b46d
parent5a06967d3a8bf1a96851ca93bb3af827ce4460b7
bn_exp: also special case -1 modulus

Anything taken to the power of 0 is 1, and then reduced mod 1 or mod -1 it
will be 0. If "anything" includes 0 or not is a matter of convention, but
it should not depend on the sign of the modulus...

Reported by Guido Vranken

ok jsing (who had the same diff)
lib/libcrypto/bn/bn_exp.c