Slides

Publicly Verifiable Non-Interactive Arguments
for Delegating Computation
OMER PANETH AND GUY ROTHBLUM
Meet Ran
Computational task:
Review submission #123
Accept \ Reject
Delegating Computation
Review Submission #123
Accept \ Reject + Proof
Delegating Computation
𝑓 π‘₯ =?
Worker
Delegator
𝑓 π‘₯ = 𝑦 + Proof
Proof System Properties
Prover
Proof that 𝑓 π‘₯ = 𝑦
(Worker)
Verifier
(Delegator)
β€’ Standard completeness and soundness
β€’ Efficiency:
β€’ Verifier - 𝑂 π‘₯ β‹… π‘ƒπ‘œπ‘™π‘¦π‘™π‘œπ‘” (𝑇𝑓 )
β€’ Prover - π‘ƒπ‘œπ‘™π‘¦(𝑇𝑓 )
The Best Possible Proofs
Trusted party
Prover
CRS
Proof that 𝑓 π‘₯ = 𝑦
Verifier
Publicly-Verifiable
Non-Interactive
1. Computational
soundness
(arguments)
Arguments for Delegating Computation
2. Trusted common reference string (CRS)
(or Publicly-Verifiable Delegation)
Constructions from Strong Assumptions
1. In the Random Oracle model [Micali 94]
2. In the plain model based on
β€œknowledge-of-exponent” assumptions
[G10, L12, DFH12, GGPR13, BCCT13, BCIOP13]
Can delegate non-deterministic computations
(evidence for necessity of non-falsifiable assumptions)
[Gentry-Wichs 11]
Privately-Verifiable Delegation
[Kalai-Raz-Rothblum 14]
Challenge
Prover
𝑓 π‘₯ = 𝑦 + Proof
Challenge +𝑑
Verifier
π‘‰π‘’π‘Ÿ(𝑑, Proof)
Based on (sub-exponentially) secure FHE (or PIR)
Do publicly-verifiable delegation exist
under natural falsifiable assumptions?
Results
Publicly-verifiable delegation
for all poly-time computations
assuming Graded Encodings
satisfying a natural hardness assumption.
Delegation for bounded depth computations
with adaptive soundness
based on a milder assumption.
Concurrent Work
Publicly-verifiable delegation through Obfuscation
[Gentry-Lewko-Sahai-Waters 14] + [Lin-Pass-Bitansky-Garg-Telang 14,
Canetti-Holmgren-Jain-Vaikuntanathan 14, Koppula-Lewko-Waters 14]
1. non-interactive delegation for poly-time computation
from sub-exponential Subgroup Elimination.
2. two-message delegation for bounded-space
from polynomial Subgroup Elimination.
Next
1. High-level Overview of the first protocol.
2. Graded encodings and the assumption.
3. More details on the first protocol.
Not today : second protocol.
PCPs to Privately-Verifiable Delegation
[Aiello-Bhatt-Ostrovsky-Rajagopalan 00]
πΈπ‘ π‘˜1 π‘ž1 , … , πΈπ‘ π‘˜π‘› π‘žπ‘›
Prover
PCP Proof πœ‹
π‘ž1 , … , π‘žπ‘›
π‘ π‘˜1 , … , π‘ π‘˜π‘›
Verifier
πΈπ‘ π‘˜1 πœ‹(π‘ž1 ) , … , πΈπ‘ π‘˜π‘› πœ‹(π‘žπ‘› )
Don’t know how to prove security with arbitrary PCPs
[Dwork-Langberg-Naor-Nissim-Reingold 04]
Secure with no-signaling PCPs [Kalai-Raz-Rothblum 14]
From Private to Public Verifiability
πΈπ‘ π‘˜1 π‘ž1 , … , πΈπ‘ π‘˜π‘› π‘žπ‘›
Prover
πΈπ‘ π‘˜1 πœ‹(π‘ž1 ) , … , πΈπ‘ π‘˜π‘› πœ‹(π‘žπ‘› )
Verifier
Our Approach
exploit structure - no generic transformation.
[Kalai-Raz-Rothblum 14]:
Any
No-Signaling PCP
+
Any
FHE
Privately-Verifiable
Delegation
This work:
A Specific PCP
(Sum-Check Protocol)
+
A Specific
Encryption
(from Graded Encoding)
Publicly-Verifiable
Delegation
Curve Encryption – High Level
Proof: a low degree polynomial 𝑃: 𝐹 π‘š β†’ 𝐹.
Query: an Input π‘ž ∈ 𝐹 π‘š .
Answer: the evaluation 𝑃 π‘ž .
π‘ž
Curve Encryption – High Level
Proof: a low degree polynomial 𝑃: 𝐹 π‘š β†’ 𝐹.
β€œEncrypted” query:
𝛾
π‘ž
A random low degree curve 𝛾: 𝐹 β†’
𝐹 π‘š though π‘ž
β€œhidden” among other points
Curve Encryption – High Level
Proof: a low degree polynomial 𝑃: 𝐹 π‘š β†’ 𝐹.
β€œEncrypted” answer:
𝛾
π‘ž
the univariate restriction 𝑃(𝛾(β‹…)).
Example: 𝑃 𝛾 β‹…
≑0 β‡’ 𝑃 π‘ž =0
Curve Encryption – High Level
Proof: a low degree polynomial 𝑃: 𝐹 π‘š β†’ 𝐹.
Encrypted query:
𝛾
π‘ž
β€œencoded” curve 𝛾
Encrypted answer:
β€œencoded” restriction 𝑃(𝛾(β‹…))
Completely hidden
Graded Encodings
[Garg-Gentry-Halevi 13]
Encoding 𝛼
1.
𝛼
β„“
2.
𝛼
β„“1
± 𝛽
β„“
× π›½
3. 𝑍𝑇 𝛼
β„“
β„“
of element 𝛼 ∈ 𝐹 under level β„“ ∈ 0, … , 𝑑
β†’ 𝛼±π›½
β„“2
β„“
β†’ 𝛼×𝛽
β„“1 +β„“2
if β„“1 + β„“2 ≀ 𝑑
β†’ 1 if and only if 𝛼 = 0
Given polynomial 𝑃: 𝐹 π‘š β†’ 𝐹 and encodings 𝛼1 1 , … , π›Όπ‘š
β€’ If 𝑃 is of degree ≀ 𝑑, can test if 𝑃 𝛼1 , … , π›Όπ‘š = 0
β€’ Hard for 𝑃 of degree > 𝑑
1
Encoding Curves
A curve 𝛾: 𝐹 β†’ 𝐹 π‘š of degree 𝑑:
𝑑
π‘Žπ‘– β‹… 𝑑 𝑖 ,
𝛾 𝑑 =
π‘Žπ‘– = (π‘Žπ‘–,1 , … , π‘Žπ‘–,π‘š ) ∈ 𝐹 π‘š
𝑖=0
The level-β„“ encoding of 𝛾 is:
𝛾
β„“
≝
π‘Žπ‘–,𝑗
β„“ π‘–βˆˆ 0,𝑑 ,π‘—βˆˆ[π‘š]
Curve Encryption
For π‘ž ∈ 𝐹 π‘š let π›Ύπ‘ž be a random degree 𝑑 curve though π‘ž:
βˆƒπ‘‘ ∈ 𝐹: π›Ύπ‘ž 𝑑 = π‘ž.
Plaintext: π‘ž ∈ 0,1
π‘š,
Ciphertext: π›Ύπ‘ž ,
Security: for every π‘ž0 , π‘ž1 ∈ 0,1
Secret key: 𝑑 0 .
1
π‘š:
π›Ύπ‘ž0
1
β‰ˆπ‘ π›Ύπ‘ž1 .
1
The Hardness Assumption
Intuitively: Hard to evaluate an encoded polynomial on
encoded input.
Given graded encoding with maximal level 𝑑:
𝑑
𝛼𝑖 β‹… 𝑑 𝑖
𝑑 1 , π‘Ž0 1 , … , 𝛼𝑑 1 ,
𝑖=0
β‰ˆπ‘
1
Where 𝑑, 𝛼0 , … , 𝛼𝑑 , 𝑧 are random in 𝐹.
𝑑 1 , π‘Ž0 1 , … , 𝛼𝑑 1 , 𝑧
1
Plausibility of the Assumption
𝑑 1 , π‘Ž0 1 , … , 𝛼𝑑 1 ,
𝑑
𝑖=0 𝛼𝑖
β‹… 𝑑𝑖
1
β‰ˆπ‘
𝑑 1 , π‘Ž0 1 , … , 𝛼𝑑 1 , 𝑧
1
.
β€’ Reduction from curve encryption use re-randomization
β€’ Recent attack [GGH13, CHLRS 14, GHMS14, BWZ14, CLT14]
β€’ No candidate are known.
β€’ Alternative assumption: curve encryption is secure
(no known attacks in all candidate graded encodings)
Back to Delegation
Arithmetization of Computation
Can write any time 𝑇 computation as an assignment:
𝑋: 0,1
π‘š
β†’ 0,1 for π‘š = 𝑂(log 𝑇)
The assignment 𝑋 is globally consistent if:
βˆ€π‘ž1 , π‘ž2 , π‘ž3 ∈ 0,1
π‘š
: 𝑓 π‘ž1 , π‘ž2 , π‘ž3 , 𝑋 π‘ž1 , 𝑋 π‘ž2 , 𝑋 π‘ž3
=0
Where 𝑓: 𝐹 3π‘š+3 β†’ 𝐹 is a low-degree arithmetic circuit
Protocol Outline
𝛾1 1, … , 𝛾 𝑛
Prover
𝑋 ∘ 𝛾1
1
𝑛
,
…
,
𝑋
∘
𝛾
π‘š
π‘š
Verifier
Proof 𝑋
𝑋: 0,1
π‘š
level- π‘š encoding of the coefficients
1 β‹… .
of
the
univariate
restriction
𝑋
𝛾
β†’ 0,1 - assignment
𝑋: 𝐹 π‘š β†’ 𝐹 – multi-linear extension of 𝑋
(𝑋 is multi-linear and agrees with 𝑋 on 0,1
π‘š
)
Security Proof Outline
Prover convinces verifier to accept
locally consistent assignment
[Kalai-Raz-Rothblum 14]
There exists a globally consistent assignment
Locally Consistent Assignment
[Kalai-Raz-Rothblum 14]
An 𝑛-local assignment generator is a PPT algorithm:
π‘Ž1 , … , π‘Žπ‘› ← 𝐴𝐺(π‘ž1 , … , π‘žπ‘› )
1. Everywhere local consistency: for all π‘ž = π‘ž1 , … , π‘žπ‘› :
Pr
π‘Žβ†π΄πΊ(π‘ž)
βˆƒπ‘–, 𝑗, π‘˜ ∈ 𝑛 : 𝑓 π‘žπ‘– , π‘žπ‘— , π‘žπ‘˜ , π‘Žπ‘– , π‘Žπ‘— , π‘Žπ‘˜ β‰  0 ≀ 𝑛𝑒𝑔𝑙 .
2. No-signaling
Constructing an Assignment Generator
βˆ€π‘– ∈ 𝑛 sample π›Ύπ‘žπ‘–
π›Ύπ‘ž1 , … , π›Ύπ‘žπ‘›
1
Prover
1
and 𝑑𝑖
𝐴𝐺
0
π‘ž1 , … , π‘žπ‘› ∈ 0,1
1
𝑋 ∘ π›Ύπ‘ž1 , … , 𝑋 ∘ π›Ύπ‘žπ‘›
If proof is rejecting:
βˆ€π‘– ∈ 𝑛 obtain [π‘Žπ‘– = 𝑋 q𝑖 = 𝑋(π›Ύπ‘žπ‘– (𝑑𝑖 ))]
π‘Ž1 , … , π‘Žπ‘› ∈ 0,1
π‘š
Protocol Details
Recall: 𝑋 is the multi-linear extension of 𝑋.
Let 𝑃: 𝐹 3π‘š β†’ 𝐹 be the low-degree polynomial:
𝑃 π‘ž1 , π‘ž2 , π‘ž3 ≝ 𝑓 π‘ž1 , π‘ž2 , π‘ž3 , 𝑋 π‘ž1 , 𝑋 π‘ž2 , 𝑋 π‘ž3
Goal: verify that:
1. 𝑃 is consistent with 𝑋
2. 𝑃 𝑧 = 0 for all 𝑧 ∈ 0,1
3π‘š
Only over the CRS curves
,
(1)
The Prover Strategy
Given CRS = 𝛾 1 1 , … , 𝛾 𝑛
1 , and
computes 𝑋, 𝑃.
1. βˆ€π‘– ∈ 𝑛 :
𝑋𝑖 𝜁 ≝ 𝑋 𝛾 𝑖 𝜁
2. βˆ€π‘–, 𝑗, π‘˜ ∈ 𝑛 :
𝑃𝑖,𝑗,π‘˜ 𝜁1 , 𝜁2 , 𝜁3 ≝ 𝑃 𝛾 𝑖 𝜁1 , 𝛾 𝑗 𝜁2 , 𝛾 π‘˜ 𝜁3
Proof contains:
𝑋𝑖
π‘š
,
𝑃𝑖,𝑗,π‘˜
3π‘š
The Verifier Strategy
Given:
CRS =
𝛾1 1, … , 𝛾 𝑛
1
, Proof =
𝑋𝑖
π‘š
, 𝑃𝑖,𝑗,π‘˜
3π‘š
Test (1) over every three curves 𝑖, 𝑗, π‘˜ ∈ 𝑛 :
𝑃 π‘ž1 , π‘ž2 , π‘ž3 = 𝑓 π‘ž1 , π‘ž2 , π‘ž3 , 𝑋 π‘ž1 , 𝑋 π‘ž2 , 𝑋 π‘ž3
,
𝑃𝑖,𝑗,π‘˜ 𝜁1 , 𝜁2 , 𝜁3
≑ 𝑓 𝛾 𝑖 𝜁1 , 𝛾 𝑗 𝜁2 , 𝛾 π‘˜ 𝜁3 , 𝑋𝑖 𝜁1 , 𝑋𝑗 𝜁2 , π‘‹π‘˜ 𝜁3
(1)
Back to the Assignment Generator
βˆ€π‘– ∈ 3 sample π›Ύπ‘žπ‘–
1
and 𝑑𝑖
𝐴𝐺
0
π‘ž1 , π‘ž2 , π‘ž3 ∈ 0,1
π›Ύπ‘ž1 , π›Ύπ‘ž2 , π›Ύπ‘ž3
Prover
𝑋1 , 𝑋2 , 𝑋3 , 𝑃1,2,3
If proof is accepting:
βˆ€π‘– ∈ 3 obtain π‘Žπ‘– = 𝑋𝑖 𝑑𝑖
π‘Ž1 , π‘Ž2 , π‘Ž3 ∈ 0,1
π‘š
Everywhere Local Consistency
𝑃1,2,3 𝜁1 , 𝜁2 , 𝜁3 ≑ 𝑓 𝛾 1 𝜁1 , 𝛾 2 𝜁2 , 𝛾 3 𝜁3 , 𝑋1 𝜁1 , 𝑋2 𝜁2 , 𝑋3 𝜁3
𝑃𝑖,𝑗,π‘˜ 𝑑1 , 𝑑2 , 𝑑3
= 𝑓 𝛾 1 𝑑1 , 𝛾 2 𝑑2 , 𝛾 3 𝑑3 , 𝑋1 𝑑1 , 𝑋2 𝑑2 , 𝑋3 𝑑3
Follows from
missing tests
0 = 𝑃𝑖,𝑗,π‘˜ 𝑑1 , 𝑑2 , 𝑑3 = 𝑓 π‘ž1 , π‘ž2 , π‘ž3 , π‘Ž1 , π‘Ž2 , π‘Ž3
Achieving Local Consistency Everywhere
Verifier
Random
Everywhere
accepts
Local consistency
Localconsistency
In standard PCPs:
Follows from low-degree test
and Schwartz–Zippel lemma
In our protocol:
Follows from security
of curve encryptions
THANKS!