Implementing EC Cryptosystems

The core routines needed to implement EC cryptosystems are:

  1. Choice of basis: polynomial or normal. Polynomial basis gives more speed but takes twice as much RAM, because multiplication doubles the number of bits stored before being reduced modulo the basis function. Normal basis uses minimal RAM but takes longer to compute, because the inversion routine is sometimes slower. A combination of both can work at best, but this makes things a bit more complicated.
  2. Choice of curve: There are important cyptographic implications. But the ones with low order is avoided.

I’m working on polynomial coding now. Still focusing on curve operations. Hoping to finish it this week.