Interactive Verifiable Polynomial Evaluation Saeid Sahraei, Mohammad - - PowerPoint PPT Presentation
Interactive Verifiable Polynomial Evaluation Saeid Sahraei, Mohammad - - PowerPoint PPT Presentation
Interactive Verifiable Polynomial Evaluation Saeid Sahraei, Mohammad Ali Maddah-Ali and Salman Avestimehr ISIT, June 2020 Motivation Cloud computing enables users to delegate computationally heavy tasks to commercial servers. But, how
Motivation
- Cloud computing enables users to delegate computationally heavy
tasks to commercial servers.
- But, how can we trust that the service providers do the actual
computations?
- The users must also be able to detect adversarial behaviors.
User (verifier) Server (prover) π β , π¦ α π(π¦) Verify that α π π¦ = π(π¦)
Query Response Query Response β― The user learns π(π¦0) reliably
(Interactive) Verifiable Computation
- The function π π¦ is publicly known.
- The user (verifier) is interested in learning the
evaluation of π(β ) at π¦ β {π¦0, π¦1, β― }.
- The user is computationally weak. He can
- nly perform a one-time heavy initialization.
- He delegates the task to a server (prover).
- The server provides π π¦0 and convinces
the user of correctness of the result in an interactive fashion. Similarly, for π π¦1 , β―
β―
Query Response Query Response β― The user learns π(π¦1) reliably One-time initialization User (verifier) Server (prover)
Main performance criteria
- Completeness: If the prover is honest, the verifier should accept the result with
probability 1.
- Soundness: If the prover is dishonest, the verifier should reject the result with high
probability.
- Efficient initialization: The verifier can perform a one-time initialization and store
the outcome for future reference. Complexity of this phase should be comparable to the complexity of computing π π¦ .
- Super-Efficient verifier: The complexity of verifier should be negligible compared
to the complexity of computing π π¦ .
- Efficient prover: The complexity of the prover should be comparable to the
complexity of computing π π¦ .
- Small round complexity: the number of rounds of interaction between the prover
and the verifier must be small.
Related Work
- Interactive Proofs (information-theoretic):
- Lundβ90, Shamirβ90: Interactive proof for the sum-check problem, IP = PSPACE
- Rothblumβ13, Goldwasserβ15: Interactive proofs with super-efficient verifier
- Verifiable computation for generic functions (non-interactive, amortized model, rely on
hardness assumptions):
- Parno β13, Gennaro β13: based on Quadratic Arithmetic Programs
- Killianβ 92: based on Probabilistically Checkable Proofs
- Verifiable computation for Specific Functions (more practical at the expense of
generality):
- Verifier Polynomial Evaluation (Benabbasβ11, Fioreβ12, Papamanthou β13,
Elkhiaouyiβ16, Sahraeiβ20)
- Matrix Multiplication (Fioreβ12, Zhangβ17, Elkhiyaouiβ16)
- Modular Exponentiation(Chenβ14)
Summary of the results
Algorithm Security Initialization complexity Verifier Complexity Prover Complexity Round Complexity
- Ben. β11
limited π(π) π(log π) π(π) π(1) Fiore β12 limited π(π) π(1) π(π) π(1)
- Elkhiy. β16
limited π(π) π(1) π(π) π(1) INTERPOL β19 Information Theoretic π(π) π( π) π(π) π(1) This work Information Theoretic π(π1+π) π(ππ) π(π1+π) π(log π)
We propose a (interactive) verifiable polynomial evaluation algorithm with initialization complexity of O(d1+Ο΅), verifier complexity of O(dΟ΅), prover complexity of O(d1+Ο΅), and round complexity of O(log d) which satisfies the completeness and soundness properties. π β 1: degree of the polynomial
Initial Observations
- Let π π¦ = π0 + β― + ππβ1π¦πβ1 be the polynomial of interest, where ππ β πΎπ and
suppose π is even. Define
- π 0 π§ = π0 + π2π§ + β― ππβ2 π§
π 2β1
- π 1 π§ = π1 + π3π§ + β― ππβ1 π§
π 2β1
- Note that both π 0 (π§) and π 1 (π§) are of degree
π 2 β 1. Furthermore,
- π π¦ = π 0 π§ + π¦ π 1 π§ if π§ = π¦2.
- The verifier will reduce the problem of verifying π π¦ to the easier problem of
verifying π 0 (π§) and π 1 π§ .
Strawman approach
Prover provides α π(π¦) , α π 0 (π§) and α π 1 (π§)
π π¦ = π0 + π1π¦ + π2π¦2 + β― π 0 π§ = π0 + π2π§ + π4π§2 + β― π 1 π§ = π1 + π3π§ + π5π§2 + β― π 0,0 π¨ = π0 + π4π¨ + π8π¨2 + β― π 0,1 π¨ = π2 + π6π¨ + π10π¨2 + β― π 1,0 π¨ = π1 + π5π¨ + π9π¨2 + β― π 1,1 π¨ = π3 + π7π¨ + π11π¨2 + β―
α π 0 (π§) α π 1 (π§) Verifier checks if α π π¦ = α π 0 π§ + π¦ α π 1 (π§) If not, he rejects the result Prover provides α π 0,0 (π¨) and α π 0,1 (π¨) Prover provides α π 1,0 (π¨) and α π 1,1 (π¨) α π 0,0 (π§) α π 0,1 (π§) α π 1,0 (π§) α π 1,1 (π§)
Verifier checks if α π(1) π§ = α π 1,0 π¨ + π§ α π 1,1 (π¨) If not, he rejects the result Verifier checks if α π(0) π§ = α π 0,0 π¨ + π§ α π 0,1 (π¨) If not, he rejects the result
π§ = π¦2, π¨ = π§2, β― β― β― β― β― After π = log π iterations, the verifier checks, for every π1, β― , ππ , if α π π1,β―,ππ β = ππ, where π = π120 + β― + ππ 2π β1.
Analysis of the strawman approach
- Completeness:
- If the prover is honest, all the verifications will trivially pass and the verifier will
accept the result.
- Soundness:
- Suppose the prover lies about the evaluation of π at π¦. Namely, α
π π¦ β π π¦ .
- In order to pass the first level verification, he must either provide α
π 0 π§ β π(0)(π§) or α π 1 π§ β π(1)(π§).
- In order to pass the second level verification, he must either provide α
π 0,0 π§ β π 0,0 π§ , α π 0,1 π§ β π(0,1)(π§), α π 1,0 π§ β π(1,0)(π§) or α π 1,1 π§ β π 1,1 π§ and so on.
- After log π steps each polynomial is a constant which the verifier can check
against the coefficients of original polynomial, π(π¦).
- Verifier complexity:
- The number of verifications grows exponentially by the depth of the tree. The
verifier runs in O 2π = π(π).
Prover provides α π (π¦) and the systematic symbols for the next codeword α π 0 (π§) α π 1 (π§) Verifier checks if α π π¦ = α π 0 π§ + π¦ α π 1 (π§) If not, he rejects the result
MDS code
Verifier randomly chooses a codeword symbol and reveals the index to the prover α π π π§ = π0(π½π) α π 0 π§ + π1(π½π) α π 1 (π§) Prover provides the systematic symbols for the next codeword
Index = 4
α π 4,0 (π¨) α π 4,1 (π¨) Verifier checks if α π 4 π§ = α π 4,0 π¨ + π§ α π 4,1 (π¨) If not, he rejects the result
β― β―
π0 πΎ = πΎ β π½1 π½0 β π½1 π1 πΎ = πΎ β π½0 π½1 β π½0 π π¦ = π0 + π1π¦ + π2π¦2 + β― π 0 π§ = π0 + π2π§ + π4π§2 + β― π 1 π§ = π1 + π3π§ + π5π§2 + β― π 0,0 π¨ = π0 + π4π¨ + π8π¨2 + β― π 0,1 π¨ = π2 + π6π¨ + π10π¨2 + β― π 1,0 π¨ = π1 + π5π¨ + π9π¨2 + β― π 1,1 π¨ = π3 + π7π¨ + π11π¨2 + β― π§ = π¦2, π¨ = π§2, β―
Improving the complexity with MDS codes
MDS code
Final step: checking against a look-up table
- After π = log π rounds, the verifier must check if α
π π1,β―,ππ π¦π = π π1,β―,ππ π¦π .
- In each iteration, the degree of the polynomial is divided by 2. π π1,β―,ππ β is a
constant! Can be computed in advance and stored in a look-up table.
- Size of the table is ππ where π is the block-length of the MDS code.
- Example look-up table for π = 4. Row π, column π represents π π,π β .
π0π0 π½0 π1 π½0 + π1π0 π½0 π1 π½0 + π2π1 π½0 π0 π½0 + π3π1 π½0 π1(π½0) π0π0 π½1 π1 π½0 + π1π0 π½1 π1 π½0 + π2π1 π½1 π0 π½0 + π3π1 π½1 π1(π½0) π0π0 π½2 π1 π½0 + π1π0 π½2 π1 π½0 + π2π1 π½2 π0 π½0 + π3π1 π½2 π1(π½0) π0π0 π½0 π1 π½1 + π1π0 π½0 π1 π½1 + π2π1 π½0 π0 π½1 + π3π1 π½0 π1(π½1) π0π0 π½1 π1 π½1 + π1π0 π½1 π1 π½1 + π2π1 π½1 π0 π½1 + π3π1 π½1 π1(π½1) π0π0 π½2 π1 π½1 + π1π0 π½2 π1 π½1 + π2π1 π½2 π0 π½1 + π3π1 π½2 π1(π½1) π0π0 π½0 π1 π½2 + π1π0 π½0 π1 π½2 + π2π1 π½0 π0 π½2 + π3π1 π½0 π1(π½2) π0π0 π½1 π1 π½2 + π1π0 π½1 π1 π½2 + π2π1 π½1 π0 π½2 + π3π1 π½1 π1(π½2) π0π0 π½2 π1 π½0 + π1π0 π½2 π1 π½2 + π2π1 π½2 π0 π½0 + π3π1 π½2 π1(π½2)
β―
β―
- Suppose α
π π¦ β π π¦ . To pass the first verification, the prover must provide α π 0 π§ β π 0 (π§) or α π 1 π§ β π 1 (π§).
- Let ΰ·‘
A be the codeword with systematic symbols ( α π 0 π§ , α π 1 π§ ) and let A be the codeword with systematic symbols (π 0 (π§), π 1 (π§) ).
- α
π΅ and π΅ will be different in at least π β 1 positions (ππππ = π β π + 1 = π β 1).
- With probability
πβ1 π , we have α
π π1 π§ β π π1 π§ .
- After r = log π rounds, we have α
π π1,β―ππ β β π π1,β―ππ β with probability β
πβ1 π π
.
- The algorithm is repeated π times to increase the probability of success of the
verifier to 1 β 1 β
πβ1 π π π
.
Soundness
- Initialization
- The look-up table consists of all π(π1,β―,ππ ) β π π1,β―,ππ β where πβ β 0: π β 1 .
- Calculating each π(π1,β―,ππ ) requires π π . In total, π ππ β π = π(π1+log π).
- We need an efficient algorithm for building the entire look-up table in π(πlog π ).
- We use MDS codes with π > 2 and π β π. Then, π πlogπ π = π π1+π .
- Verifier
- To further reduce the probability of success of a malicious prover, the entire
process can be repeated π times. In each iteration, the verifier runs in π(log π).
- The total complexity is π π β log π .
- Prover
- The prover runs in π(π β π).
- Round complexity
- The π trials can be run in parallel, resulting in a round complexity of π(log π).
Complexity
Efficient computation of the look-up table
π0 π1 π2 π3 π0
(0)
π1
(0)
π0
(1)
π1
(1)
π0
(2)
π1
(2)
π0
(0,0) π0 (0,1) π0 (0,2) π0 (1,0) π0 (1,1) π0 (1,2) π0 (2,0) π0 (2,1) π0 (2,2)
Γ π0(π½0) Γ π0(π½1) Γ π0(π½2) Γ π1(π½0) Γ π1(π½1) Γ π1(π½2)
ππ
(π1) β π2ππ0 π½π1 + π2π+1π1(π½π1) ππ
(π1,π2) β π2π π1 π0 π½π2 + π2π+1 π1 π1 π½π2
π π1,β―,πβ π¦ = ΰ·
π
ππ
(π1,β―,πβ)π¦π β―
- Prover sends α
π(π¦) to the verifier.
- For β β 0: π β 1
- Prover sends α
π π0,β―,πββ1,π‘ (π¦π) to the verifier, for all π‘ β 0: π β 1 .
- Verifier checks if α
π(π0,β―,πββ1)(π¦) = Οπ‘ π¦π‘ β α π π0,β―,πββ1,π‘ (π¦π). If not, reject.
- Verifier randomly chooses πβ β [0: π β π β 1], reveals πβ to the prover.
- Verifier computes α
π π0,β―,πβ π¦π = Οπ‘ α π π0,β―,πββ1,π‘ π¦π β ππ‘ π½πβ .
- π¦ β π¦π.
- end
- Verifier checks α
π π1,β―,ππ β against the pre-computed π0
(π1,β―,ππ ) in the look-up
- table. If they are not equal, he rejects.
Interactive Verifiable Polynomial Evaluation
Let π β β€+, π β β+ such that π β π β β€, and let π½0, β― , π½πβ πβ1 β πΎπ and π = logπ π . The following algorithms is repeated π times (can be parallelized). If all the π tests pass, the verifier accepts the result.
Performance guarantees and the Proper choice of the parameters
- Soundness holds with probability 1 β 1 β 1 β
1 π π π
>
1 2 (analysis similar to
the toy example).
- Initialization complexity is π ππ β π β π = π π
1+
log π π log log π
= π(π1+π).
- Verifier complexity is π π β π β π = π π
1 π log π πβ1 log log π
= π(ππ).
- Prover complexity is π π β π = π π
1+
1 π log π πβ1 log log π
= π(π1+π).
- Round complexity is π = π(log π).
To achieve the blue guarantees, Choose π = log π π, for an arbitrary π β β+, and π =
π πβ1 π
.
Summary
- We introduced an interactive verifier polynomial evaluation algorithm
with efficient prover and super-efficient verifier.
- The verifiability guarantee holds in the presence of a computationally
unbounded adversarial prover.
- Results can be readily generalized to multi-variate polynomials (see
the longer version of paper on arXiv).
- Open problem: can you reduce the verifierβs complexity from O(dπ)
to π(polylog π)?
- Lund, C., Fortnow, L., Karloff, H., and Nisan, N. βAlgebraic methods for
interactive proof systems.β In Proceedings of the 31st Annual Symposium
- n Foundations of Computer Science (1990), IEEE,pp. 2β10.
- Shamir, A. βIP= PSPACE (interactive proof= polynomial space)β. In
Proceedings of the 31st Annual Symposium on Foundations of Computer Science (1990), IEEE, pp. 11β15.
- Goldwasser, Shafi, Yael Tauman Kalai, and Guy N. Rothblum. βDelegating
computation: interactive proofs for muggles.β Journal of the ACM (JACM) 62.4 (2015): 1-64.
- Rothblum, G. N., Vadhan, S., and Wigderson, A. βInteractive proofs of
proximity: delegating computation in sublinear time.β InProceedings of the forty-fifth annual ACM symposium on Theory of computing (2013), ACM, pp. 793β802.
- Sahraei, Saeid, and A. Salman Avestimehr. "INTERPOL: Information
theoretically verifiable polynomial evaluation." IEEE International Symposium on Information Theory (ISIT), 2019.
Bibliography
- Fiore, Dario, and Rosario Gennaro. βPublicly verifiable delegation of large
polynomials and matrix computations, with applications.β Proceedings of the 2012 ACM conference on Computer and communications security. ACM, 2012.
- Benabbas, Siavosh, Rosario Gennaro, and Yevgeniy Vahlis. βVerifiable delegation
- f computation over large datasets.β Annual Cryptology Conference. Springer,
Berlin, Heidelberg, 2011.
- Elkhiyaoui, Kaoutar, et al. βEfficient techniques for publicly verifiable delegation of
computation.β Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security. ACM, 2016.
- Kilian, Joe. βA note on efficient zero-knowledge proofs and arguments.β
Proceedings of the twenty-fourth annual ACM symposium on Theory of
- computing. ACM, 1992.
- R. Gennaro, C. Gentry, and B. Parno, βNon-interactive verifiable computing:
Outsourcing computation to untrusted workers, in Annual Cryptology Conference. Springer, 2010.
- B. Parno, J. Howell, C. Gentry, and M. Raykova, βPinocchio: Nearly practical