NTRU-KE: A Lattice-based Public Key Exchange Protocol.
Algorithms for quantum computation: discrete logarithms and factoring