[Cryptech Tech] Storage of curve parameters for ECDSA
Rob Austein
sra at hactrn.net
Thu Jan 14 18:49:00 UTC 2016
At Thu, 14 Jan 2016 19:09:41 +0300, Pavel Shatov wrote:
...
> Reduction can also be done word-by-word, which is much faster. That's
> how FPGA (and apparently libtfm) works. In that sense "fp_digit" is
> actually a 32-bit number, so the algorithm zeroes out 32 bits a time. To
> do this one needs a special speed-up factor, that depends on lower 32
> bits of the modulus. Btw, that's why you have to toggle the init bit of
> ModExpS6 core after you change modulus -- the core has to pre-calculate
> the new speed-up factor. I guess setup function in libtfm does the same.
>
> NIST primes all have their lower 32 bits set to ones, so the speed-up
> factor becomes just 1, there's no need for FPGA to calculate it at all.
> Since I'm trying to write ECDSA core, not general-purpose EC math core,
> I thought, that it would make sense to take advantage of the fact and
> get rid of that redundant coefficient.
This all makes sense, and I think you're on the right track here.
More information about the Tech
mailing list