tiger: a fast hash eric seidel cs 257: security engineering

23
Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Upload: bonnie-griffith

Post on 16-Dec-2015

226 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Tiger: a fast hash

Eric SeidelCS 257: Security Engineering

Page 2: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Overview

Hashing: a quick review

Tiger

Why Tiger?

How it works

Q & A

Page 3: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Hashing: A review

Non-linear, (generally) non-reversable function

Purpose: smaller, unique representation of data. (Integrity)

Important to have high avalanche

Important to be fast.

Page 4: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Tiger

Designed for 64-bit processors

Produces larger 192-bit hash (128 compat.)

Designed by Ross Anderson, Eli Biham

Drop-in for MD5

Page 5: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Why Tiger?

Hashing should be fast.

32-bit hashing on 64-bit machine runs at half efficiency.

Uses s-box concept for better non-linearity.

Faster than SHA-1, MD5 on 64-bit

Possibly more secure than SHA-1 or MD5

Page 6: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

How Tiger Works...

Page 7: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Overview

Tiger operates on 512-bit blocks

Each block is broken into 8, 64-bit words

Tiger returns 3 (or 2) 64-bit words

Page 8: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Overview Diagram

Message Pad Length

512-bit Blocks

64-bit Words

192-bit Hash

Page 9: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Stages

Save ABC

Pass 1, Key Schedule 1

Pass 2, Key Schedule 2

Pass 3

feed-forward ABC

Page 10: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Save ABC

ABC are initially salted with speical values.

At the beginning of each successive round ABC are saved for later use with feed-forward.

64_bit_word aa = a, bb = b, cc = c;

Page 11: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Pass 1, detail

1 pass = 8 rounds, 1 for each 64-bit word

64-bit words (keys) referred to as x0 - x7

Each pass uses a multiplier (5,7,9) to redistribute bits between s-box lookups.

round(a,b,c,x0, mul);

Page 12: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Round function

round(a,b,c,x, multiplier):

c = c ^ xa = a – (s1[c1] ^ s2[c3] ^ s3[c5] ^ s4[c7])b = b + (s4[c2] ^ s3[c4] ^ s2[c6] ^ s1[c8])b = b * multiplier

^ denotes XOR

Page 13: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

S-Boxes

s-boxes compose a non-linear function

map from 8 bits into 64.

Available on the author’s site:http://www.cs.technion.ac.il/~biham/

Page 14: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Key Schedule

Key-Schedule re-distributes input bits.

Introduces further algorithm complexity.

Rotates words within block.

Each block is only looked at 3 times in the passes, this further distributes the bits.

Page 15: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Feed-Forward

Generates new carry values from previous

a = a ^ aa ;

b = b - bb ;

c = c + cc ;

Page 16: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Java Demo

Page 17: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Further Thoughts...

Page 18: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Final thoughts

Security

Complexity

Popularity

Performance

Page 19: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Security

Good Avalanche

Long hash (large keyspace)

Little literature

Page 20: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Complexity

More complex than either MD5 or SHA-1

Potential barrier to entry

Page 21: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Popularity

Complexity disadvantage

Relatively new (MDx, and SHA much older)

No pressing need

Page 22: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Performance

Better than SHA-1, MD5 on 64-bit

Comparable on 32-bit

Makes (relatively) large TMTO

Slow (and large!) in hardware

Page 23: Tiger: a fast hash Eric Seidel CS 257: Security Engineering

Q & A