36
Introduction State-recovery for HMAC-HAIFA Short message attacks Improved Generic Attacks Against Hash-based MACs and HAIFA Itai Dinur 1 Gaëtan Leurent 2 1 ENS, France 2 Inria, France Crypto 2014 I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 1 / 21

Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Improved Generic Attacks AgainstHash-based MACs and HAIFA

Itai Dinur1 Gaëtan Leurent2

1ENS, France

2Inria, France

Crypto 2014

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 1 / 21

Page 2: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

HMAC with GOST

HMAC

I Very common MAC algorithm

H(K⊕ opad ‖H(K⊕ ipad ‖M))

GOST R 34.11-94

I Russian hash funct. standardI Uses an internal checksum

HMAC-GOST

IV

K⊕ ipad

h

M0

h

M1

h

M2 |M|

h g IV

K⊕ opad

h h

h

g t

I Expect ` bit security for key-recovery (`-bit state, key, tag)I Key recovery attack in 23`/4 [LPW, AC 2013]

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 2 / 21

Page 3: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

HMAC with GOST

HMAC

I Very common MAC algorithm

H(K⊕ opad ‖H(K⊕ ipad ‖M))

GOST R 34.11-94

I Russian hash funct. standardI Uses an internal checksum

HMAC-GOST

IV

K⊕ ipad

h

M0

h

M1

h

M2 |M|

h g IV

K⊕ opad

h h

h

g t

I Expect ` bit security for key-recovery (`-bit state, key, tag)I Key recovery attack in 23`/4 [LPW, AC 2013]

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 2 / 21

Page 4: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

HMAC with GOST

HMAC

I Very common MAC algorithm

H(K⊕ opad ‖H(K⊕ ipad ‖M))

GOST R 34.11-94

I Russian hash funct. standardI Uses an internal checksum

HMAC-GOST

IV

K⊕ ipad

h

M0

h

M1

h

M2 |M|

h g IV

K⊕ opad

h h

h

g t

I Expect ` bit security for key-recovery (`-bit state, key, tag)I Key recovery attack in 23`/4 [LPW, AC 2013]

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 2 / 21

Page 5: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

HMAC-GOST key recoveryI GOST uses an internal checksum

IV

K⊕ ipad

h`

M0

x0

h`

M1

x1

h`

M2

x2 x?`

|M|

h g IV

K⊕ opad

h h

h

gn

t

Key recovery attack

I Use a state-recovery attack to recover x? [LPW, AC 2013]I Chosen message difference gives chosen checksum differenceI “Related-key attack” on the finalization

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 3 / 21

Page 6: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

HMAC-GOST key recoveryI GOST uses an internal checksum

IV

K⊕ ipad

h1`

M0

x0

h2`

M1

x1

h3`

M2

x2 x?`

|M|

h0 g IV

K⊕ opad

h0 h1

h

gn

t

Question

I The is a new GOST hash function: StreebogI Also has a checksumI Uses a block-counter (HAIFA)

I Can we build a key-recovery attack against HMAC-Streebog?

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 3 / 21

Page 7: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Security of HMAC

I Security proof up to 2`/2

I Matching attack for existential forgeryI We used to assume that many harder attack should cost 2`

Recent work

I State-recovery attackI 2`/` using multi-collisions [NSWY13]I 2`/2 using the cycle structure of random graphs [LPW12]

I Universal forgery attackI 25`/6 using the cycle structure of random graphs [PW14]I 23`/4 improvement [CPSW14]

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 4 / 21

Page 8: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Limitations of recent attacks

In this work we address two important limitations of recent attacks:

1 Attacks are not applicable to HAIFA-based hash functionI Compression function tweak for each block (counter)I Used in Blake, Skein, Streebog, ...

