Top Banner
Hard and easy components of collision search in the Zémor-Tillich hash function: New attacks and reduced variants with equivalent security Christophe Petit UCL Crypto Group 04/22/09 | CRYP-201 Collisions for hash functions C. Petit, J.J. Quisquater, J.P. Tillich, G. Zémor
26

Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

Dec 17, 2015

Download

Documents

Chastity Scott
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

Hard and easy components of collision search in the Zémor-Tillich hash function: New attacks and reduced variants with equivalent security

Christophe PetitUCL Crypto Group04/22/09 | CRYP-201

Collisions for hash functions

C. Petit, J.J. Quisquater, J.P. Tillich, G. Zémor

Page 2: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

2

Cryptographic hash functions

Page 3: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

3

Graph-based hash functions

• Most hash functions can be seen as

• While Zémor-Tillich is more like

Page 4: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

4

Outline

The Zémor-Tillich hash function

Introduction

New attacks

Reduced variants

Conclusion

Page 5: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

The Zémor-Tillich hash function

Page 6: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

6

The Zémor-Tillich hash function

• Introduced at CRYPTO’94 [TZ94]

• Let irreducible over with and let

• Let

• For a message

• Output set has size

Page 7: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

7

The Zémor-Tillich hash function

• Graph and group interpretations of main properties

• Representation problem : given a group and a set , find a product

• Balance problem : find

Page 8: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

8

The Zémor-Tillich hash function

• Previous cryptanalysis:– Malleability

– Invertibility for short messages [SGGB00]

– Trapdoor attacks on [CP94,AK98,SGGB00]

– Projection to finite fields [G96]

– Subgroup attacks for composite [SGGB00]

• This paper:– Generic collision and preimage subgroup attacks in time

(instead of and for birthday and exhaustive)

Page 9: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

New attacks

Page 10: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

10

Generic collision attack

• Sketch:1. Find lower triangular matrices

with meet-in-the-middle random search

2. Combine lower triangular matrices to have a lower diagonal matrix with ones in the diagonal by solving discrete logarithms

3. The resulting matrix has order 2

• In each step, we use

Page 11: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

11

Generic collision attack, 1st step

• If for some

Then for some

• To solve the equation:– Compute and

on various random messages

– For each obtained, store the projective point( )

– After messages, likely to be done

Page 12: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

12

Generic collision attack, 2nd step

• Combine triangular matrices to get a matrix with ones in the diagonal

Use

• Representation problem in finite fields:

Given find

• Equivalent to Discrete Logarithm [BM97]…that is easy here !

Page 13: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

13

Generic collision attack, 3d step

• For any ,

Page 14: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

14

Improvements

• Preimage attack: – A bit more technical, but same ideas

– Same complexity

• Memory-free versions– Transform the birthday search in the first step into a

cycle detection problem

– Use standard techniques (distinguished points,…)

Page 15: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

15

Hard and easy components

• Finding a message hashing to a triangular matrix is “nearly’’ as hard as Finding a message hashing to the identity

• Similarly:– Finding a message hashing to a diagonal matrix

– Given some vector , finding a message hashing to a matrix with left / right eigenvector

are nearly as hard as finding a message hashing to the identity

Page 16: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

16

Hard and easy components

• The output of ZT is bits while its security is bits: how to extract the secure bits ?

Page 17: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

Reduced variants

Page 18: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

18

Vectorial Zémor-Tillich

• The output of ZT is bits while its security is bits: how to extract the secure bits ?

• Vectorial version – Outputs bits

– For a given initial vector , returns

• If the initial vector is chosen randomly, just as secure as the original matrix version

Page 19: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

19

Equivalence between vectorial and matrix versions

• Suppose there is an algorithm finding collision for the vectorial version…

– Run it on a randomWe get where and are the ZT hash values of the colliding messages

– Run it on We get

– Repeat times

Page 20: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

20

Equivalence between vectorial and matrix versions

• Key observations:–

– « Homomorphism »

• To find a collision:– Let

– Find such that

Page 21: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

21

Equivalence between vectorial and matrix versions

• Colliding messages:–

– where if

• The two messages collide to the value

Page 22: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

22

Projective version

• The output of ZT is bits while its security is bits: how to extract the secure bits ?

• Projective version – Outputs bits

– Returns if the vectorial version returns

• If the initial vector is chosen randomly, « nearly » as secure as the initial matrix version

Page 23: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

23

« Quasi » equivalence between projective and vectorial versions

• Suppose there is an algorithm finding collision for the projective version…– Run it on to get and

– Run it on to get and

– After steps, find such that

• Complexity of last step– Hard asymptotically

( discrete logarithms problems + one subset sum problem)

– Feasible for

Page 24: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

Conclusion

Page 25: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

25

Conclusion

• New generic attacks– Collision attack in time (instead of )

– Preimage attack in time (instead of )

• New variants– Vectorial variant as secure

– Projective variant « nearly » as secure

– Best attack against projective variant is birthday search

• Zémor-Tillich is not broken– is too small

– Still a very interesting design

Page 26: Hard and easy components of collision search in the Zémor- Tillich hash function: New attacks and reduced variants with equivalent security Christophe.

Questions ?