Yoyo Game with AES Navid Ghaedi Bardeh University of Bergen May 8, - - PowerPoint PPT Presentation

yoyo game with aes
SMART_READER_LITE
LIVE PREVIEW

Yoyo Game with AES Navid Ghaedi Bardeh University of Bergen May 8, - - PowerPoint PPT Presentation

Introduction on Block cipher Yoyo Game Application on AES Conclusion Yoyo Game with AES Navid Ghaedi Bardeh University of Bergen May 8, 2018 1 / 33 Introduction on Block cipher Yoyo Game Application on AES Conclusion Outline


slide-1
SLIDE 1

Introduction on Block cipher Yoyo Game Application on AES Conclusion

Yoyo Game with AES

Navid Ghaedi Bardeh

University of Bergen

May 8, 2018

1 / 33

slide-2
SLIDE 2

Introduction on Block cipher Yoyo Game Application on AES Conclusion

Outline

1

Introduction on Block cipher

2

Yoyo Game

3

Application on AES

4

Conclusion

2 / 33

slide-3
SLIDE 3

Introduction on Block cipher Yoyo Game Application on AES Conclusion Classical Model of Symmetric Cryptography

Classical Model of Symmetric Cryptography Alice and Bob exchange the secret key through a secure channel.

3 / 33

slide-4
SLIDE 4

Introduction on Block cipher Yoyo Game Application on AES Conclusion Block Cipher

Block Cipher A block of plaintext p encrypt to a block of ciphertext c under the action of the key k: E : {0, 1}n × {0, 1}κ → {0, 1}n (p, k) → E(p, k) = c E k p c

4 / 33

slide-5
SLIDE 5

Introduction on Block cipher Yoyo Game Application on AES Conclusion Block Cipher

Block Cipher(cont.) Each key induces a permutation between the plaintexts and the ciphertexts P1 P2 P3 P4 P5 P2n Under key K1 C1 C2 C3 C4 C5 C2n P1 P2 P3 P4 P5 P2n Under key K2 C1 C2 C3 C4 C5 C2n

5 / 33

slide-6
SLIDE 6

Introduction on Block cipher Yoyo Game Application on AES Conclusion Iterated Block Cipher

Iterated Block Cipher Iterate a round function f several times: Key Schedule F ... F F Master Key p c k1 k2 kr

6 / 33

slide-7
SLIDE 7

Introduction on Block cipher Yoyo Game Application on AES Conclusion Round Function

How to build the round function? Two typical approaches: Feistel Network Substitution Permutation Network (SPN)

7 / 33

slide-8
SLIDE 8

Introduction on Block cipher Yoyo Game Application on AES Conclusion Substitution Permutation Network (SPN)

Substitution Permutation Network (SPN) Plaintext k0 Substitution Permutation k1 Substitution Permutation k2 . . . . . . . . . Substitution Permutation kr Ciphertext

8 / 33

slide-9
SLIDE 9

Introduction on Block cipher Yoyo Game Application on AES Conclusion Substitution Permutation Network (SPN)

Substitution Permutation Network (SPN)

9 / 33

slide-10
SLIDE 10

Introduction on Block cipher Yoyo Game Application on AES Conclusion Cryptanalysis of block ciphers

Cryptanalysis of block ciphers In symmetric key cryptography, security proofs are partial and insufficient An algorithm is secure as long there is no attack against it Make it secure against all known attacks. The more an algorithm is analysed without being broken, the more reliable it is. What is a broken cipher? If a block cipher encrypts messages with a k-bit key, no attack with time complexity less than 2k should be known Otherwise, the cipher is considered as broken (even if the complexity of the attack is not practical).

10 / 33

slide-11
SLIDE 11

Introduction on Block cipher Yoyo Game Application on AES Conclusion Distinguisher Attack

Distinguisher Attack

  • f the weakest cryptographic attack.
  • ne simulates the block cipher for which the cryptography key