2 Most of these attack use queries of length ≈ 2`/2

I In practice, many hash functions limit the message lengthe.g. 255 blocks for SHA-1 (` = 160) and SHA-256 (` = 256)

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 5 / 21

Page 9: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Outline

IntroductionHMAC-GOSTRecent work

State-recovery for HMAC-HAIFAPrevious workNew results

Short message attacksState-recoveryUniversal forgery

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 6 / 21

Page 10: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Hash-based MAC with a HAIFA hash function

h0`

m0

x0

h1`

m1

x1

h2`

m2

x2 x3MACK(M)

` n

|M|

Ikgk

I Generic model (HMAC, Sandwich-MAC, Envelope-Mac)

I Unkeyed compression functions hiI Each compression function is different with HAIFA

I `-bit internal stateI Key dependant initialization Ik

I Key dependant finalization gk

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 7 / 21

Page 11: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

State-recovery attacksI Send messages to the oracle

Ik MAC(M0)h0 h1 h2 gk

Ik MAC(M1)h0 h1 h2 gk

Ik MAC(M2)h0 h1 h2 gk

Ik MAC(M3)h0 h1 h2 gk

Ik MAC(M4)h0 h1 h2 gk

Mi

Online Structure

I Do some computations offlinewith the compression function

$ h0 h1 h2

$ h0 h1 h2

$ h0 h1 h2

$ h0 h1 h2

$ h0 h1 h2

Mi

Offline Structure

I Match the sets of points?I How to test equality? Online chaining values unknownI How many equality test do we need?

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 8 / 21

Page 12: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Special statesSpecial states in a small set are more likely to match

Previous work [LPW14]

I Entry point of the main cycle (1 point)I Collisions found with long chains (2`−2s points)

Not applicable to HAIFA

We use the entropy loss from iterations of random function

Theorem (Entropy loss)

Let f1, f2, . . . , f2s be a fixed sequence of random functions;the image of g2s , f2s ◦ . . . ◦ f2 ◦ f1 contains about 2`−s points.

cf. [PK14]

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 9 / 21

Page 13: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Special statesSpecial states in a small set are more likely to match

Previous work [LPW14]

I Entry point of the main cycle (1 point)I Collisions found with long chains (2`−2s points)

Not applicable to HAIFA

We use the entropy loss from iterations of random function

Theorem (Entropy loss)

Let f1, f2, . . . , f2s be a fixed sequence of random functions;the image of g2s , f2s ◦ . . . ◦ f2 ◦ f1 contains about 2`−s points.

cf. [PK14]

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 9 / 21

Page 14: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

First attemptI Chains of length 2s, with a fixed message C

Ik

h0

h1 h2 hS gk

h0

h1 h2 hS gk

h0

h1 h2 hS gk

h0h1 h2 hS gk

h0 h1 h2 hS gk

[i] C

S=2s

2u

Online Structure

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

C

S=2s

2t

Offline Structure

1 Evaluate 2t chains offline s + t + u = `Build filters for endpoints

2 Query 2u message Mi = [i] ‖ CTest endpoints with filters Cplx: 2s+t+u

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 10 / 21

Page 15: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Building filtersFilters to compare online and online states

Test whether the state reached after processing M is equal to x

I Collisions are preserved by the finalization(for same-length messages)

2 MAC(M||p) ?= MAC(M||p′)

Ikx?

h0

Mh1h1

p

p′

gk

Online Structure

1 Find a collision:h(x, p) = h(x, p′)

x h1h1

p

p′

Offline StructureI. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 11 / 21

Page 16: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Building filtersFilters to compare online and online states

Test whether the state reached after processing M is equal to x

I Collisions are preserved by the finalization(for same-length messages)

2 MAC(M||p) ?= MAC(M||p′)

Ikx?

h0

Mh1h1

p

p′

gk

Online Structure

1 Find a collision:h(x, p) = h(x, p′)

x h1h1

p

p′

Offline StructureI. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 11 / 21

Page 17: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Building filtersFilters to compare online and online states

Test whether the state reached after processing M is equal to x

I Collisions are preserved by the finalization(for same-length messages)

2 MAC(M||p) ?= MAC(M||p′)

Ikx?

h0

Mh1h1

p

p′

gk

Online Structure

1 Find a collision:h(x, p) = h(x, p′)

x h1h1

p

p′

Offline StructureI. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 11 / 21

Page 18: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

First attemptI Chains of length 2s, with a fixed message C

Ik

h0

h1 h2 hS gk

h0

h1 h2 hS gk

h0

h1 h2 hS gk

h0h1 h2 hS gk

h0 h1 h2 hS gk

[i] C

S=2s

2u

Online Structure

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

C

S=2s

2t

Offline Structure

1 Evaluate 2t chains offline s + t + u = `Build filters for endpoints

2 Query 2u message Mi = [i] ‖ CTest endpoints with filters Cplx: 2s+t+u

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 12 / 21

Page 19: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Online filtersI Using the filters is too expensive.I If we build filters online, using them is cheap.

1 Find p, p′ s.t.MAC(M||p) = MAC(M||p′)

Ikx?

h0

Mh1h1

p

p′

gk

Online Structure

2 h(x,m)?= h(x,m′)

x h1h1

p

p′

Offline Structure

Cost Build Test

Offline filter 2`/2 2s

Online filter 2`/2+s 1I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 13 / 21

Page 20: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

First attack on HMAC-HAIFAI Chains of length 2s, with a fixed message C

Ik

h0

h1 h2 hS gk

h0

h1 h2 hS gk

h0

h1 h2 hS gk

h0h1 h2 hS gk

h0 h1 h2 hS gk

[i] C

S=2s

2u

Online Structure

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

C

S=2s

2t

Offline Structure

1 Query 2u message Mi = [i] ‖ C s + t + u = `Build filters for Mi Cplx: 2s+u+`/2

2 Evaluate 2t chains offline Cplx: 2t+s

Test endpoints with filters Cplx: 2t+u

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 14 / 21

Page 21: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

First attack on HMAC-HAIFAI Chains of length 2s, with a fixed message C

Ik

h0

h1 h2 hS gk

h0

h1 h2 hS gk

h0

h1 h2 hS gk

h0h1 h2 hS gk

h0 h1 h2 hS gk

[i] C

S=2s

2u

Online Structure

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

C

S=2s

2t

Offline Structure

1 Query 2u message Mi = [i] ‖ C s + t + u = `Build filters for Mi Cplx: 2s+u+`/2

2 Evaluate 2t chains offline Cplx: 2t+s

Test endpoints with filters Cplx: 2t+u

Optimal complexity

2`−s, for s ≤ `/6(using u = s)Minimum: 25`/6

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 14 / 21

Page 22: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Diamond filtersI Building filers is a bottleneck.I Can we amortize the cost of building many filters?

Diamond structure [Kelsey & Kohno, EC’06]

Herd N initial states to a common stateI Try ≈ 2`/2/

√N msg from each state.

I Whp, the initial states can be pairedI Repeat... Total ≈

√N · 2`/2

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 15 / 21

Page 23: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Diamond filtersI Building filers is a bottleneck.I Can we amortize the cost of building many filters?

Diamond structure [Kelsey & Kohno, EC’06]

Herd N initial states to a common stateI Try ≈ 2`/2/

√N msg from each state.

I Whp, the initial states can be pairedI Repeat... Total ≈

√N · 2`/2

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 15 / 21

Page 24: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Diamond filtersI Building filers is a bottleneck.I Can we amortize the cost of building many filters?

Diamond filter

1 Build a diamond structure2 Build a collision filter for the final state

I Can also be built online

I Building N offline filters:√

N · 2`/2 rather than N · 2`/2

I Building N online filters:√

N · 2`/2+s rather than N · 2`/2+s

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 15 / 21

Page 25: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Improved attack on HMAC-HAIFAI Chains of length 2s, with a fixed message C

Ik

h0

h1 h2 hS

h0

h1 h2 hS

h0

h1 h2 hS

h0h1 h2 hS

h0 h1 h2 hS

gk

[i] C

S=2s

2u

Online Structure

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

C

S=2s

2t

Offline Structure

1 Query 2u message Mi = [i] ‖ C s + t + u = `Build diamond filter for Mi Cplx: 2s+u/2+`/2

2 Evaluate 2t chains offline Cplx: 2t+s

Test endpoints with filters Cplx: 2t+u

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 16 / 21

Page 26: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Improved attack on HMAC-HAIFAI Chains of length 2s, with a fixed message C

Ik

h0

h1 h2 hS

h0

h1 h2 hS

h0

h1 h2 hS

h0h1 h2 hS

h0 h1 h2 hS

gk

[i] C

S=2s

2u

Online Structure

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

$ h1 h2 hS

C

S=2s

2t

Offline Structure

1 Query 2u message Mi = [i] ‖ C s + t + u = `Build diamond filter for Mi Cplx: 2s+u/2+`/2

2 Evaluate 2t chains offline Cplx: 2t+s

Test endpoints with filters Cplx: 2t+u

Optimal complexity

2`−s, for s ≤ `/5(using u = s)Minimum: 24`/5

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 16 / 21

Page 27: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Outline

IntroductionHMAC-GOSTRecent work

State-recovery for HMAC-HAIFAPrevious workNew results

Short message attacksState-recoveryUniversal forgery

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 17 / 21

Page 28: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Improved trade-offs for state-recovery attacks

1 2`/4 2`/22`/2

23`/4

2`

Length of the messages

Com

plex

ity

HAIFA mode

New

1 2`/4 2`/22`/2

23`/4

2`

Length of the messages

Merkle-Damgård mode

[LPW13]New

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 18 / 21

Page 29: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Improved universal forgery

I Previous universal forgery attacks require long messageI Using the techniques developed in this paper,

we show attacks with short messages.

Length

Ref Challenge Queries Complexity Min

[PW14] 2t 2`/2 2`−t, t < `/6 25`/6

[CPSW14] 2t 2`/2 2`−t, t < `/4 23`/4

New 2t 22t 2`−t, t < `/7 26`/7

New 22t 22t 2`−t, t < `/5 24`/5

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 19 / 21

Page 30: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Conclusion

1 Improved state-recovery attacks on HMAC with Merkle-DamgårdI Reduced complexity when the message length is limited

e.g. SHA-1, SHA-2, HAVAL, Whirlpool, ...

2 Improved universal-forgery on HMAC with Merkle-DamgårdI Applicable with limited message length

e.g. SHA-1, SHA-2, HAVAL, Whirlpool, ...

3 State-recovery attack on HMAC with HAIFAI Key-recovery against HMAC-Streebog-512 with complexity 2419

I State-recovery for BLAKE, Skein, ...

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 20 / 21

Page 31: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Introduction State-recovery for HMAC-HAIFA Short message attacks

Attack complexityState-recovery Universal forgery

Function Mode ` s [LPW13] New [CSPW14] New

SHA-1 MD 160 255 2120 2107 N/A 2132

SHA-256 MD 256 255 2201 2192 N/A 2228

SHA-512 MD 512 2118 2394 2384 N/A 2453

HAVAL MD 256 254 2202 2192 N/A 2229

WHIRLPOOL MD 512 2247 2384 2283 N/A 2446

BLAKE-256 HAIFA 256 255 N/A 2213 N/A N/ABLAKE-512 HAIFA 512 2118 N/A 2419 N/A N/ASkein-512 HAIFA 512 290 N/A 2419 N/A N/A

Key recovery

[LPW13] New

Streebog HAIFA+σ 512 ∞ N/A 2419 N/A 2419

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 21 / 21

Page 32: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Collisions as special states Short message attack on HMAC-HAIFA

Extra Slides

Collisions as special states

Short message attack on HMAC-HAIFA

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 22 / 21

Page 33: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Collisions as special states Short message attack on HMAC-HAIFA

Collisions as special states

Observation: collision finding algorithms return biased collisions.

I For a fixed function, using chains of length 2s,the entropy of collisions decreases as 2`−2s

I Conjectured in [LPW14], proven here

I For a sequence of independent functions, using chains of length 2s,the entropy of collisions decreases as 2`−s

the entropy of collisions at a fixed index decreases as 2`−2s

Lemma (Entropy of HAIFA collision with messages of length 2s)

Let (x, x′) and (y, y′) be two pairs of chains, colliding at the same step i,with x = xi = x′i , y = yi = y′i .Then Pr [x = y] = Θ(22s−`)

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 23 / 21

Page 34: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Collisions as special states Short message attack on HMAC-HAIFA

Collisions as special states

Observation: collision finding algorithms return biased collisions.

I For a fixed function, using chains of length 2s,the entropy of collisions decreases as 2`−2s

I Conjectured in [LPW14], proven here

I For a sequence of independent functions, using chains of length 2s,the entropy of collisions decreases as 2`−s

the entropy of collisions at a fixed index decreases as 2`−2s

Lemma (Entropy of HAIFA collision with messages of length 2s)

Let (x, x′) and (y, y′) be two pairs of chains, colliding at the same step i,with x = xi = x′i , y = yi = y′i .Then Pr [x = y] = Θ(22s−`)

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 23 / 21

Page 35: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Collisions as special states Short message attack on HMAC-HAIFA

Short message attack on HMAC-HAIFAI Chains of length 2s, with a fixed message C

Ik

gk

[i] C

{2c1 collisions}2s

2u

Online Structure

$

$

...

{2c2 collisions}

C

2s

2t

Offline Structure1 Locate 2c1 collisions online c1 + c2 + s = `

Build diamond filter Cplx: 2s+c1/2+`/2

2 Locate 2c2 collisions offline Cplx: 2s/2+c2/2+`/2

Test with filters Cplx: 2c1+c2−s

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 24 / 21

Page 36: Improved Generic Attacks Against Hash-based MACs and HAIFA · GOST R 34.11-94 I Russian hash funct. standard I Uses an internal checksum HMAC-GOST IV K Mipad h M 0 h M 1 h 2 jMj h

Collisions as special states Short message attack on HMAC-HAIFA

Short message attack on HMAC-HAIFAI Chains of length 2s, with a fixed message C

Ik

gk

[i] C

{2c1 collisions}2s

2u

Online Structure

$

$

...

{2c2 collisions}

C

2s

2t

Offline Structure1 Locate 2c1 collisions online c1 + c2 + s = `

Build diamond filter Cplx: 2s+c1/2+`/2

2 Locate 2c2 collisions offline Cplx: 2s/2+c2/2+`/2

Test with filters Cplx: 2c1+c2−s

Optimal complexity

2`−2s, for s ≤ `/10(using u = s)Minimum: 24`/5

I. Dinur & G. Leurent (ENS & Inria) Improved Generic Attacks Against Hash-based MACs and HAIFA Crypto 2014 24 / 21