Lattices and Cryptography