Coding techniques in lattice-based cryptography