Bilinear pairing + q-SDH ⇒ PCS
Statement
In a bilinear group with a trusted structured reference string , the KZG scheme is a polynomial commitment for polynomials of degree at most whose commitments and opening proofs are single group elements and whose verification is two pairings. It is evaluation binding under q-SDH with , and its Pedersen variant is unconditionally hiding — KZG10.
Sketch
\begin{algorithm}
\algname{Algorithm}
\caption{KZG polynomial commitment}
\begin{algorithmic}
\State $\Setup(1^\secpar, d)$: $\tau \getsr \ZZ_p^{*}$; $\mathsf{srs} \gets (g, g^{\tau}, \ldots, g^{\tau^{d}})$; discard $\tau$
\State $\mathsf{Commit}(\mathsf{srs}, f)$ for $f = \sum_{i=0}^{d} f_{i} X^{i}$: $C \gets \prod_{i=0}^{d} (g^{\tau^{i}})^{f_{i}} = g^{f(\tau)}$; $\mathsf{aux} \gets f$
\State $\Open(\mathsf{srs}, C, z, y, \mathsf{aux})$: $\psi(X) \gets (f(X) - y)/(X - z)$; $\pi \gets g^{\psi(\tau)}$
\State $\Vrfy(\mathsf{srs}, C, z, y, \pi) := [\, e(C/g^{y}, g) = e(\pi, g^{\tau}/g^{z}) \,]$
\end{algorithmic}
\end{algorithm}
Two accepting openings , at one point with give , a -SDH solution with .