has been chosen at random; the other simulates a truly random permutation. Goal: distinguish the two oracles, i.e. decide which oracle is the cipher.

11 / 33

slide-12
SLIDE 12

Introduction on Block cipher Yoyo Game Application on AES Conclusion Yoyo Game

Introduction The Yoyo game was introduced by Biham et al. against Skipjack (Feistel block cipher) Yoyo Game: Suppose a plaintext pair has (or has not) a specific property. It is possible to generate other plaintext pairs that has (or has not) the same property by exchanging a specific word of their ciphertexts and decrypt new ciphertext pair. Open problem: How to do this for SPN ciphers and in particular for AES

12 / 33

slide-13
SLIDE 13

Introduction on Block cipher Yoyo Game Application on AES Conclusion Generic block cipher

Generic SPN block cipher Let α = (α0, α1, . . . , αn−1) ∈ Fn

q denote the state of a block

cipher. Let q = 2k and let s(x) be a kxk permutation s-box. The S-box working on a state is defined by S(α) = (s(α0), s(α1), . . . , s(αn−1)) Let L be a linear layer in the block cipher We consider SPNs of the form:

two rounds: S ◦ L ◦ S

13 / 33

slide-14
SLIDE 14

Introduction on Block cipher Yoyo Game Application on AES Conclusion The yoyo operation

The yoyo operation Definition For a vector c ∈ Fn

2 and a pair of states α, β ∈ Fn q define a new

state ρc(α, β) by ρc(α, β)i =

  • αi

if ci = 1, βi if ci = 0. Example Let c = (0110) and α = (α0, α1, α2, α3) and β = (β0, β1, β2, β3). Then α

′ = ρ(0110)(α, β) = (β0, α1, α2, β3)

and β

′ = ρ(0110)(β, α) = (α0, β1, β2, α3)

Call (α′, β′) = (ρc(α, β), ρc(β, α)) a yoyo pair.

14 / 33

slide-15
SLIDE 15

Introduction on Block cipher Yoyo Game Application on AES Conclusion Properties of the yoyo operation

Properties of the yoyo operation

Lemma Let α′ = ρc(α, β) and β′ = ρc(β, α). a) α′ ⊕ β′ = α ⊕ β b) S(α′) ⊕ S(β′) = S(α) ⊕ S(β) c) L(S(α′)) ⊕ L(S(β′)) = L(S(α)) ⊕ L(S(β)) Proof. a) ρc(α, β)i ⊕ ρc(β, α)i =

  • αi ⊕ βi

if ci = 1, βi ⊕ αi if ci = 0 b) s(ρc(α, β)i) ⊕ s(ρc(β, α)i) =

  • s(αi) ⊕ s(βi)

if ci = 1, s(βi) ⊕ s(αi) if ci = 0 c) the result follows from the linearity of L.

15 / 33

slide-16
SLIDE 16

Introduction on Block cipher Yoyo Game Application on AES Conclusion The zero difference pattern

The zero difference pattern

Definition (Zero difference pattern) Let α = (α0, α1, . . . , αn−1) ∈ Fn

  • q. Define

ν(α) = (z0, z1, . . . , zn−1) ∈ Fn

2

where zi =

  • 1

if αi is zero,

  • therwise.

Example Let α = (α0, α1, 0, α3) . Then ν(α) = (0, 0, 1, 0) Lemma Let α′ = ρc(α, β) and β′ = ρc(β, α). a) ν(α ⊕ β) = ν(S(α) ⊕ S(β))

16 / 33

slide-17
SLIDE 17

Introduction on Block cipher Yoyo Game Application on AES Conclusion Typical use of yoyo operation

Typical use of yoyo operation

p0 ⊕ p1

ν

