COBRA: A Parallelizable Authenticated Online Cipher without Block Cipher Inverse1
Atul Luykx
COSIC KU Leuven and iMinds
March 3, 2014
1Joint work with E. Andreeva, B. Mennink, and K. Yasuda. 1 / 23
COBRA: A Parallelizable Authenticated Online Cipher without Block - - PowerPoint PPT Presentation
COBRA: A Parallelizable Authenticated Online Cipher without Block Cipher Inverse 1 Atul Luykx COSIC KU Leuven and iMinds March 3, 2014 1 Joint work with E. Andreeva, B. Mennink, and K. Yasuda. 1 / 23 Overview COBRA 1 Misuse resistance 2
COSIC KU Leuven and iMinds
1Joint work with E. Andreeva, B. Mennink, and K. Yasuda. 1 / 23
1 Misuse resistance 2 Online 3 GCM-like efficiency 4 No block cipher inverse 5 Security reduction to block cipher
2 / 23
1 Flawed implementations 2 Reset during backup 3 State of virtual machine copied
3 / 23
1 Flawed implementations 2 Reset during backup 3 State of virtual machine copied
3 / 23
1 Flawed implementations 2 Reset during backup 3 State of virtual machine copied
1 High latency (receive full message before first output) 2 Storage issues (large internal state)
3 / 23
1 Flawed implementations 2 Reset during backup 3 State of virtual machine copied
1 High latency (receive full message before first output) 2 Storage issues (large internal state)
3 / 23
Dependency in SIV, HBS, BTM.
4 / 23
Dependency in SIV, HBS, BTM.
Dependency in an online AE scheme.
4 / 23
1
2
N1 , K N2 , K N3 , K
5 / 23
1
2
N, K N, K N, K
5 / 23
1
2
N, K N, K N, K
5 / 23
1
2
N, K N, K N, K
1 Equality of prefixes of messages determined
5 / 23
1
2
N, K N, K N, K
1 Equality of prefixes of messages determined 2 No relationship past common prefix
5 / 23
GCM
6 / 23
GCM
6 / 23
1 Misuse resistance 2 Online 3 GCM-like efficiency 4 No block cipher inverse 5 Security reduction to block cipher
7 / 23
1 Misuse resistance 2 Online 3 GCM-like efficiency 4 No block cipher inverse 5 Security reduction to block cipher
7 / 23
McOE-G 2 4 6 8
8.9
Figure : Sandy Bridge with AES-NI2
2References: Gueron DIAC 2013 and Andreeva et al. Asiacrypt 2013. 8 / 23
McOE-G COPA 2 4 6 8
8.9 2.06
Figure : Sandy Bridge with AES-NI2
2References: Gueron DIAC 2013 and Andreeva et al. Asiacrypt 2013. 8 / 23
McOE-G GCM COPA 2 4 6 8
8.9 2.06 2.55
Figure : Sandy Bridge with AES-NI2
2References: Gueron DIAC 2013 and Andreeva et al. Asiacrypt 2013. 8 / 23
McOE-G GCM COPA OCB 2 4 6 8
8.9 2.06 2.55 0.98
Figure : Sandy Bridge with AES-NI2
2References: Gueron DIAC 2013 and Andreeva et al. Asiacrypt 2013. 8 / 23
9 / 23
M[1] M[2] M[3] M[4]
C[1]
C[2]
C[3]
C[4]
10 / 23
M[1] M[2] M[3] M[4]
C[1]
C[2]
C[3]
C[4] M ′[1] M ′[2] M ′[3] M ′[4]
C′[1]
C′[2]
C′[3]
C′[4]
10 / 23
M[1] M[2] M[3] M[4]
C[1]
C[2]
C[3]
C[4] M ′[1] M ′[2] M ′[3] M ′[4]
C′[1]
C′[2]
C′[3]
C′[4]
10 / 23
M[1] M[2] M[3] M[4]
C[1]
C[2]
C[3]
C[4] M ′[1] M ′[2] M[3]′ M ′[4]
C′[1]
C′[2]
C[3]
C′[4]
10 / 23
M[1] M[2] M[3] M[4]
C[1]
C[2]
C[3]
C[4] M ′[1] M ′[2] M[3]′ M ′[4]
C′[1]
C′[2]
C[3]
C′[4]
10 / 23
M[1] M[2] M[3] M[4]
C[1]
C[2]
C[3]
C[4]
1 Dependency upon previous message blocks 2 Function using only key 3 No collisions between different messages
10 / 23
11 / 23
Sandy Bridge Ivy Bridge Haswell 1 2 3
2.53 2.53 1.03
Cycles per byte – lower is better
Figure : GCM with AES-NI. Results Gueron DIAC 2013.
12 / 23
Sandy Bridge Ivy Bridge Haswell 1 2 3
2.52 2.52 1.03 1.79 1.79 0.4
Cycles per byte – lower is better GHASH AES-CTR
Figure : GCM with AES-NI. Results Gueron DIAC 2013.
12 / 23
1 Misuse resistance 2 Online 3 GCM-like efficiency 4 No block cipher inverse 5 Security reduction to block cipher
13 / 23
1 Misuse resistance 2 Online 3 GCM-like efficiency 1 One multiplication per block 2 One block cipher call per block 3 Parallelizable 4 No block cipher inverse 5 Security reduction to block cipher
13 / 23
M[1] M[2] M[3] M[4] +
C[1] +
C[2] +
C[3] +
C[4]
× × ×
14 / 23
M[1] M[2] M[3] M[4] +
C[1] +
C[2] +
C[3] +
C[4]
× × ×
14 / 23
M[1] M[2] M[3] M[4] +
C[1] +
C[2] +
C[3] +
C[4]
× × ×
14 / 23
α1 β1 γ1 δ1 α2 β2 γ2 δ2 + + + + + + + + M[1] M[2] M[3] M[4] C[1] C[2] C[3] C[4] αi, βi, γi, δi: uniform random functions (URF)
15 / 23
α1 β1 γ1 δ1 α2 β2 γ2 δ2 + + + + + + + + M[1] M[2] M[3] M[4] C[1] C[2] C[3] C[4] ρ1 σ1 ρ2 σ2 αi, βi, γi, δi: uniform random functions (URF)
15 / 23
α1 β1 γ1 δ1 α2 β2 γ2 δ2 η ρ1 ⊕ ρ2 ⊕ σ1 ⊕ σ2 T + + + + + + + + M[1] M[2] M[3] M[4] C[1] C[2] C[3] C[4] ρ1 σ1 ρ2 σ2 αi, βi, γi, δi: uniform random functions (URF)
15 / 23
1 Misuse resistance 2 Online 3 GCM-like efficiency 1 One multiplication per block 2 One block cipher call per block 3 Parallelizable 4 No block cipher inverse 5 Security reduction to block cipher
16 / 23
β1 γ1 β2 γ2 β3 γ3 + + + + + + M[1] M[2] M[3] M[4] M[5] M[6] C[1] C[2] C[3] C[4] C[5] C[6] βi, γi: uniform random functions (URF)
17 / 23
β1 γ1 β2 γ2 β3 γ3 + + + + + + M[1] M[2] M[3] M[4] M[5] M[6] C[1] C[2] C[3] C[4] C[5] C[6] βi, γi: uniform random functions (URF)
17 / 23
β1 γ1 β2 γ2 β3 γ3 + + + + + + M[1] M[2] M[3] M[4] M[5] M[6] C[1] C[2] C[3] C[4] C[5] C[6] βi, γi: uniform random functions (URF)
17 / 23
β1 γ1 β2 γ2 β3 γ3 + + + + + + + + + + + + M[1] M[2] M[3] M[4] M[5] M[6] C[1] C[2] C[3] C[4] C[5] C[6] × × × × × + L2 L L L L L N · L βi, γi: URFs L: secret value derived from the key N: nonce
18 / 23
β1 γ1 β2 γ2 β3 γ3 + + + + + + + + + + + + M[1] M[2] M[3] M[4] M[5] M[6] C[1] C[2] C[3] C[4] C[5] C[6] × × × × × σ1 σ2 σ3 ρ1 ρ2 ρ3 + L2 L L L L L N · L βi, γi: URFs L: secret value derived from the key N: nonce
18 / 23
19 / 23
Ek Ek Ek Ek Ek Ek + + + + + + + + + + + + + + + + + + 20L′ 20L′ L 21L′ 21L′ L 22L′ 22L′ L M[1] M[2] M[3] M[4] M[5] M[6] C[1] C[2] C[3] C[4] C[5] C[6] × × × × × σ1 σ2 σ3 ρ1 ρ2 ρ3 + L2 L L L L L N · L L := Ek(0), L′ = 4L ρ1 ⊕ ρ2 ⊕ ρ3 ⊕ σ1 ⊕ σ2 ⊕ σ3 + Ek + N Ek T 3(22L′ ⊕ L) 32(22L′ ⊕ L)
20 / 23
Ek Ek Ek Ek Ek Ek + + + + + + + + + + + + + + + + + + 20L′ 20L′ L 21L′ 21L′ L 22L′ 22L′ L M[1] M[2] M[3] M[4] M[5] M[6] C[1] C[2] C[3] C[4] C[5] C[6] × × × × × σ1 σ2 σ3 ρ1 ρ2 ρ3 + L2 L L L L L N · L ρ1 ⊕ ρ2 ⊕ ρ3 ⊕ σ1 ⊕ σ2 ⊕ σ3 + Ek + N ⊕ U Ek T 3(22L′ ⊕ L) 32(22L′ ⊕ L) U Ek + + × + × + × + J A[1] A[2] A[3] A[4]10∗ J J J 2J J := Ek(1), L := Ek(0), L′ = 4L
20 / 23
1 Switch to URFs (at minimal
Ek Ek + + + + + + 20L′ 20L′ L M[2ℓ − 1] M[2ℓ] C[2ℓ − 1] C[2ℓ] × σℓ ρℓ · · · L
21 / 23
1 Switch to URFs (at minimal
βℓ γℓ + + + + M[2ℓ − 1] M[2ℓ] C[2ℓ − 1] C[2ℓ] × σℓ ρℓ · · · L
21 / 23
1 Switch to URFs (at minimal
2 Collisions prevented by
βℓ γℓ + + + + M[2ℓ − 1] M[2ℓ] C[2ℓ − 1] C[2ℓ] × σℓ ρℓ · · · L
21 / 23
1 Switch to URFs (at minimal
2 Collisions prevented by
βℓ γℓ + + + + M[2ℓ − 1] M[2ℓ] C[2ℓ − 1] C[2ℓ] × σℓ ρℓ · · · L
21 / 23
1 Switch to URFs (at minimal
2 Collisions prevented by
βℓ γℓ + + + + M[2ℓ − 1] M[2ℓ] C[2ℓ − 1] C[2ℓ] × σℓ ρℓ · · · L
21 / 23
Table : Comparing misuse resistant AE modes of operation. BC := block cipher, UH := universal hash
22 / 23
1 Misuse resistance 2 Online 3 GCM-like efficiency 1 One multiplication per block 2 One block cipher call per block 3 Parallelizable 4 No block cipher inverse 5 Security reduction to block cipher
23 / 23
1 Misuse resistance 2 Online 3 GCM-like efficiency 1 One multiplication per block 2 One block cipher call per block 3 Parallelizable 4 No block cipher inverse 5 Security reduction to block cipher
23 / 23
Ek Ek Ek Ek + + + + + + + + + + + + 2ℓ−1L′ 2ℓ−1L′ L 7 · 2ℓL′ 7 · 2ℓL′ 7 · L M[2ℓ − 3] M[2ℓ − 2] M[2ℓ − 1] M[2ℓ] M∗ C[2ℓ − 3] C′[2ℓ − 2] M∗ C[2ℓ − 1] C[2ℓ] × × × σ1 σ2 ρ1 ρ2 L L L
24 / 23
Ek Ek Ek Ek Ek Ek + + + + + + + + + + + + + + + + + + 2ℓ−2L′ 2ℓ−2L′ L 2ℓ−1L′ 2ℓ−1L′ L 7 · 2ℓL′ 7 · 2ℓL′ 7 · L M[2ℓ − 5] M[2ℓ − 4] M[2ℓ − 3] M[2ℓ − 2] M[2ℓ − 1] M∗ C[2ℓ − 2] C[2ℓ − 5] C′[2ℓ − 4] M∗ C[2ℓ − 3] C[2ℓ − 2] C[2ℓ − 1] C[2ℓ] × × × × × σ1 σ2 σ3 ρ1 ρ2 ρ3 L L L L L
25 / 23