VOLE based IT-MAC
VOLE based IT-MAC
QuicksilverではIT-MAC(information-theoretic message authentication code)をCommitment schemeとして実現させている.
ProverがVeriferに送る w が改ざんされていないか、または不正に生成されていないかを検証する
LPNと関連性がありそう。異なるerrorを複数のpartyが持ち寄ると計算はできても復元できないのでauthenticationしたいというモチベ?
VOLE自体もcommitmentと呼べるはず。
以下の$ m = k- w*\DeltaをIT-MAC tagとしている
https://scrapbox.io/files/67555c736cb9d02f39b381ba.png
ここで$ w ∈F_{2}であり、 binary(0/1)となる
1. Verifierは$ global key: \Deltaをrandomに決定する
2. ProverとVerifierは(w,m,Δ,k)からなるIT-MACを協力して生成する
only prover has $ ω,m∈F_{2^{128}}
only verifier has$ Δ,k∈F_{2^{128}}
3. ProverはVerifierにcommitしたいwと2で作成したrandom:mを送る
4. Verifierは$ m=k-Δ・wを満たすことを確認する
証明者はまず入力値にコミットする。 中間配線と出力配線に対するコミットメントを、証明者と検証者が共同で計算する
Quicksilverでは、まず証明者と検証者が共同で回路内のすべてのワイヤ値のコミットメント(IT-MAC)を生成する
次に、証明者はコミットされた値が正しい関係を満たすことを証明する。(consistency check)