Lattices for Cryptography