Improved Differential Attacks for ECHO and Grstl (extended version - - PowerPoint PPT Presentation

improved differential attacks for echo and gr stl
SMART_READER_LITE
LIVE PREVIEW

Improved Differential Attacks for ECHO and Grstl (extended version - - PowerPoint PPT Presentation

Introduction Results ECHO Grstl Improved Differential Attacks for ECHO and Grstl (extended version available on eprint) Thomas Peyrin CRYPTO 2010 Santa Barbara - November 19, 2010 Introduction Results ECHO Grstl Outline


slide-1
SLIDE 1

Introduction ECHO Grøstl Results

Improved Differential Attacks for ECHO and Grøstl

(extended version available on eprint) Thomas Peyrin CRYPTO 2010

Santa Barbara - November 19, 2010

slide-2
SLIDE 2

Introduction ECHO Grøstl Results

Outline

Introduction ECHO (Benadjila et al.) Grøstl (Gauravaram et al.) Results and future works

slide-3
SLIDE 3

Introduction ECHO Grøstl Results

Outline

Introduction ECHO (Benadjila et al.) Grøstl (Gauravaram et al.) Results and future works

slide-4
SLIDE 4

Introduction ECHO Grøstl Results

SHA-3 competition

The SHA-3 hash function competition:

  • started in October 2008, 64 submissions
  • 51 candidates accepted for the first round
  • 14 semi-finalists selected in 2009
  • finalists to be selected end 2010
  • winner to be announced in 2012

Among the 14 semi-finalists, one can identify 4 AES-based

  • candidates. For example ECHO and Grøstl.
slide-5
SLIDE 5

Introduction ECHO Grøstl Results

What is an AES-like permutation ?

AddConstant r cells r cells

⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕

c bits SubBytes

S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S

ShiftRows MixColumns

MixColumns ◦ ShiftRows ◦ SubBytes ◦ AddConstant(C)

  • AddConstant: in known-key model, just add a round-dependent constant (breaks

natural symmetry of the three other functions)

  • SubBytes: application of a c-bit Sbox (only non-linear part)
  • ShiftRows: rotate column position of all cells in a row, according to its row position
  • MixColumns: linear diffusion layer.
slide-6
SLIDE 6

Introduction ECHO Grøstl Results

Hash function collision attacks

In general, there are two basic tools in order to find a collision: the differential path building technique and the freedom degree utilization method. The differential path building techniques (for SHA-1):

  • local collisions
  • linear perturbation mask
  • non-linear parts

The freedom degree utilization methods (for SHA-1):

  • neutral bits
  • message modifications
  • boomerang trails
slide-7
SLIDE 7

Introduction ECHO Grøstl Results

Hash function collision attacks

In general, there are two basic tools in order to find a collision: the differential path building technique and the freedom degree utilization method. The differential path building techniques (for AES-based):

  • truncated differential paths

The freedom degree utilization methods (for AES-based):

  • rebound attacks
  • multiple-inbound attacks
  • start-from-the-middle attacks
  • super-Sbox attacks

In this talk, we will mostly focus on how to find good differential paths for ECHO and Grøstl

slide-8
SLIDE 8

Introduction ECHO Grøstl Results

The Super-Sbox method

In general, the Super-Sbox method seem to be more powerful than classical rebound or start-from-the-middle attacks. It allows to control 3 rounds in the middle (controlled rounds): a valid pair can be found with one operation on average and a minimal cost of 2r·c.

round 0 ShR MC AC SB round 1 ShR MC AC SB round 2 ShR MC AC SB round 3 ShR MC AC SB round 4 ShR MC AC SB round 5 ShR MC AC SB round 6 ShR AC SB

The rest is fulfilled probabilistically (uncontrolled rounds). In

  • ur example, we have twice a probability 2−8×3 = 2−24 to pay.
slide-9
SLIDE 9

Introduction ECHO Grøstl Results

Outline

Introduction ECHO (Benadjila et al.) Grøstl (Gauravaram et al.) Results and future works

slide-10
SLIDE 10

Introduction ECHO Grøstl Results

ECHO compression function

128-bit cell

CV M P CV’

One round of the internal permutation P

slide-11
SLIDE 11

Introduction ECHO Grøstl Results

ECHO compression function

128-bit cell

CV M P CV’

One round of the internal permutation P

slide-12
SLIDE 12

Introduction ECHO Grøstl Results

ECHO compression function

128-bit cell

CV M P CV’

One round of the internal permutation P

slide-13
SLIDE 13

Introduction ECHO Grøstl Results

Previous attacks

Previous attacks focused on the internal permutation only, because the complexities were already very high.

B.SB0 B.ShR0 B.MC0 B.SB1 B.ShR1 B.MC1 B.SB2 B.ShR2 B.MC2 B.SB3 B.ShR3 B.MC3 B.SB4 B.ShR4 B.MC4 B.SB5 B.ShR5 B.MC5 B.SB6 B.ShR6 B.MC6

For this 7-round trail, one can find a valid pair with 2128×3 = 2384 computations on average ... but with a minimal cost of 2512 because

  • f the super-Sbox method.
slide-14
SLIDE 14

Introduction ECHO Grøstl Results

Improved differential paths for ECHO

Increase the granularity

  • f the path:

F C D 1

Force all intra-word differences to be of the same type

B.SB0 B.ShR0 B.MC0 B.SB1 B.ShR1 B.MC1 B.SB2 B.ShR2 B.MC2 B.SB3 B.ShR3 B.MC3 B.SB4 B.ShR4 B.MC4 B.SB5 B.ShR5 B.MC5 B.SB6 B.ShR6 B.MC6

F F F F F F F F F D D D D D C C C C C C C C C C C C C C C C C C C C D D D D D D D D D D D D D D D D D D D D F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

Problem: this path has an average complexity of 296 comp. per solution, but we still have to pay the huge 2512 minimal cost of the Super-Sbox method anyway. Idea: improve the Super-Sbox technique for this particular differential path: 232 comp. and memory for one solution in the controlled round.

slide-15
SLIDE 15

Introduction ECHO Grøstl Results

Results for ECHO

target rounds computational memory type complexity requirements ECHO-256

  • comp. function

3/8 264 232 free-start collision 3/8 296 232 semi-free-start collision* 4.5/8 296 232 distinguisher ECHO-512

  • comp. function

3/10 296 232 (semi)-free-start collision* 6.5/10 296 232 distinguisher ECHO-SP-256

  • comp. function

3/8 264 232 (semi)-free-start collision 3/8 264 232 distinguisher ECHO-SP-512

  • comp. function

3/10 264 232 free-start collision 3/10 296 232 semi-free-start collision* 4.5/10 296 232 distinguisher

* because of a lack of freedom degrees, these attacks requires some randomization on the

  • salt. Thus they are applicable in the chosen-salt setting only
slide-16
SLIDE 16

Introduction ECHO Grøstl Results

Outline

Introduction ECHO (Benadjila et al.) Grøstl (Gauravaram et al.) Results and future works

slide-17
SLIDE 17

Introduction ECHO Grøstl Results

Grøstl compression function

P Q CV M CV’

Round i of permutations P and Q:

i for P i ⊕ 0xff for Q AddConstant 8 bytes 8 bytes

⊕ ⊕

SubBytes

S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S

ShiftRows MixColumns

MixColumns ◦ ShiftRows ◦ SubBytes ◦ AddConstant(C)

slide-18
SLIDE 18

Introduction ECHO Grøstl Results

The internal differential attack

Problem: all previous attacks build classical differential paths for the permutation P and Q (allows to reach 8/10 rounds) Idea: look at the difference between the two parallel branches It works well on Grøstl because P and Q are almost identical (only the constant addition differs)

∆IN ∆OUT attacked primitive P Q H M H’

Let A and B be s.t. A ⊕ B = ∆IN and Q(A) ⊕ P(B) = ∆OUT We have h(H, M) = ∆IN ⊕ ∆OUT

slide-19
SLIDE 19

Introduction ECHO Grøstl Results

What can we do with such a pair A and B ?

  • Distinguishing attack:
  • assume ∆IN is maintained in a set of x elements
  • assume ∆OUT is maintained in a set of y elements
  • thus h(H, M) is maintained in a set of k = x · y elements
  • we can distinguish the Grøstl compression function from an

ideal one: such pair (H, M) can be generically obtained with 2n/k computations

  • one can also distinguish the permutations P and Q from ideal

permutations (see “limited birthday distinguishers” in [Gilbert Peyrin FSE 2010])

  • Collision attack:
  • because of a lack of freedom degrees, no improvement for the

compression function attacks

  • but we can attack 5/10 rounds of the hash function
slide-20
SLIDE 20

Introduction ECHO Grøstl Results

SB0 ShR0 MC0 SB1 ShR1 MC1 SB2 ShR2 MC2 SB3 ShR3 MC3 SB4 ShR4 MC4 SB5 ShR5 MC5 SB6 ShR6 MC6 SB7 ShR7 MC7 SB8 ShR8 MC8 AC0 AC1 AC2 AC3 AC4 AC5 AC6 AC7 AC8

An example with 9 rounds:

  • we have
  • x = 256
  • y = 2128
  • k = 2184
  • thus the generic complexity is

2512−184 = 2328 operations

  • we can find a valid candidate

with only 280 computations and 264 memory

  • the amount of freedom degrees
  • nly allows us to compute one

such candidate, but generalization of the internal differential attack gives additional freedom degrees

slide-21
SLIDE 21

Introduction ECHO Grøstl Results

Results for Grøstl

target rounds computational memory type section complexity requirements Grøstl-256 internal perm. 9/10 280 264 distinguisher new 10/10 2192 264 distinguisher new Grøstl-512 11/14 2640 264 distinguisher new internal perm. Grøstl-256

  • comp. function

8/10 2112 264 distinguisher [Gilbert Peyrin 2009] 9/10 280 264 distinguisher* new 10/10 2192 264 distinguisher* new Grøstl-512 11/14 2640 264 distinguisher* new

  • comp. function

Grøstl-256 4/10 264 264 collision [Mendel et al. 2010] hash function 5/10 279 264 collision new Grøstl-512 5/14 2176 264 collision [Mendel et al. 2010] hash function 6/14 2177 264 collision new

* for these distinguishers, the amount of available freedom degrees allows us to generate

  • nly one valid candidate with good probability
slide-22
SLIDE 22

Introduction ECHO Grøstl Results

Outline

Introduction ECHO (Benadjila et al.) Grøstl (Gauravaram et al.) Results and future works

slide-23
SLIDE 23

Introduction ECHO Grøstl Results

Results and future works

Our results:

  • first attacks on reduced versions of the ECHO compression

function

  • distinguishing attack against full Grøstl-256 compression

function or internal permutations Future works:

  • find better differential paths for ECHO ([Schl¨

affer - SAC 2010])

  • derive collision attacks for the Grøstl hash function with

internal differential paths ([Ideguchi et al. - eprint 2010])

  • try to apply internal differential attack to other schemes

Be careful when designing a scheme: also check the differential paths between the internal branches