The Grindahl hash functions Sren S. Thomsen joint work with Lars - - PowerPoint PPT Presentation

the grindahl hash functions
SMART_READER_LITE
LIVE PREVIEW

The Grindahl hash functions Sren S. Thomsen joint work with Lars - - PowerPoint PPT Presentation

Outline Introduction Grindahl Design considerations Concluding remarks The Grindahl hash functions Sren S. Thomsen joint work with Lars R. Knudsen Christian Rechberger Fast Software Encryption March 2628, 2007 Luxembourg 1 / 17


slide-1
SLIDE 1

Outline Introduction Grindahl Design considerations Concluding remarks

The Grindahl hash functions

Søren S. Thomsen joint work with Lars R. Knudsen Christian Rechberger Fast Software Encryption March 26–28, 2007 Luxembourg

1 / 17

slide-2
SLIDE 2

Outline Introduction Grindahl Design considerations Concluding remarks

1 Introduction 2 Grindahl 3 Design considerations 4 Concluding remarks

2 / 17

slide-3
SLIDE 3

Outline Introduction Grindahl Design considerations Concluding remarks

MD4-style hash functions

Many hash functions; MD4, MD5, RIPE-MD, SHA-1, . . . n-bit output, n-bit state Simple (fast) state update Repeat many times

3 / 17

slide-4
SLIDE 4

Outline Introduction Grindahl Design considerations Concluding remarks

Attack methods

Local collisions:

Introduce difference “Undo” difference as quickly as possible (probabilistic)

Small difference means behaviour is more predictable Success with high probability

4 / 17

slide-5
SLIDE 5

Outline Introduction Grindahl Design considerations Concluding remarks

Thoughts behind our design

Ensure quick diffusion (in both directions) Limited control over differences (All) collision trails are wide Block cipher techniques

5 / 17

slide-6
SLIDE 6

Outline Introduction Grindahl Design considerations Concluding remarks

Grindahl-256

Based on Rijndael block cipher 256-bit output State: 4 × 13 matrix of bytes (initially all zero) SubBytes and MixColumns as in Rijndael ShiftRows rotates right by 1, 2, 4, 10 positions

6 / 17

slide-7
SLIDE 7

Outline Introduction Grindahl Design considerations Concluding remarks

Grindahl-256: round function

4-byte message block replaces first state column New operation: AddConstant. Flips last bit of last byte Do one round: AddConstant, SubBytes, ShiftRows, MixColumns Round function a permutation → invertible

7 / 17

slide-8
SLIDE 8

Outline Introduction Grindahl Design considerations Concluding remarks

Grindahl-256: output

After last message block, do 8 more (“blank”) rounds (permutation) Output right-most 8 columns

8 / 17

slide-9
SLIDE 9

Outline Introduction Grindahl Design considerations Concluding remarks

Grindahl-256: ShiftRows

Why change ShiftRows? Improve diffusion speed Every state byte depends on every message byte after 4 rounds

9 / 17

slide-10
SLIDE 10

Outline Introduction Grindahl Design considerations Concluding remarks

How a message block affects the state

Message injected:

10 / 17

slide-11
SLIDE 11

Outline Introduction Grindahl Design considerations Concluding remarks

How a message block affects the state

After ShiftRows (1st round):

10 / 17

slide-12
SLIDE 12

Outline Introduction Grindahl Design considerations Concluding remarks

How a message block affects the state

After MixColumns (1st round):

10 / 17

slide-13
SLIDE 13

Outline Introduction Grindahl Design considerations Concluding remarks

How a message block affects the state

After ShiftRows (2nd round):

10 / 17

slide-14
SLIDE 14

Outline Introduction Grindahl Design considerations Concluding remarks

How a message block affects the state

After MixColumns (2nd round):

10 / 17

slide-15
SLIDE 15

Outline Introduction Grindahl Design considerations Concluding remarks

How a message block affects the state

After ShiftRows (3rd round):

10 / 17

slide-16
SLIDE 16

Outline Introduction Grindahl Design considerations Concluding remarks

How a message block affects the state

After MixColumns (3rd round):

10 / 17

slide-17
SLIDE 17

Outline Introduction Grindahl Design considerations Concluding remarks

How a message block affects the state

Wiping first column:

10 / 17

slide-18
SLIDE 18

Outline Introduction Grindahl Design considerations Concluding remarks

How a message block affects the state

After ShiftRows (4th round):

10 / 17

slide-19
SLIDE 19

Outline Introduction Grindahl Design considerations Concluding remarks

How a message block affects the state

After MixColumns (4th round):

10 / 17

slide-20
SLIDE 20

Outline Introduction Grindahl Design considerations Concluding remarks

Grindahl-256: AddConstant

Why AddConstant? Without AddConstant: 13 equal columns invariant d c b a d c b a d c b a d c b a d c b a d c b a d c b a d c b a d c b a d c b a d c b a d c b a d c b a

11 / 17

slide-21
SLIDE 21

Outline Introduction Grindahl Design considerations Concluding remarks

Grindahl-256: blank rounds

Why 8 blank rounds? 4 rounds required to make output depend on last block Security margin (Chicken-hash)

12 / 17

slide-22
SLIDE 22

Outline Introduction Grindahl Design considerations Concluding remarks

Grindahl-256: columns

Why 13 columns? At least 10 columns, otherwise birthday attack Round function invertible → meet-in-the-middle Hence, (2nd) preimage below 2n (claim 2n/2) (Chicken-hash again)

13 / 17

slide-23
SLIDE 23

Outline Introduction Grindahl Design considerations Concluding remarks

Grindahl-256: diffusion

Collision requires intermediate state with ≥ half the bytes active Internal collision requires > 4 input rounds

14 / 17

slide-24
SLIDE 24

Outline Introduction Grindahl Design considerations Concluding remarks

Grindahl-256: speed

Optimisations known from AES Many trade-offs, good performance across platforms Low memory requirements Rough comparison with crypto++ (Pentium 4 impl.): Function Relative time/byte Grindahl-256 1.0 AES-128 ∼1.0 SHA-256 ∼1.4

15 / 17

slide-25
SLIDE 25

Outline Introduction Grindahl Design considerations Concluding remarks

Concluding remarks

We propose the Grindahl hash functions

two instances, Grindahl-256 and Grindahl-512 large class of hash functions (highly parameterizable) can also be used as compression function

Some properties are

quick diffusion high degree of non-linearity fast implementations across platforms implementation research “reusable” from the AES low memory requirements

16 / 17

slide-26
SLIDE 26

Outline Introduction Grindahl Design considerations Concluding remarks

Thank you for listening!

17 / 17