a C++ template library for zero knowledge proofs