= p0′ ⊕ p1′ ⇓ S ⇓ ⇑ S−1 ⇑ S(p0) ⊕ S(p1) = L−1(S−1(c0′)) ⊕ L−1(S−1(c1′)) ⇓ L ⇓ ⇑ L−1 ⇑ L(S(p0)) ⊕ L(S(p1)) = S−1(c0′) ⊕ S−1(c1′) ⇓ S ⇓ ⇑ S−1 ⇑ c0 ⊕ c1

ρc

⇒ c0′ ⊕ c1′

Adaptive a) Pick two plaintexts p0 and p1 with a zero difference ν(p0 ⊕ p1). b) Encrypt p0 and p1 to c0 and c1. c) Make two new ciphertexts c0′ = ρc(c0, c1) and c1′ = ρc(c1, c2). d) Decrypt c0′ and c1′. e) ν(p0 ⊕ p1) = ν(p0′ ⊕ p1′)

17 / 33

slide-18
SLIDE 18

Introduction on Block cipher Yoyo Game Application on AES Conclusion AES

Advanced Encryption Standard (AES) Byte-oriented Substitution-Permutation Network. Block size of 128 bits, key size of 128, 192, 256 bits. Number of rounds depend on key size 10, 12, 14 rounds resp. 128 bits of block size, seen as a 4 × 4 matrix of bytes.

18 / 33

slide-19
SLIDE 19

Introduction on Block cipher Yoyo Game Application on AES Conclusion AES

An round of AES Each round is a composition of four byte-oriented transformations: SubBytes ShiftRows MixColumns AddRoundKey

19 / 33

slide-20
SLIDE 20

Introduction on Block cipher Yoyo Game Application on AES Conclusion SubBytes

SubBytes SB yi = s(xi)

20 / 33

slide-21
SLIDE 21

Introduction on Block cipher Yoyo Game Application on AES Conclusion ShiftRows

ShiftRows SR

21 / 33

slide-22
SLIDE 22

Introduction on Block cipher Yoyo Game Application on AES Conclusion MixColumns

MixColumns MC C ← M × C M =     x x + 1 1 1 1 x x + 1 1 1 1 x x + 1 x + 1 1 1 x    

22 / 33

slide-23
SLIDE 23

Introduction on Block cipher Yoyo Game Application on AES Conclusion AddRoundKey

AddRoundKey

23 / 33

slide-24
SLIDE 24

Introduction on Block cipher Yoyo Game Application on AES Conclusion Super-box representation of 2 rounds of AES

Super-box representation of 2 rounds of AES R2 = AK ◦ MC ◦ SR ◦ SB ◦ AK ◦ MC ◦ SR ◦ SB. Rewrite the operations : R2 = AK ◦ MC ◦ SR ◦ (SB ◦ AK ◦ MC ◦ SB) ◦ SR. Then: Super-box = SB ◦ AK ◦ MC ◦ SB

SB MC SB SB MC SB SB MC SB SB MC SB

Figure: Super-box of AES

24 / 33

slide-25
SLIDE 25

Introduction on Block cipher Yoyo Game Application on AES Conclusion 4 Rounds of AES

Four Rounds of AES

SB MC SB MC SB MC SB SB MC SB MC SB MC SB SB MC SB MC SB MC SB SB MC SB MC SB MC SB

Figure: S ◦ L ◦ S in AES

25 / 33

slide-26
SLIDE 26

Introduction on Block cipher Yoyo Game Application on AES Conclusion Four Round AES Yoyo Distinguisher

Four Round AES Yoyo Distinguisher Theorem Four rounds of AES can be distinguished from a random cipher using one pair of chosen plaintexts and one (adaptively) chosen ciphertext pair.

1

Select p0 ⊕ p1 that differ in only one word

2

ask for encryption c0 and c1 of p0 and p1

c0 ⊕ c1 p0 ⊕ p1 S L S

26 / 33

slide-27
SLIDE 27

Introduction on Block cipher Yoyo Game Application on AES Conclusion Four Round AES Yoyo Distinguisher

