30.01.2013 Views

Logical Analysis and Verification of Cryptographic Protocols - Loria

Logical Analysis and Verification of Cryptographic Protocols - Loria

Logical Analysis and Verification of Cryptographic Protocols - Loria

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

72 CHAPTER 3. PROTOCOLS WITH VULNERABLE HASH FUNCTIONS<br />

Figure 3.1 Mode <strong>and</strong> Sign on Ih<br />

Mode:<br />

Mode(·, 1) = Mode(·, 2) = 0<br />

Mode(g, i) = Mode(f, i) = 0, ∀i ∈ {1, . . . , 4}<br />

Mode(h, 1) = 0<br />

Sign:<br />

Sign(·) = Sign(ɛ) = Sign(f) = Sign(g) = 0<br />

Sign(h) = 1<br />

PROOF.<br />

Let l = r ∈ R(Hh) <strong>and</strong> suppose that l ∈ X <strong>and</strong> l /∈ V ar(r). Let t1 <strong>and</strong> t2<br />

be two different terms in T (Fh, X ) <strong>and</strong> let σ1 <strong>and</strong> σ2 be two substitutions such<br />

that σ1(l) = t1, σ2(l) = t2 <strong>and</strong> σ1(r) = σ2(r). Then, t1 =Hh t2. We deduce that if<br />

l ∈ X <strong>and</strong> l /∈ V ar(r) for a rule l = r ∈ R(Hh), all terms in T (Fh, X ) are equals<br />

modulo Hh which is impossible. Then for any rule l = r ∈ R(Hh), if l ∈ X , we<br />

have l ∈ V ar(r). �<br />

Lemma 14 Let t ∈ T (Fh, X ), we have:<br />

1. If t ′ ∈ Sub(t) <strong>and</strong> Sign(t ′ ) = 1 then t ′ ∈ Subv(t);<br />

2. If Sign(t) = 1 then Sign((t)↓) = 1.<br />

PROOF.<br />

1. Let t ∈ T (Fh, X ) <strong>and</strong> t ′ ∈ Sub(t) such that Sign(t ′ ) = 1, let us prove that<br />

t ′ ∈ Subv(t). Since t ′ ∈ Sub(t), we have two cases:<br />

• t ′ = t, then t ′ ∈ Subv(t).<br />

• t ′ is a strict subterm <strong>of</strong> t, then there exists an integer p ≥ 0, an integer<br />

i ≥ 1 such that t|p.i = t ′ . We have Sign(t|p.i) = 1 <strong>and</strong> by definition<br />

<strong>of</strong> Ih theory, Mode(T op(t|p), i) = 0 then Mode(T op(t|p), i) �= Sign(t|p.i).<br />

Thus t ′ is in ill-moded position in t, which implies that t ′ ∈ Subv(t).<br />

2. Let t be a ground term in T (Fh) such that Sign(t) = 1. We have a finite<br />

sequence <strong>of</strong> rewritings starting from t leading to (t)↓: t →R(Hh) ... →R(Hh)<br />

ti →R(Hh) ti+1 →R(Hh) ... →R(Hh) (t)↓. Suppose that Sign(ti) = 1, <strong>and</strong> let<br />

us prove that Sign(ti+1) = 1. Let l = r be the rule applied in the step i.<br />

By definition <strong>of</strong> rewriting, there exists a ground substitution σ, a position<br />

p such that ti|p = lσ, ti+1 = ti[p ← rσ] <strong>and</strong> lσ > rσ. We have two cases:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!