Topics in Cryptography: Lattice-Based Cryptography