26
Hash function based on the SIS problem HEBANT Chlo´ e University of Limoges Summer 2016 HEBANT Chlo´ e Hash function based on the SIS problem Summer 2016 1 / 19

Hash function based on the SIS problem

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hash function based on the SIS problem

Hash function based on the SIS problem

HEBANT Chloe

University of Limoges

Summer 2016

HEBANT Chloe Hash function based on the SIS problem Summer 2016 1 / 19

Page 2: Hash function based on the SIS problem

Introduction

1 Hash function

2 One-way collision-resistant Ajtai function

3 SIS problemSome observations about the SIS problem

4 Hardness proof

5 Hash function constructionMerkle-Damgard constructionHAIFA construction

HEBANT Chloe Hash function based on the SIS problem Summer 2016 2 / 19

Page 3: Hash function based on the SIS problem

Hash function

Hash function

With a function f which have the properties:

one-way

collision-resistant

compression

Iterating f trying to maintain:

pre-image resistance

second pre-image resistance

collision resistance

HEBANT Chloe Hash function based on the SIS problem Summer 2016 3 / 19

Page 4: Hash function based on the SIS problem

Hash function

Definition

Pre-image resistance:Given y = H(x) it is hard to find x ′ such that H(x ′) = y

Second pre-image resistance:Given x it is hard to find x ′ such that H(x) = H(x ′)

Collision resistance:It is hard to find x , x ′ such that H(x) = H(x ′)

HEBANT Chloe Hash function based on the SIS problem Summer 2016 4 / 19

Page 5: Hash function based on the SIS problem

One-way collision-resistant Ajtai function

1 Hash function

2 One-way collision-resistant Ajtai function

3 SIS problemSome observations about the SIS problem

4 Hardness proof

5 Hash function constructionMerkle-Damgard constructionHAIFA construction

HEBANT Chloe Hash function based on the SIS problem Summer 2016 5 / 19

Page 6: Hash function based on the SIS problem

One-way collision-resistant Ajtai function

One-way collision-resistant Ajtai function

Let a matrix A ∈ Zn×mq

Let

fA : {0,±1}m → Znq

z 7→ Az

Theorem

fA is a compression function if m > n log q

HEBANT Chloe Hash function based on the SIS problem Summer 2016 6 / 19

Page 7: Hash function based on the SIS problem

SIS problem

1 Hash function

2 One-way collision-resistant Ajtai function

3 SIS problemSome observations about the SIS problem

4 Hardness proof

5 Hash function constructionMerkle-Damgard constructionHAIFA construction

HEBANT Chloe Hash function based on the SIS problem Summer 2016 7 / 19

Page 8: Hash function based on the SIS problem

SIS problem

Definition

Definition (SIS problem)

Given m uniformly random vectors ai ∈ Znq

Find z 6= 0 ∈ {0,±1}msuch that:

fA(z) := Az =∑

i

ai · zi = 0 ∈ Znq

HEBANT Chloe Hash function based on the SIS problem Summer 2016 8 / 19

Page 9: Hash function based on the SIS problem

SIS problem

Definition

Definition (SIS problem)

Given m uniformly random vectors ai ∈ Znq

Find z 6= 0 ∈ {0,±1}msuch that:

fA(z) := Az =∑

i

ai · zi = 0 ∈ Znq

Theorem

Assuming the hardness of the SIS problem, fA is one-way and collision-resistant

HEBANT Chloe Hash function based on the SIS problem Summer 2016 8 / 19

Page 10: Hash function based on the SIS problem

SIS problem

Definition

Definition (SIS problem)

Given m uniformly random vectors ai ∈ Znq

Find z 6= 0 ∈ {0,±1}msuch that:

fA(z) := Az =∑

i

ai · zi = 0 ∈ Znq

Theorem

Assuming the hardness of the SIS problem, fA is one-way and collision-resistant

Remark

Thanks to Ajtai and his hardness proof, it’s all Minicrypt that we can constructbased on the SIS problem.

HEBANT Chloe Hash function based on the SIS problem Summer 2016 8 / 19

Page 11: Hash function based on the SIS problem

SIS problem Some observations about the SIS problem

Some observations

Definition (General SIS problem)

Given m uniformly random vectors ai ∈ Znq

Find z 6= 0 ∈ Zm of norm ‖z‖ 6 β such that:

fA(z) := Az =∑

i

ai · zi = 0 ∈ Znq

HEBANT Chloe Hash function based on the SIS problem Summer 2016 9 / 19

Page 12: Hash function based on the SIS problem

SIS problem Some observations about the SIS problem

Some observations

Definition (General SIS problem)

Given m uniformly random vectors ai ∈ Znq

Find z 6= 0 ∈ Zm of norm ‖z‖ 6 β such that:

fA(z) := Az =∑

i

ai · zi = 0 ∈ Znq

Remark

Without the constraint on ‖z‖, it is easy to find a solution:Gaussian elimination

Must take β < q:otherwise z = (q, 0, · · · , 0) ∈ Zm is a trivial solution

HEBANT Chloe Hash function based on the SIS problem Summer 2016 9 / 19

Page 13: Hash function based on the SIS problem

SIS problem Some observations about the SIS problem

Hermite normal form

Small but important optimization:

Decompose A = [A1|A2] where A1 ∈ Zn×nq is invertible as a matrix over Zq .

Let B = A−11 · A =

[

In|A]

where A = A−11 · A2

Theorem

A and B have exactly the same set of (short) SIS solutions

HEBANT Chloe Hash function based on the SIS problem Summer 2016 10 / 19

Page 14: Hash function based on the SIS problem

Hardness proof

1 Hash function

2 One-way collision-resistant Ajtai function

