On 14.01.2016 23:54, Simon Josefsson wrote:
What threat model wrt side-channels are you assuming?  There are many
side-channel failure modes of ECDSA that have been successfully
attacked, and implementing it correctly is Hard.  At the least, I
suggest to make sure that your implementation is constant-time or at
least that different timing cannot be correlated with the private key.
Hiding private-key influence in power fluctuations is more challenging,
although I recall some presentations about some methods presented by
INRIA folks at ECC 2015.  People have also attacked ECDSA by finding
flaws in the bignum library that leaks private-key bits for certain rare
inputs, so you want to be certain that the bignum library you use
produce correct results for all inputs (no general purpose bignum
library comes with such proofs/guarantees as far as I know).


Thank you for your feedback, Simon!

Right now we have software implementation of ECDSA, and our next goal is to move elliptic curve point multiplication into an FPGA. Speaking of constant-time operation, it will be easier to achieve, than in a processor, because there will be no branching, no cache, no interrupts, etc.

Speaking of power fluctuations, as far as I know, the rule of thumb is to not use any clock enable signals to save power, i.e. if there's a multiplier somewhere, it should be crunching all the time, regardless of whether its output is needed right now or not.

Speaking of bignum libraries, the software implementation uses libtfm, and for the hardware FPGA implementation I've written modules, that do multi-word modular arithmetic and now I'm in the process of writing point addition and doubling procedures. In that sense your mentioning of bignum flaws is very interesting. Do you have any links to papers or presentations maybe?


--
With best regards,
Pavel Shatov
_______________________________________________
Tech mailing list
Tech@cryptech.is
https://lists.cryptech.is/listinfo/tech

Reply via email to