Four Round AES Yoyo Distinguisher Theorem Four rounds of AES can be distinguished from a random cipher using one pair of chosen plaintexts and one (adaptively) chosen ciphertext pair.

1

Select p0 ⊕ p1 that differ in only one word

2

ask for encryption c0 and c1 of p0 and p1

3

construct c3 = ρc(c0, c1), c4 = ρc(c1, c0)

c0 ⊕ c1 c3 ⊕ c4 p0 ⊕ p1 S L S ρc(ci, ci+1 (mod 2))

27 / 33

slide-28
SLIDE 28

Introduction on Block cipher Yoyo Game Application on AES Conclusion Four Round AES Yoyo Distinguisher

Four Round AES Yoyo Distinguisher Theorem Four rounds of AES can be distinguished from a random cipher using one pair of chosen plaintexts and one (adaptively) chosen ciphertext pair.

1

Select p0 ⊕ p1 that differ in only one word

2

ask for encryption c0 and c1 of p0 and p1

3

construct c3 = ρc(c0, c1), c4 = ρc(c1, c0)

4

get plaintexts p3, p4.

c0 ⊕ c1 c3 ⊕ c4 p0 ⊕ p1 p3 ⊕ p4 S L S S−1 L−1 S−1 ρc(ci, ci+1 (mod 2))

28 / 33

slide-29
SLIDE 29

Introduction on Block cipher Yoyo Game Application on AES Conclusion Four Round AES Yoyo Distinguisher

Four Round AES Yoyo Distinguisher Theorem Four rounds of AES can be distinguished from a random cipher using one pair of chosen plaintexts and one (adaptively) chosen ciphertext pair.

1

Select p0 ⊕ p1 that differ in only one word

2

ask for encryption c0 and c1 of p0 and p1

3

construct c3 = ρc(c0, c1), c4 = ρc(c1, c0)

4

get plaintexts p3, p4.

5

if AES, then same zero difference pattern (prob for random = 2−96)

c0 ⊕ c1 c3 ⊕ c4 p0 ⊕ p1 p3 ⊕ p4 S L S S−1 L−1 S−1 ρc(ci, ci+1 (mod 2))

29 / 33

slide-30
SLIDE 30

Introduction on Block cipher Yoyo Game Application on AES Conclusion Results

Results

Table: Secret-Key Distinguishers for AES

Property Rounds Data Cost

  • Trun. Diff.

3 24.3 CP 211.5 XOR Integral 3 28 CP 28 XOR Yoyo 3 3 ACC 1 XOR

  • Imp. Diff.

4 216.25 CP 222.3 M Integral 4 232 CP 232 XOR Yoyo 4 4 ACC 1 XOR

  • Struct. Diff.

5 233 236.6 M

  • Imp. Diff.

5 298.2 CP 2107 M Integral 5 2128 CC 2128 XOR Yoyo 5 225.8 ACC 224.8 XOR Yoyo 6 2122.83 ACC 2121.83 XOR

30 / 33

slide-31
SLIDE 31

Introduction on Block cipher Yoyo Game Application on AES Conclusion Results

Results

Table: Comparison of key-recovery on 5 rounds of AES

Attack Rounds Data Computation Memory MitM 5 8 CP 264 256

  • Imp. Polyt.

5 15 CP 270 241 Integral 5 211 CP 245.7 small

  • Imp. Diff.

5 231.5 CP 233 238 Boomerang 5 239 ACC 239 233 Yoyo 5 211.3 ACC 229 small

31 / 33

slide-32
SLIDE 32

Introduction on Block cipher Yoyo Game Application on AES Conclusion Conclusion

Conclusion new records 3-6 round distinguishers AES new record 5 round key recovery can be applied directly to similar designs as well can be improved (more rounds) for lightweight designs results published at Asiacrypt 2017

32 / 33

slide-33
SLIDE 33

Introduction on Block cipher Yoyo Game Application on AES Conclusion Conclusion

Thanks for your attention!

33 / 33