Key-Recovery Attacks on Keccak-Based Constructions
Ling Song
Joint work with Jian Guo, Danping Shi and San Ling
10 October, 2018 @ Milano, Italy
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 1 / 41
Key-Recovery Attacks on Keccak-Based Constructions Ling Song Joint - - PowerPoint PPT Presentation
Key-Recovery Attacks on Keccak-Based Constructions Ling Song Joint work with Jian Guo, Danping Shi and San Ling 10 October, 2018 @ Milano, Italy Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 1 / 41 Outlines 1
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 1 / 41
1
2
3
4
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 2 / 41
Introduction
1
2
3
4
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 3 / 41
Introduction Keyed Keccak Constructions
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 3 / 41
Introduction Keyed Keccak Constructions
b 25-bit lanes, A[x, y]
http://www.iacr.org/authors/tikz/ Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 4 / 41
Introduction Keyed Keccak Constructions
http://keccak.noekeon.org/
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 5 / 41
Introduction Keyed Keccak Constructions
http://keccak.noekeon.org/
0,4 0,3 0,2 0,1 0,0 1,4 1,3 1,2 1,1 1,0 2,4 2,3 2,2 2,1 2,0 3,4 3,3 3,2 3,1 3,0 4,4 4,3 4,2 4,1 4,0
π
0,0 0,1 0,2 0,3 0,4 1,0 1,1 1,2 1,3 1,4 2,0 2,1 2,2 2,3 2,4 3,0 3,1 3,2 3,3 3,4 4,0 4,1 4,2 4,3 4,4
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 6 / 41
Introduction Keyed Keccak Constructions
x0 x1 x2 x3 x4 y0 y1 y2 y3 y4
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 7 / 41
Introduction Keyed Keccak Constructions
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 8 / 41
Introduction Keyed Keccak Constructions
r c f f f f f ... pad ⌊⋅⌋ L
absorbing squeezing N||S K M||L||00 pad pad
f pad K||Nonce σ0 f ... ... f0 pad K||Nonce f1 Z0 r ⌊⋅⌋ρ pad ... ... f Z0 M0 σ1 ... ... r f1 pad M0 pad ... ... σ0 σj f1
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 9 / 41
Introduction Our Work
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 10 / 41
Introduction Our Work
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 10 / 41
Introduction Our Work
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 10 / 41
Introduction Our Work
Ling Song, Jian Guo: Cube-Attack-Like Cryptanalysis of Round-Reduced Keccak Using
Ling Song, Jian Guo, Danping Shi, San Ling: New MILP Modeling: Improved Conditional Cube Attacks on Keccak-based Constructions. To appear in ASIACRYPT 2018
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 11 / 41
Cube Attacks
1
2
3
4
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 12 / 41
Cube Attacks
(vi1,...,vid)∈CI
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 12 / 41
Cube Attacks auxCube
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 13 / 41
Cube Attacks auxCube
k0 k1 v v a
θ ρ, π
i i
1
1-dimensional cubes where n is as large as possible;
2
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 14 / 41
Cube Attacks auxCube
k0 k1 v v a
θ ρ, π
i i
1
2
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 14 / 41
Cube Attacks conCube
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 15 / 41
Cube Attacks conCube
1
2
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 16 / 41
MILP Model for Searching Cubes
1
2
3
4
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 17 / 41
MILP Model for Searching Cubes General Framework
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 17 / 41
MILP Model for Searching Cubes General Framework
1
2
3
4
5
1
2
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 18 / 41
MILP Model for Searching Cubes General Framework
1
2
3
4
5
1
2
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 18 / 41
MILP Model for Searching Cubes Modeling the First χ
π◦ρ◦θ
χ
π◦ρ◦θ
χ
π◦ρ◦θ
χ
π◦ρ◦θ
χ
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 19 / 41
MILP Model for Searching Cubes Modeling the First χ
1
2
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 20 / 41
MILP Model for Searching Cubes Modeling the First χ
1
2
c x1 x2 c ⊕ x1 · x2
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 20 / 41
MILP Model for Searching Cubes Modeling the First χ
1
2
c x1 x2 c ⊕ x1 · x2 x0 c x2 1 x0 ⊕ c · x2 c x2 1 ⊕ x0 · c
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 20 / 41
MILP Model for Searching Cubes Modeling the First χ
1Omit coordinates [y][z].
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 21 / 41
MILP Model for Searching Cubes Modeling the First χ
1Omit coordinates [y][z].
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 21 / 41
MILP Model for Searching Cubes Modeling the First χ
1Omit coordinates [y][z].
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 21 / 41
MILP Model for Searching Cubes Modeling the First χ
1Omit coordinates [y][z].
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 21 / 41
MILP Model for Searching Cubes Modeling the First χ
1Omit coordinates [y][z].
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 21 / 41
MILP Model for Searching Cubes Modeling the First χ
1Omit coordinates [y][z].
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 21 / 41
MILP Model for Searching Cubes Modeling the First χ
B x B x 1 B x 2 V x 1 V x 2 H x 1 H x 2 C x * * * * 1 * * * * 1 1 * * 1 1 1 1 * 1 1 * 1 1 * * 1 1 1 * 1 1 * 1 1 1 1 * * 1 1 1 1 * * 1
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 22 / 41
MILP Model for Searching Cubes Modeling the First χ
B[x] B[x + 1] B[x + 2] V[x + 1] V[x + 2] H[x + 1] H[x + 2] C[x] * * * * 1 * * * * 1 1 * * 1 1 1 1 * 1 1 * 1 1 * * 1 1 1 * 1 1 * 1 1 1 1 * * 1 1 1 1 * * 1
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 22 / 41
MILP Model for Searching Cubes Modeling the First χ
−B[x] − B[x + 1] ≥ −1 −B[x] + C[x] ≥ 0 −B[x + 2] − V[x + 2] ≥ −1 −B[x + 1] − V[x + 1] ≥ −1 −B[x] − B[x + 1] − H[x + 2] + C[x] ≥ −1 B[x] − V[x + 1] − H[x + 1] − C[x] ≥ −2 B[x] − V[x + 2] + H[x + 2] − C[x] ≥ −1 B[x] + B[x + 1] + B[x + 2] − C[x] ≥ 0 −B[x + 1] − B[x + 2] + V[x + 1] + V[x + 2] + C[x] ≥ 0 −B[x + 1] − B[x + 2] + V[x + 2] + H[x + 1] + C[x] ≥ 0
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 23 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
π◦ρ◦θ
χ
π◦ρ◦θ
χ
y b[x][y][z]
y c[x][y][z]
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 24 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
cst2 cst1 v0 v0 cst0 = g1[x][z] G1[x][z] = 0
+1 v1 v1 cst5 cst4 cst3 = g1[x + 1][z] G1[x + 1][z] = 0
cst7 cst6
v2 + v3
v3 v2 = g1[x + 2][z] G1[x + 2][z] = 0
cst2 + (v1 + 1) · cst7 cst1 + (v1 + 1) · cst6 v0 + (cst5 + 1) · (v2 + v3) v0 + (cst4 + 1) · v3 cst0 + (cst3 + 1) · v2 = g2[x][z] G2[x][z] =? (1, v, 0, ∗, ∗) (1, v, 0, v, 0)
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 25 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
cst2 cst1 v0 v0 cst0 = g1[x][z] G1[x][z] = 0
+1 v1 v1 cst5 cst4 cst3 = g1[x + 1][z] G1[x + 1][z] = 0
v2 + v3
v3 v2 = g1[x + 2][z] G1[x + 2][z] = 0
cst2 cst1 v0 + (cst5 + 1) · (v2 + v3) v0 + (cst4 + 1) · v3 cst0 + (cst3 + 1) · v2 = g2[x][z] G2[x][z] =? (1, v, 0, ∗, ∗) (1, v, 0, v, 0)
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 26 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
cst2 cst1 v0 v0 cst0 = g1[x][z] G1[x][z] = 0
cst5 cst4 cst3 +1 v1 v1 1 1 1 = g1[x + 1][z] G1[x + 1][z] = 0
v2 + v3
v3 v2 = g1[x + 2][z] G1[x + 2][z] = 0
v0 + (cst5 + 1) · (v2 + v3) v0 + (cst4 + 1) · v3 cst0 + (cst3 + 1) · v2 cst2 cst1 v0 v0 cst0 = g2[x][z] G2[x][z] = 0 (1, v, 0, ∗, ∗) (1, v, 0, v, 0)
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 27 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
cst2 cst1 v0 v0 cst0 = g1[x][z] G1[x][z] = 0
+1 v1 v1 = g1[x + 1][z] G1[x + 1][z] = 0
cst5 cst4 cst3
v2 + v3
v3 v2 = g1[x + 2][z] G1[x + 2][z] = 0
v0 + (cst5 + 1) · (v2 + v3) v0 + (cst4 + 1) · v3 cst0 + (cst3 + 1) · v2 cst2 cst1 v0 + v2 + v3 v0 + v3 cst0 + v2 = g2[x][z] G2[x][z] = 0 (1, v, 0, ∗, ∗) (1, v, 0, v, 0)
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 28 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 29 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 30 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
1
2
3
cst4 cst3 cst2 cst1 cst0 G1[x][z] = 0 F[x][z] = 0 (1) cst2 cst1 v0 v0 cst0 G1[x][z] = 0 F[x][z] = 1 (2) cst1 cst0 v2 v1 v0 G1[x][z] = 1 F[x][z] = 0 (3)
7.
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 31 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
1
2
3
cst4 cst3 cst2 cst1 cst0 G1[x][z] = 0 F[x][z] = 0 (1) cst2 cst1 v0 v0 cst0 G1[x][z] = 0 F[x][z] = 1 (2) cst1 cst0 v2 v1 v0 G1[x][z] = 1 F[x][z] = 0 (3)
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 31 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
y
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 32 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 33 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
y
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 34 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 35 / 41
MILP Model for Searching Cubes Modeling the Activeness of Column Sums
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 36 / 41
Main Results
1
2
3
4
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 37 / 41
Main Results
NR: nonce-respected Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 37 / 41
Main Results
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 38 / 41
Main Results
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 39 / 41
Main Results
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 40 / 41
Main Results Conclusion
1
2
3
4
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 41 / 41
Main Results Conclusion
1
2
3
4
Ling Song Key-Recovery Attacks on Keccak-Based Constructions Milano, Italy 41 / 41