Marcel Fourné | 9 Mar 15:08 2013


this is the second release of hF2, a F(2^e) backend for
cryptographic code, to be found at
(or simply by "cabal install hF2")

This library is used in hecc for elliptic cryptography on binary field
curves and came into existence during my master thesis.
Since the code from back then some speedups and changes to data
representation were made which lead to an increase in speed from the
first correct protoype to this release by the factor 10^86 on my main
development machine. Sadly, this is still slower than pure C or
Assembler versions, but a lot more portable, (arguably) easier to read
and easier to parallelize.

The code does automatic bit slicing and uses mainly the vector library
as a fast backend.

Feats of this release:
- Speed (256 bit curve point multiplication in hecc is now at about a
  second in time)
- LINEAR speedup in threaded execution with the number of cores (up to
  the number of bits divided by the wordsize)
- Manually tested
- Prelude-like Interface (more in progress)
- Mostly timing attack resistant (also in progress)

Next up: Testing and fixing hecc for this release.

(Continue reading)