The definition of zk-SNARK involves not leaking any information from the prover-verifier interaction, but what about leaking information from the circuit itself? e.g., could there be a circuit to demonstrate that I know the preimage to s
, where s
is a signature generate by secret x
and signing algorithm HMAC(x, plaintext)
? This circuit shouldn't give any information about what x
is.
Edit: to clarify my question, neither prover nor verifier should know x
; x
should just be in the circuit which ideally can't be reverse-engineered to discover x
.