3 SIS problemSome observations about the SIS problem

4 Hardness proof

5 Hash function constructionMerkle-Damgard constructionHAIFA construction

HEBANT Chloe Hash function based on the SIS problem Summer 2016 11 / 19

Page 15: Hash function based on the SIS problem

Hardness proof

Reduction: average-case → worst-case

b b b b b

bbbbb

b bp2 bp3 b

bp4bbbb

b bp1 b b b

bbbbb

b b b b b

b

bg1

bg3

bg2 bg4

b

pi ∈ Ln

gi = pi + ei ∈ Rn where ei ∼ Ds(x) =

(

1

s

)n

e−π

‖x‖2

s2

HEBANT Chloe Hash function based on the SIS problem Summer 2016 12 / 19

Page 16: Hash function based on the SIS problem

Hash function construction

1 Hash function

2 One-way collision-resistant Ajtai function

3 SIS problemSome observations about the SIS problem

4 Hardness proof

5 Hash function constructionMerkle-Damgard constructionHAIFA construction

HEBANT Chloe Hash function based on the SIS problem Summer 2016 13 / 19

Page 17: Hash function based on the SIS problem

Hash function construction Merkle-Damgard construction

Merkle-Damgard construction

Definition

Method of building collision-resistant cryptographic hash functions fromcollision-resistant one-way

IV H (m)

m1 m2 mn

f f f

Theorem (Security proof)

Collision in H ⇒ collision in f

HEBANT Chloe Hash function based on the SIS problem Summer 2016 14 / 19

Page 18: Hash function based on the SIS problem

Hash function construction Merkle-Damgard construction

Merkle-Damgard construction

Definition

Method of building collision-resistant cryptographic hash functions fromcollision-resistant one-way

IV H (m)

m1 m2 mn

f f f

Theorem (Security proof)

Collision in H ⇒ collision in f

Remark

This is used for MD5, SHA1, SHA2

HEBANT Chloe Hash function based on the SIS problem Summer 2016 14 / 19

Page 19: Hash function based on the SIS problem

Hash function construction Merkle-Damgard construction

Several undesirable properties

Length extension

Given H(x) of an unknown input x ,it’s easy to find the value of H(pad(x)||y)⇒ possible to find hashes of inputs related to x even though x remainsunknown

HEBANT Chloe Hash function based on the SIS problem Summer 2016 15 / 19

Page 20: Hash function based on the SIS problem

Hash function construction Merkle-Damgard construction

Several undesirable properties

Length extension

Given H(x) of an unknown input x ,it’s easy to find the value of H(pad(x)||y)⇒ possible to find hashes of inputs related to x even though x remainsunknown

Second pre-image

Hyp: the security proof also apply to second pre-image attacksBut: this is not true for long messages

HEBANT Chloe Hash function based on the SIS problem Summer 2016 15 / 19

Page 21: Hash function based on the SIS problem

Hash function construction Merkle-Damgard construction

Several undesirable properties (2)

Fix-points: h = f (h,M)

Multicollisions: many messages with the same hash2004: (Joux) When iterative hash functions are used, finding multicollisions isalmost as easy as finding a single collision

Remark

Joux also prove: The concatenation of hash function is as secure againstpre-image attacks as the strongest of all the hash functions

HEBANT Chloe Hash function based on the SIS problem Summer 2016 16 / 19

Page 22: Hash function based on the SIS problem

Hash function construction HAIFA construction

HAIFA

HAIFA has attractive properties:

simplicity

maintaining the collision resistance of the compression function

increasing the security against second pre-image attacks

prevention of esay-to-use fix points of the compression function

HEBANT Chloe Hash function based on the SIS problem Summer 2016 17 / 19

Page 23: Hash function based on the SIS problem

Hash function construction HAIFA construction

HAIFA construction

IVm H (M)

M1 M2 Mn

f f f

#bits, salt #bits, salt #bits, salt

#bits = the number of bits hashed so far

IVm = f (IV ,m, 0, 0) where m is the hash output size

Padding scheme: pad a single bit of 1 and as many 0 bits to have the goodsize. Final length of:

M: congruent to (n − (t + r)) mod n

length of M: tm: r

HEBANT Chloe Hash function based on the SIS problem Summer 2016 18 / 19

Page 24: Hash function based on the SIS problem

Hash function construction HAIFA construction

HAIFA vs Merkle-Damgard

#bits: prevent the easy exploitation of fix-points

Even if an attacker finds a fix-point h = f (h,M ,#bits, salt) he cannotconcatenate it to itself because #bits has changed

HEBANT Chloe Hash function based on the SIS problem Summer 2016 19 / 19

Page 25: Hash function based on the SIS problem

Hash function construction HAIFA construction

HAIFA vs Merkle-Damgard

#bits: prevent the easy exploitation of fix-points

Even if an attacker finds a fix-point h = f (h,M ,#bits, salt) he cannotconcatenate it to itself because #bits has changed

salt:

all attacks are on-line → no precomputationincreasing the security of digital signature

HEBANT Chloe Hash function based on the SIS problem Summer 2016 19 / 19

Page 26: Hash function based on the SIS problem

Hash function construction HAIFA construction

HAIFA vs Merkle-Damgard

#bits: prevent the easy exploitation of fix-points

Even if an attacker finds a fix-point h = f (h,M ,#bits, salt) he cannotconcatenate it to itself because #bits has changed

salt:

all attacks are on-line → no precomputationincreasing the security of digital signature

Multicollisions: this attacks works against all iterative hashing schemes,independent of their structure

BUT: an attacker cannot precompute these multicollisions before thechoosing of the salt value

HEBANT Chloe Hash function based on the SIS problem Summer 2016 19 / 19