Practical Lattice Cryptosystems: NTRUEncrypt and NTRUMLS