Algebraic Structure in Lattice Cryptography