Linear Biases in AEGIS Keystream Brice Minaud ANSSI, France SAC - - PowerPoint PPT Presentation

linear biases in aegis keystream
SMART_READER_LITE
LIVE PREVIEW

Linear Biases in AEGIS Keystream Brice Minaud ANSSI, France SAC - - PowerPoint PPT Presentation

Linear Biases in AEGIS Keystream Brice Minaud ANSSI, France SAC August 15, 2014 Plan 1 Blockwise Stream Ciphers 2 Presentation of AEGIS 3 Linear Biases in AEGIS 1/22 Blockwise Stream Ciphers 2/22 Authenticated Encryption Schemes C


slide-1
SLIDE 1

Linear Biases in AEGIS Keystream

Brice Minaud

ANSSI, France

SAC – August 15, 2014

slide-2
SLIDE 2

Plan

1

Blockwise Stream Ciphers

2

Presentation of AEGIS

3

Linear Biases in AEGIS

1/22

slide-3
SLIDE 3

Blockwise Stream Ciphers

2/22

slide-4
SLIDE 4

Authenticated Encryption Schemes

This requires F −1

i

for decryption.

3/22

Fi Fi+1 Ci Ci+1 Pi Pi+1 Pi−1

slide-5
SLIDE 5

Authenticated Encryption Schemes

This is malleable.

3/22

Fi Fi+1 Ci Ci+1 Pi Pi+1 Pi−1

slide-6
SLIDE 6

Authenticated Encryption Schemes

Pi is inserted into the state after Ci is output.

3/22

Fi Fi+1 Ci Ci+1 Pi−1 Pi+1 Pi−1 Pi Pi

slide-7
SLIDE 7

Blockwise Stream Cipher

A single round behaves like a stream cipher. Ki+1 depends on Pi, Pi−1, . . . but not Pi+1.

3/22

Fi Fi+1 Ci Ci+1 Pi−1 Pi+1 Pi−1 Pi Pi Ki+1

slide-8
SLIDE 8

Blockwise Stream Ciphers in CAESAR

Duplex constructions behave in this way. So do many CAESAR candidates.

AEGIS, Artemia, Ascon, CBEAM, ICEPOLE, Keyak, Ketje, MORUS, PAES, PANDA, π-Cipher, 2/3 PRIMATEs, STRIBOB, Tiaoxin...

3/22

slide-9
SLIDE 9

Keystream Biases

4/22

Fi Ci Pi Pi−1 Ki Fi+1 Ci+1 Pi+1 Pi Ki+1 Fi+2 Ci+2 Pi+2 Pi+1 Ki+2

slide-10
SLIDE 10

Keystream Biases

Assume we know, say, Pi−1, Pi, Pi+1, (e.g. headers). We are interested in Pi+2.

4/22

Fi Ci Pi Pi−1 Ki Fi+1 Ci+1 Pi+1 Pi Ki+1 Fi+2 Ci+2 Pi+2 Pi+1 Ki+2

slide-11
SLIDE 11

Keystream Biases

4/22

Fi Ci Pi Pi−1 Ki Fi+1 Ci+1 Pi+1 Pi Ki+1 Fi+2 Ci+2 Pi+2 Pi+1 Ki+2

slide-12
SLIDE 12

Keystream Biases

5/22

Fi Ci Pi Pi−1 Ki Fi+1 Ci+1 Pi+1 Pi Ki+1 Fi+2 Ci+2 Pi+2 Pi+1 Ki+2

slide-13
SLIDE 13

Keystream Biases

Assume knowing Pi−1, Pi, Pi+1, there exists a bias on : αi·Ki ⊕ αi+1·Ki+1 ⊕ αi+2·Ki+2 Then αi·Ci ⊕ αi+1·Ci+1 ⊕ αi+2·Ci+2 gives us information on αi+2·Pi+2.

5/22

Fi Ci Pi Pi−1 Ki Fi+1 Ci+1 Pi+1 Pi Ki+1 Fi+2 Ci+2 Pi+2 Pi+1 Ki+2

slide-14
SLIDE 14

Keystream Biases

Thus, if Pi−1, . . . , Pi+2 is encrypted enough times for the bias

  • n αi·Ki ⊕ αi+1·Ki+1 ⊕ αi+2·Ki+2 to be significant, we recover

information on Pi+2. This type of attack is independent of the key or nonce. It is not considered in most security analyses.

6/22

Fi Ci Pi Pi−1 Ki Fi+1 Ci+1 Pi+1 Pi Ki+1 Fi+2 Ci+2 Pi+2 Pi+1 Ki+2

slide-15
SLIDE 15

Keystream Biases

In summary, knowing Pi−1, Pi, Pi+1, we want to find a bias on : αi·Ki ⊕ αi+1·Ki+1 ⊕ αi+2·Ki+2 We call this a “keystream” bias.

