Practical Lattice-Based Zero-Knowledge Proof Systems