を明かすことなくC(x, w) = true であることを証明できる x : public input w : private input (witness) prover : w を公開することなくC(x,w) = true がなりたつ「proof (pr=P(pk,x,w)) 」を作成する varifier : 「proof 」の検証V(vk,x,pr) を行う proving key(pk) a verification key(vk) P(Prover) 例)x = ユーザーネーム, w = パスワード