Lea eakag age-Res Resilie ilient nt Crypt ptogra graphy phy
Sebastian Faust
Aarhus University, Denmark
- - for
r symmetric mmetric pr prim imit itives ives
1
Lea eakag age-Res Resilie ilient nt Crypt ptogra graphy phy - - PowerPoint PPT Presentation
Sebastian Faust Aarhus University, Denmark Lea eakag age-Res Resilie ilient nt Crypt ptogra graphy phy -- -- for r symmetric mmetric pr prim imit itives ives 1 How to construct cryptodevices? cryptographic device very secure
1
2
CRYPTO cryptographic device
very secure much less secure!
well-defined mathematical object often proof-driven security analysis many ways of implementing: details matter! security analysis by experiments, rarely proofs
message signature
3
key K
Forgery for new message
repeat
Scheme is secure: no adversary can output a valid forgery! Example: Digital signatures
4
Usually described in mathematical language
5
Shows security not only against one specific attack, but any efficient (PPT) attack within the model (if assumption holds)
Usually described in mathematical language Reduce security of complex scheme to simple assumption, e.g.,
6
Bugs in proofs? Only rarely!
7
K
Controls inputs/outputs But: Internal computation and key completely hidden
K X Y
key
Implementations leak partial information about internals implement
Attacking the implementation Attacking mathematical algorithm X Y
input
9
Leakage: e.g., power consumption, running time, electromagnetic radiation…
10
11
Digital signatures: [AWD09, KV09, FKPR10, DHLW10, BKKV10, BSW11,…] Public key encryption: [AGV09, NS09, DHLW10, BKKV10, BSW11,…] Identity based encryption: [DHLW10, CDRW10, LRW11,…] Multiparty Computation: [ISW03, FRRTV10, GR10, JV10…] Zero Knowledge: [GJS11]
Pseudorandom Generators: [DP08, Pie09, YSPY10] Pseudorandom Functions & Permutations: [DP10, FPS11]
12
K
X Y
13
K
X Y
14
15
f(K)
L = { f : {0,1}m -> {0,1}n }, with n < m Observation: f is poly-time can simulate all intermediate values & leak about them
exploit a large number of observations) K X Y f є L Many realistic leakages: HW, running time exploit only poly-log amount of information
16
f1(K) fq(K)
X1 f1 Xq fq Y1 Yq
17
f1(K) fq(K)
Models, e.g., DPA where we need many power samples to recover the key K K
X1 f1 Xq fq Y1 Yq
Bounded per observation to n bits But: total leakage >> |K|
18
19
K long pseudo random stream X
Pseudorandomness: no efficient (PPT) adversary can distinguish X from random
short key
20
. . .
X2 X4 stream X is generated in rounds from K (one block per round)
X1 X3
SC
21
X1 X2 Xi-1
. . . SC
Adversary knows
Xi
22
X1 X2 Xi-1 Xi
. . . SC
Adversary knows also leakage Should look random
f1(K) f2(K) fi-1(K)
Poly-time computable bounded-
23
X1 X2 Xi-1 Xi
. . . SC
Adversary knows also leakage Should look random
f1(K) f2(K) fi-1(K)
fi-1(K) can leak some bits about Xi
24
X1 X2
SC
X3
25
X1 X2
f1(K1)
SC
X3
f2(K2)
26
X1 X2
f1(K1)
f1 computes K2 and leaks bits of X2
SC
27
28
29
R
30
R
if used in current computation f(L) leaks to adversary
if not accessed: does not leak
31
R
if used in current computation f(L) leaks to adversary
if not accessed: f(R) leaks (independently of L)
32
holds pseudorandom output of the cipher
L R X
33
L R X
holds secret state
34
L1 R1 X1 L2 := L1 R2 X2 SC
unmodified
35
L1 R1 X1 L2 := L1 R2 X2 SC
unmodified
36
unmodified
37
unmodified unmodified unmodified
38
unmodified unmodified unmodified
39
unmodified unmodified unmodified
40
Use randomness extractor: generates from short random seed Xi-1 and high min-entropy source Ri-1 an almost uniform string Yi Li-1 Ri-1 Xi-1 Li Ri Xi
Yi = Ext(Xi-1,Ri-1)
SC
Ri = PRG(Yi)
Use pseudorandom generator: generates from short random seed long pseudorandom string (Xi Ri) as good as uniform
41
(Xi,Yi) = F(Ri-1, Xi-1)
SC Pietrzak-2009: use a weak PRF F (for fixed key and random inputs, the output is pseudorandom) Yu-Standaert-Pereira-Yung-2010:
42
43
Pseudorandom Generator G(K): for short key K outputs long pseudorandom string X
long pseudorandom string X
Pseudorandom Function F(K,.): for short key K can be queried
Input: X Output: Y
G F
44
G Pseudorandom Generator G(K): for short key K outputs long pseudorandom string X
long pseudorandom string X
Pseudorandom Function F(K,.): for short key K can be queried
Behaves as function: for same input, it returns the same output
F
Input: Xi Output: Yi
Standard security notion: Yi+1 is pseudorandom given Y1,… Yi, if Xi+1 has not been queried
45
X1 Y1 PRF
Y2 PRF
Yq PRF
f1(K,X1) f2(K,X2) fq(K,Xq)
f1 X2 f2 Xq fq
46
But: at lower architectural level: computation of PRF is structured into t time
steps which leak independently Reasonable in reality: adversary has no full adaptive control over functions
47
G G
G
48
G G
G
Dodis-Pietrzak-10: hybrid of a leakage resilient stream cipher and the GGM tree is a leakage resilient PRF Each node leaks independently & leakage functions are fixed a-priori
(only secure for non-adaptive input queries)
49
50
X Y C Y X K’ C’
K
51
X Y C Y X K’ C’ K
Input: description of circuit C and key K Output: description of transformed circuit C„ and key K„
52
X Y C Y X K’ C’ K
Input: description of circuit C and key K Output: description of transformed circuit C„ and key K„ resistant to continuous leakages from some function class L
53
probing up to t wires [Ishai-Sahai-Wagner-03].
L is specific leakage function that allows the adversary to learn the value of up to t wires
54
probing up to t wires [Ishai-Sahai-Wagner-03].
global computationally weak leakages [F-Rabin-Reyzin-Tromer-
Vaikuntanathan-10]
f(K) weak
Leakage functions not PPT, but from weak complexity class: cannot compute certain linear functions, e.g., parity class of leakage functions L = AC0
55
f(K)
probing up to t wires [Ishai-Sahai-Wagner-03].
global computationally weak leakages [F-Rabin-Reyzin-Tromer-
Vaikuntanathan-10]
global noisy leakages [F-Rabin-Reyzin-Tromer-Vaikuntanathan-10]
Leakage is {wirei + noise ƞi}
56
57
More interaction between theoreticians and practitioners is needed to find valid restrictions and efficient schemes
58