7/22

Fi Ci Pi Pi−1 Ki Fi+1 Ci+1 Pi+1 Pi Ki+1 Fi+2 Ci+2 Pi+2 Pi+1 Ki+2

slide-16
SLIDE 16

Our Results on AEGIS

Cipher (Single) Keystream Bias Data AEGIS-128 2−77 2154 (est. 2140) AEGIS-256 2−89 2178 The data requirements are far below a generic attack. However they are also far above any realistic threat. Above security parameters for AEGIS-128. The biases involve only 3 consecutive rounds, while the size of the inner state is 5 (resp. 6) times the size of the

  • utput per round.

8/22

slide-17
SLIDE 17

Presentation of AEGIS

9/22

slide-18
SLIDE 18

AEGIS

AEGIS : authenticated cipher introduced at SAC 2013 by Hongjun Wu and Bart Preneel. CAESAR candidate. AES-NI pipeline ⇒ outstanding speed in software. Simple structure. Already inspired other designs : Tiaoxin, PAES.

10/22

slide-19
SLIDE 19

AEGIS

Three variants : AEGIS-128, AEGIS-128L, AEGIS-256. AEGIS-128 : 128-bit blocks, 128-bit nonce, 128-bit tag, 128-bit key. AEGIS-256 : 128-bit blocks, 128-bit nonce, 128-bit tag, 256-bit key. Process of AEGIS

1 Initialization. 2 Processing of associated data. 3 Encryption. 4 Finalization and tag generation. 11/22

slide-20
SLIDE 20

Round function of AEGIS-128

Inner state : 5 × 128 bits in registers Si,0, . . ., Si,4. R : one round of AES, no key addition. Pi : plaintext block number i.

12/22 128

Si,0 R Si+1,0

128

Si,1 R Si+1,1

128

Si,2 R Si+1,2

128

Si,3 R Si+1,3

128

Si,4 R Si+1,4 * * Pi

slide-21
SLIDE 21

Round function of AEGIS-128

Output : Ci = Si,1 ⊕ (Si,2 & Si,3) ⊕ Si,4 ⊕ Pi where & denotes bitwise AND.

13/22 128

Si,0 R Si+1,0

128

Si,1 R Si+1,1

128

Si,2 R Si+1,2

128

Si,3 R Si+1,3

128

Si,4 R Si+1,4 * * Pi

slide-22
SLIDE 22

Round function of AEGIS-256

Output : Ci = Si,1 ⊕ (Si,2 & Si,3) ⊕ Si,4 ⊕ Si,5 ⊕ Pi

14/22 128

Si,0 R Si+1,0

128

Si,1 R Si+1,1

128

Si,2 R Si+1,2

128

Si,3 R Si+1,3

128

Si,4 R Si+1,4

128

Si,5 R Si+1,5 * * Pi

slide-23
SLIDE 23

Linear Biases in AEGIS

15/22

slide-24
SLIDE 24

Output at round i

Ki = Si,1 ⊕ (Si,2 & Si,3) ⊕ Si,4 α·Ki = α·Si,1 ⊕ α·(Si,2 & Si,3) ⊕ α·Si,4

16/22

slide-25
SLIDE 25

Output at round i

Ki = Si,1 ⊕ (Si,2 & Si,3) ⊕ Si,4 α·Ki = α·Si,1 ⊕ α·(Si,2 & Si,3) ⊕ α·Si,4 Lemma If X, Y are n-bit uniformly random variables, the events : α·(X&Y) = 0 α·(X&Y) = α·X α·(X&Y) = α·Y α·(X&Y) = α·(X ⊕ Y) ⊕ 1 all have probability 1/2 + 2−hw(α)−1.

16/22

slide-26
SLIDE 26

Linear approximation of &

Hence, with the same probability : α·Ki = α·(Si,1 ⊕ Si,4) α·Ki = α·(Si,1 ⊕ Si,2 ⊕ Si,4) α·Ki = α·(Si,1 ⊕ Si,3 ⊕ Si,4) α·Ki = α·(Si,1 ⊕ Si,2 ⊕ Si,3 ⊕ Si,4) ⊕ 1 We write : Ki ≈ Si,1 ⊕ [Si,2] ⊕ [Si,3] ⊕ Si,4 This is our output at round i.

17/22

slide-27
SLIDE 27

Output at round i + 1

Si+1,1 ⊕ Si,1 = R(Si,0)

18/22

Si,0 R Si,1 R R R R Si+1,1 Si+2,2 * *

slide-28
SLIDE 28

Output at round i + 1

Si+1,1 ⊕ Si,1 = R(Si,0) Ki ≈ Si,1 ⊕ [Si,2] ⊕ [Si,3] ⊕ Si,4 Ki+1 ⊕ Ki ≈ R(Si,0) ⊕ [R(Si,1)] ⊕ [R(Si,2)] ⊕ R(Si,3)

