Private Circuits A Modular Approach
Prabhanjan Ananth Yuval Ishai Amit Sahai
Private Circuits A Modular Approach Yuval Amit Prabhanjan Ishai - - PowerPoint PPT Presentation
Private Circuits A Modular Approach Yuval Amit Prabhanjan Ishai Sahai Ananth Surveillance Devices Credit card details SSN number Passwords PGP keys Surveillance Devices Credit card details SSN number Passwords PGP keys
Prabhanjan Ananth Yuval Ishai Amit Sahai
Surveillance Devices
Credit card details SSN number Passwords PGP keys …
Surveillance Devices
Credit card details SSN number Passwords PGP keys …
Side Channel Attacks Adversary can obtain partial information (leakage) about the computation
GOAL
Protecting cryptographic schemes against side-channel attacks
This Work: Leakage-Resilient Circuit Compilers [ISW03]
Compile
Compile Encode
Decode
$$
C
̂ C
C
̂ C
̂ C
C
̂ C
̂ C
C
̂ C
̂ C
̂ C
C
̂ C
̂ C
Leakage-Resilient Circuit Compilers
Leakage-Resilient Circuit Compilers
NAND NAND NAND
. . . . . . 1 1 1 1 1
̂ C ( ̂ x)
Leakage-Resilient Circuit Compilers
NAND NAND NAND
. . . . . . 1 1 1 1 1 Leak … …
Bounded Leakage
̂ C ( ̂ x)
Leakage on computation of on
̂ C
̂ x
What is Leak?
What is Leak?
What is Leak?
What is Leak?
This Work!
NAND NAND NAND
. . . . . . ? ? 1 ? ? ?
NAND NAND NAND
. . . . . . 1 1 1 1 1 Leak … …
Wire-probing attacks [ISW03, …]
Subset of values in the computation leaked
Worst Case Leakage: threshold t
Leakage-Resilience: Wire-probing attacks [ISW03,…]
Worst Case Leakage: threshold t
Following [ISW03], several works study this setting…
[RP10,KHL11,GM11,CPR13,CGPQR12,…]
Leakage-Resilience: Wire-probing attacks [ISW03,…]
MPC on Silicon Applying MPC techniques to design secure hardware
Worst Case Leakage: threshold t
Leakage-Resilience: Wire-probing attacks [ISW03,…]
Recent years: focus on randomness complexity
[IKLOPSZ13,BBPPTV16,BBPPTV17]
Randomness Complexity
Randomness Complexity = # of random-bit gates
Randomness Complexity
Randomness Complexity = # of random-bit gates How many random bit-gates are needed?
Randomness Complexity
Randomness Complexity = # of random-bit gates How many random bit-gates are needed? [IKLOPSZ13] random bit-gates sufficient, for any
t3+ε
ε > 0
Randomness Complexity
Randomness Complexity = # of random-bit gates How many random bit-gates are needed? [IKLOPSZ13] random bit-gates sufficient, for any
t3+ε
ε > 0
Q: Is tight?
t3+ε
Randomness Complexity
Randomness Complexity = # of random-bit gates How many random bit-gates are needed? [IKLOPSZ13] random bit-gates sufficient, for any
t3+ε
ε > 0
Q: Is tight?
t3+ε
NO!
Leakage resilient compilers for -sized circuits and threshold t
s
Results: Worst-Case Probing
Leakage resilient compilers for -sized circuits and threshold
t
s
t
Results: Worst-Case Probing
Leakage resilient compilers for -sized circuits and threshold
t
s ⋅ poly(t)
s
t
Results: Worst-Case Probing
Leakage resilient compilers for -sized circuits and threshold
t1+ε
t
ε > 0 s ⋅ poly(t)
s
t
Results: Worst-Case Probing
Leakage-Resilience: Random Wire-probing attacks
[ISW03,Ajtai10,ADF16]
Probabilistic Leakage: parameterized by (p,e)
Real World Ideal World
Every wire in leaked with probability p
Simulate leakage just given C
̂ C ( ̂ x)
Leakage-Resilience: Random Wire-probing attacks
[ISW03,Ajtai10,ADF16]
Probabilistic Leakage: parameterized by (p,e)
Real World Ideal World
Every wire in leaked with probability p
Related to Noisy Leakage Model: [CJJR99,FRRTV10,DDF15,…]
Simulate leakage just given C
̂ C ( ̂ x)
Leakage-Resilience: Random Wire-probing attacks
[ISW03,Ajtai10,ADF16]
Prior works: Random Wire-Probing Attacks
p = constant, e = negligible
Prior works: Random Wire-Probing Attacks
p = constant, e = negligible
Prior works: Random Wire-Probing Attacks
p = constant, e = negligible
Leakage-resilient circuit compiler against (p,e)-random probing attacks
Results: Random-Wire Probing
Leakage-resilient circuit compiler against (p,e)-random probing attacks
Results: Random-Wire Probing
p = 0.000065
Leakage-resilient circuit compiler against (p,e)-random probing attacks
Results: Random-Wire Probing
Leakage-resilient circuit compiler against (p,e)-random probing attacks
Large gates: construction with p close to 1
Results: Random-Wire Probing
Input encoding and Output decoding algorithms are identity functions
Input encoding and Output decoding algorithms are identity functions
This implies leakage-resilience!
Security Notions
A fraction of input and output will be leaked
Security Notions
A fraction of input and output will be leaked
Leakage simulatable given
Security Notions
A fraction of input and output will be leaked
Leakage simulatable given
Results: Leakage Tolerance
Worst Case: t-wire probing attacks
t1+ε
Results: Leakage Tolerance
Probabilistic Case: (p,p’,e)-random probing attacks
1
p
p > 0.8, any p’ > p Doesn’t exist p < 0.00006, any p’ > p Exists!
Starting Point:
t-out-n Secure MPC
… P1 P2 Pn x1 x2 xn … P1 P2 Pn x1 x2 xn
Π(C) ̂ C
… P1 P1 Pn x1 x2 xn … P1 P2 Pn x1 x2 xn
Passive Corruption of P2 Leak State of P2
Π(C) ̂ C
Starting Point:
t-out-n Secure MPC
Leakage-Resilient Circuit Compiler
C’
Input: shares of x Output: shares of C(x)
Leakage-Resilient Circuit Compiler
Security?
If at most t wires leaked then the leakage can be simulated
Leakage-Resilient Circuit Compiler
Security?
If at most t wires leaked then the leakage can be simulated
Probability that more than t wires are leaked = Simulation error e
≤ exp(
−(1 + t)2 12poly(|C|) ⋅ p )
Simulation Error e (by Chernoff)
Leakage-Resilient Circuit Compiler
If at most t wires leaked then the leakage can be simulated
Probability that more than t wires are leaked = Simulation error e
≤ exp(
−(1 + t)2 12poly(|C|) ⋅ p )
Simulation Error e (by Chernoff)
If p, |C|, t are constants then e is constant
Leakage-Resilient Circuit Compiler
If at most t wires leaked then the leakage can be simulated
Probability that more than t wires are leaked = Simulation error e
≤ exp(
−(1 + t)2 12poly(|C|) ⋅ p )
Simulation Error e (by Chernoff)
If p, |C|, t are constants then e is constant
Leakage-Resilient Circuit Compiler
negligible??
p = constant, e0 = constant Leakage-resilient circuit compiler with
Reducing the Error
IDEA
with (p,e0)-base gadget G0
Pi
NAND
Pi
G0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Leakage simulatable as long as at most t base gadgets fail
Reducing the Error
Security?
Probability that more than t base gadgets fail = Simulation error e1
Leakage simulatable as long as at most t base gadgets fail
Reducing the Error
Security?
≤ exp(
−(1 + t)2 12poly(|C|) ⋅ e0)
Simulation Error e1 (by Chernoff)
Leakage simulatable as long as at most t base gadgets fail
Reducing the Error
Security?
Probability that more than t base gadgets fail = Simulation error e1
Size?
Size?
|Base Gadget| × |Π(C′)|
IDEA
with (p,ek-1)-gadget Gk-1
Pi
NAND
Pi
Gk-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
After k steps
After k steps: size?
Size of kth Gadget Gk
≤ |(k − 1)th Gadget| × |Π(C′)| ≤ |(k − 2)th Gadget| × |Π(C′)|
|Π(C′)|
×
. . .
≤ (|Π(C′)|)k
After k steps: size?
Size of kth Gadget Gk
≤ |(k − 1)th Gadget| × |Π(C′)| ≤ |(k − 2)th Gadget| × |Π(C′)|
|Π(C′)|
×
. . .
(|Π(C′)|)k
When |C| is a constant…
= exp(O(k))
≤
After k steps: error
≤ exp(
−(1 + t)2 12poly(|C|) ⋅ ek−1 )
Simulation Error ek ≤ exp
−(1 + t)2 12poly(|C|) ⋅ exp(
−(1 + t)2 12poly(|C|) ⋅ ek−2 )
≤ exp
−(1 + t)2 12poly(|C|) ⋅ exp
−(1 + t)2 12poly(|C|) ⋅ exp( −(1 + t)2 12poly(|C|) ⋅ ek−3 )
…
≤ exp(−2O(k))
When |C| is a constant…
When |C| is constant,
ek ≤ exp(−2O(k))
≤ exp (O(k))
k (Error)-1 Size
Size of kth Gadget Gk
When |C| is constant,
ek
k (Error)-1 Size
Size of kth Gadget Gk
= negl(|C|) = poly(|C|) k = log(|C|)
≤ exp(−2O(k)) ≤ exp (O(k))
When |C| is constant,
ek
k Size
C = NAND
Size of kth Gadget Gk
(Error)-1
= negl(|C|) = poly(|C|)
≤ exp(−2O(k)) ≤ exp (O(k))
To compile a large circuit C,
NAND NAND NAND
. . . . . .
To compile a large circuit C,
NAND NAND NAND
. . . . . .
Gk Gk Gk
. . . . . .
Stitch together the gadgets for every gate in the circuit
To compile a large circuit C,
NAND NAND NAND
. . . . . .
Gk Gk Gk
. . . . . .
Compositional issues?
Worst-Case Leakage: t-wire probing
Worst-Case Leakage: t-wire probing
Worst-Case Leakage: t-wire probing
Worst-Case Leakage: t-wire probing
Worst-Case Leakage: t-wire probing
implies “small” randomness complexity
Worst-Case Leakage: t-wire probing
t1+ε
t3+ε