Investigating Lattice-Based Cryptography