- make use of libgcrypt's capabilities to allocate and manage secure
   memory. Memlocking everything -- this is what we are doing now --
   is a bit overkill, perhaps.

- implement an authenticated key establishment scheme. STS, IKE?
  Or perhaps something password based like SRP?

- speed up the point multiplication routines using NAF or wNAF techniques.
