Interactive Verifiable Polynomial Evaluation Saeid Sahraei, Mohammad - - PowerPoint PPT Presentation

β–Ά
interactive verifiable polynomial evaluation
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Saeid Sahraei, Mohammad Ali Maddah-Ali and Salman Avestimehr

Interactive Verifiable Polynomial Evaluation

ISIT, June 2020

slide-2
SLIDE 2

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 መ 𝑔 𝑦 = 𝑔(𝑦)

slide-3
SLIDE 3

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)

slide-4
SLIDE 4

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.

slide-5
SLIDE 5

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)
slide-6
SLIDE 6

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

slide-7
SLIDE 7

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 𝑧 .

slide-8
SLIDE 8

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.

slide-9
SLIDE 9

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𝑠 = 𝑃(𝑒).

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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)

β‹―

β‹―

slide-12
SLIDE 12
  • 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

slide-13
SLIDE 13
  • 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

slide-14
SLIDE 14

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,β‹―,𝑐ℓ)𝑦𝑗 β‹―

slide-15
SLIDE 15
  • 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.

slide-16
SLIDE 16

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 𝑠

.

slide-17
SLIDE 17

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 𝑒)?

slide-18
SLIDE 18
  • 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

slide-19
SLIDE 19
  • 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

verifiable computation, in 2013 IEEE Symposium on Security and Privacy. IEEE, 2013, pp. 238252.

Bibliography