Download presentation
Presentation is loading. Please wait.
1
iO with Exponential Efficiency
Huijia Lin (USB), Rafael Pass (Cornell) Karn Seth (Cornell -> Google) Sid Telang (Cornell -> Google)
2
IO Plethora of Applications May plausibly exist
For example: SW14, BCP14, BZ14, GGHR14, BGL+15, CHJV14, KLW14 May plausibly exist Candidates: GGH+13b, BR’13, BGK+13, PST14, GLSW14 Avoids impossibility results for stronger notions e.g., those of BGI+01, GK05, CKP15, PS15, MMN15, LPST15
3
IO However: All concrete constructions based on multilinear maps [GGH13a, CLT13, GGH15, CLT15] All MLM constructions have nontrivial attacks [CHL+15, MF15,…]
4
May plausibly exists unconditionally
Can we identify qualitatively weaker notions that suffice for applications? E.g., Compact FE -> iO [AJ15,BV15] Today: XiO (iO with “exponential efficiency”) May plausibly exists unconditionally
5
Recap: IO C1 = C2
6
Recap: IO C1 iO = C2 iO
7
Recap: IO C1 iO(C1) iO = ≈ C2 iO(C2) iO
8
“Inefficient” iO C iO(C)
9
“Inefficient” iO n = input length
iO(C) Time to obfuscate = poly(λ, |C|) * 2n Size of obfuscation = poly(λ, |C|) * 2n
10
“Inefficient” iO Trivial Time to obfuscate = poly(λ, |C|) * 2n
x C(x) 000 11011 001 01010 010 11111 011 11000 100 00000 101 110 11100 111 00111 C Trivial Time to obfuscate = poly(λ, |C|) * 2n Size of obfuscation = poly(λ, |C|) * 2n
11
“Inefficient” iO slightly nontrivial
iO(C) slightly nontrivial Time to obfuscate = poly(λ, |C|) * 2n Size of obfuscation = poly(λ, |C|) * 2n(1-ϵ) for ϵ < 1
12
“Inefficient” iO slightly nontrivial
iO(C) slightly nontrivial Time to obfuscate = poly(λ, |C|, 2n) Size of obfuscation = poly(λ, |C|) * 2n(1-ϵ) for ϵ < 1
13
“Exponentially Efficient” iO (XiO)
iO(C) slightly nontrivial Time to obfuscate = poly(λ, |C|, 2n) Size of obfuscation = poly(λ, |C|) * 2n(1-ϵ) for ϵ < 1
14
Can perfect/statistical XiO exist?
Is XiO useful? Can perfect/statistical XiO exist? YES dunno..
15
Function Compression [Kabanets and Kolokolova’13]
You get black-box access to a function {0,1}n->{0,1} You can run in time poly(2n) Need to output a description of length poly(C) * 2n(1-ϵ) XiO can be viewed as “Function compression with witness”
16
Then, there exists “standard iO” for circuits.
Theorem: Assume the existence of XiO for circuits with “short inputs” and the hardness of LWE, both with subexponential security. Then, there exists “standard iO” for circuits.
17
XiO + LWE -> “short-cipertext FE”
Proof Outline XiO + LWE -> “short-cipertext FE” “short-ciphertext FE” + LWE -> iO [LPST’15]
18
Functional Encryption
x Enc(x): C skC: C(x) Dec(skC, Enc(x)):
19
Functional Encryption
If C(m0) = C(m1) m0 m1 ≈ C C
20
“Non-Compact” m Enc time polynomial in circuit size C
21
Compact/Sublinear [AJ’15,BV’15]
Enc time only polylog/subliner in circuit size m C Thm [AJ’15,BV’15]: SubExp Secure Sublinear FE -> iO
22
“Short” FE [LPST’15] Length of ciphertext sublinear in circuit size
m Length of ciphertext sublinear in circuit size |Enc(m)| = poly(λ,|m|) * |C|1-ε for ε > 0 C Thm [LPST’15]: SubExp Secure Short FE + LWE -> iO
23
Thm [GKP+’14,GVW’13]: LWE -> Succinct FE
Succinct [GKP+14] Depends only polylogarithmically on circuit size m C (But only works for circuits with 1-bit output) Thm [GKP+’14,GVW’13]: LWE -> Succinct FE
24
Goal m m XiO C C Succinct FE Short FE
25
Idea m, i Encrypt pairs (m,i) C
26
Change to C’ such that C’(m, i) = yi, the ith output bit of C(m)
Idea m, i Encrypt pairs (m,i) Change to C’ such that C’(m, i) = yi, the ith output bit of C(m) C’
27
Now, to encrypt m, instead encrypt all pairs (m,i) for 1 ≤ i ≤ t
Idea m, 1 m, t Now, to encrypt m, instead encrypt all pairs (m,i) for 1 ≤ i ≤ t … C’
28
Idea Now, to encrypt m, instead encrypt all pairs (m,i) for 1 ≤ i ≤ t
m, t Now, to encrypt m, instead encrypt all pairs (m,i) for 1 ≤ i ≤ t To decrypt, apply skC’ to each, and combine results … C’ y0 y1 yt … y =
29
Problem m, 1 m, t … Not sublinear C’ y0 y1 yt … y =
30
Ciphertext grows linearly with t, the
Problem m, 1 m, t … Not sublinear Ciphertext grows linearly with t, the number of output bits of C, which is not sublinear in |C|. C’ y0 y1 yt … y =
31
Need to compress ciphertext
Problem m, 1 m, t … Not sublinear Ciphertext grows linearly with t, the number of output bits of C, which is not sublinear in |C|. C’ Need to compress ciphertext y0 y1 yt … y =
32
Solution i Instead of a ciphertext, release a circuit G[K,m] that, on input i, generates Enc(m,i) G[K,m] m, i
33
Use PRF(K,i) as encryption randomness.
Solution i Instead of a ciphertext, release a circuit G[K,m] that, on input i, generates Enc(m,i) Use PRF(K,i) as encryption randomness. G[K,m] m, i
34
Solution i As a ciphertext: release a circuit G[K,m] that, on input i, generates Enc(m,i). Use PRF(K,i) as encryption randomness. Obfuscate the circuit using XiO to hide K and m. G[K,m] m, i
35
Sublinear |XiO(G[k,m])| = poly(λ, |G(k,m)|) * 2n(1-ϵ)
|G[K,m]| = (PRF evaluation + Encryption) = poly(λ, |m|)
36
Sublinear |XiO(G[k,m])| = poly(λ, |G(k,m)|) * 2n(1-ϵ)
|G[K,m]| = (PRF evaluation + Encryption) = poly(λ, |m|) Input length n = log t ≤ log |C|
37
Sublinear |XiO(G[k,m])| = poly(λ, |G(k,m)|) * 2n(1-ϵ)
|G[K,m]| = (PRF evaluation + Encryption) = poly(λ, |m|) Input length n = log t ≤ log |C|
38
Sublinear |XiO(G[k,m])| = poly(λ, |G(k,m)|) * 2n(1-ϵ)
≤ poly(λ, m) * |C|(1-ϵ) |G[K,m]| = (PRF evaluation + Encryption) = poly(λ, |m|) Input length n = log t ≤ log |C|
39
XiO + LWE -> “short FE”
TODAY: XiO + LWE -> “short FE” SubExp Secure “short FE” + LWE-> iO [LPST’15]
40
Then, there exists “standard iO” for circuits.
Theorem: Assume the existence of XiO for circuits with “short inputs” and the hardness of LWE, both with subexponential security. Then, there exists “standard iO” for circuits.
41
Getting “non-trivial compression” is what makes iO hard/interesting
Conclusion: Getting “non-trivial compression” is what makes iO hard/interesting
42
Thanks!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.