mpi: Avoid data-dependent timing variations in mpi_powm.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 26 Feb 2015 12:00:05 +0000 (21:00 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 26 Feb 2015 12:00:05 +0000 (21:00 +0900)
commit6cbc75e71295f23431c4ab95edc7573f2fc28476
tree9e055eea52e96385502f6c363a4af8b6aafdbacc
parent6186637cc9a4cbe4964ae0ca2aa00ed1738fc6a4
mpi: Avoid data-dependent timing variations in mpi_powm.

* include/mpi.h, mpi/mpiutils.c (mpi_set_cond): New.
* mpi/mpi-pow.c (SIZE_PRECOMP): Rename from SIZE_B_2I3.
(mpi_powm): Access all data in the table and use mpi_set_cond.

--

Access to the precomputed table was indexed by a portion of EXPO,
which could be mounted by a side channel attack.  This change fixes
this particular data-dependent access pattern.
include/mpi.h
mpi/mpi-pow.c
mpi/mpiutil.c