Complexity of Lattice Problems: A Cryptographic Perspective (Kluwer International Series in Engineering and Computer Science, 671)