Logical Analysis and Verification of Cryptographic Protocols - Loria
Logical Analysis and Verification of Cryptographic Protocols - Loria
Logical Analysis and Verification of Cryptographic Protocols - Loria
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: