Mathematical Ideas in Lattice Based Cryptography