18/22

Si,0 R Si,1 R R R R Si+1,1 Si+2,2 * *

slide-29
SLIDE 29

Output at round i + 2

Si+2,2 ⊕ Si,2 = R(Si+1,1) ⊕ R(Si+1,1 ⊕ R(Si,0))

19/22

Si,0 R Si,1 R Si,2 R R R R R R R R Si+2,2 * * * * R

slide-30
SLIDE 30

Output at round i + 2

If we approximate (with a probability cost) : β·R(X) = α·X Then : β·(R(Si+1,1) ⊕ R(Si+1,1 ⊕ R(Si,0))) = α·Si+1,1 ⊕ α·Si+1,1 ⊕ α·R(Si,0) = α·R(Si,0) Hence we approximate : Si+2,2 ⊕ Si,2 = R(Si+1,1) ⊕ R(Si+1,1 ⊕ R(Si,0)) ≈ D(R(Si,0)) where D(X) = R(U) ⊕ R(U ⊕ X), U uniformly random. Ki+2 ⊕ Ki ≈ D(R(Si,4)) ⊕ [D(R(Si,0))] ⊕ [D(R(Si,1))] ⊕ D(R(Si,2))

20/22

slide-31
SLIDE 31

Final bias

21/22

Ki ≈ S1 ⊕ [S2] ⊕ [S3] ⊕ S4 Ki+1 ⊕ Ki ≈ R(S0) ⊕ [R(S1)] ⊕ [R(S2)] ⊕ R(S3) Ki+2 ⊕ Ki ≈ [D(R(S0))] ⊕ [D(R(S1))] ⊕ D(R(S2)) ⊕ D(R(S4))

slide-32
SLIDE 32

Final bias

Choose masks α, β, γ such that with good probability : α·X = β·R(X) and β·Y = γ·D(Y) We consider : α·Ki ⊕ β·(Ki+1 ⊕ Ki) ⊕ γ·(Ki+2 ⊕ Ki) Any two terms in the same column will cancel out.

21/22

Ki ≈ S1 ⊕ [S2] ⊕ [S3] ⊕ S4 Ki+1 ⊕ Ki ≈ R(S0) ⊕ [R(S1)] ⊕ [R(S2)] ⊕ R(S3) Ki+2 ⊕ Ki ≈ [D(R(S0))] ⊕ [D(R(S1))] ⊕ D(R(S2)) ⊕ D(R(S4))

slide-33
SLIDE 33

Final bias

21/22

Ki ≈ S1 ⊕ [S2] ⊕ [S3] ⊕ S4 Ki+1 ⊕ Ki ≈ R(S0) ⊕ [R(S1)] ⊕ [R(S2)] ⊕ R(S3) Ki+2 ⊕ Ki ≈ [D(R(S0))] ⊕ [D(R(S1))] ⊕ D(R(S2)) ⊕ D(R(S4))

slide-34
SLIDE 34

Final bias

21/22

Ki ≈ S1 ⊕ [S2] ⊕ [S3] ⊕ S4 Ki+2 ⊕ Ki ≈ [D(R(S0))] ⊕ [D(R(S1))] ⊕ D(R(S2)) ⊕ D(R(S4))

slide-35
SLIDE 35

Final bias

21/22

Ki ≈ S1 ⊕ S2 ⊕ S4 Ki+2 ⊕ Ki ≈ D(R(S1)) ⊕ D(R(S2)) ⊕ D(R(S4))

slide-36
SLIDE 36

Final bias

Thus α·Ki ⊕ γ·(Ki ⊕ Ki+2) is biased.

21/22

Ki ≈ S1 ⊕ S2 ⊕ S4 Ki+2 ⊕ Ki ≈ D(R(S1)) ⊕ D(R(S2)) ⊕ D(R(S4))

slide-37
SLIDE 37

Final bias

Thus α·Ki ⊕ γ·(Ki ⊕ Ki+2) is biased. Probability cost : essentially 3 × the cost of : α·X = β·R(X) and β·Y = γ·D(Y) Plus the cost of linearizing & in the Ki’s. Total : 3 · (12 + 6) + 5 + 2 · 9 = 77 ⇒ bias 2−77. AEGIS-256 : bias 2−89.

21/22

Ki ≈ S1 ⊕ S2 ⊕ S4 Ki+2 ⊕ Ki ≈ D(R(S1)) ⊕ D(R(S2)) ⊕ D(R(S4))

slide-38
SLIDE 38

Conclusion

Attack model rarely taken into account in security analyses. Theoretical cryptanalysis of AEGIS-256 (high data requirements). Further work to be carried out on other authenticated ciphers with similar stream cipher-like behavior.

22/22

slide-39
SLIDE 39

Questions

Thank you for your attention.