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.

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

3.3 The model<br />

To analyse cryptographic protocols, we follow in this chapter the symbolic<br />

model described in Chapter 2. To this end, we assume an infinite set <strong>of</strong> variables<br />

X , an infinite set <strong>of</strong> constants C, a set <strong>of</strong> function symbols F. In addition<br />

to what is already intoducted in Chapter 2, we make use here <strong>of</strong> some additional<br />

notions that we will show next.<br />

Given a term t, we recall that V ar(t) denotes the set <strong>of</strong> variables appearing<br />

in t, we recall also that Cons(t) denotes the set <strong>of</strong> free constants<br />

appearing in t, that is, the set <strong>of</strong> constants from C appearing in t. Now,<br />

we extend the definition <strong>of</strong> Cons(t) to take in consideration non-free constants,<br />

i.e. the function symbols in F with arity 0, appearing in t, <strong>and</strong> we<br />

defined all.Cons(t) to denote the set <strong>of</strong> free constants <strong>of</strong> t together with<br />

the set <strong>of</strong> non-free constants <strong>of</strong> t. More formally, all.Cons(t) = Cons(t) ∪<br />

� f ∈ F such that arity(f) = 0 <strong>and</strong> there is a position p ∈ P os(t) with t|p = f � .<br />

We define the set <strong>of</strong> atoms Atoms to be the union <strong>of</strong> V ar <strong>and</strong> all.Cons, if t is a<br />

term, Atoms(t) = V ar(t) ∪ Cons(t).<br />

In the rest <strong>of</strong> this chapter, we assume a complete simplification ordering > on<br />

T (F, X ), i.e. > is a simplification ordering on T (F, X ) total over ground terms<br />

T (F), <strong>and</strong> for which the minimal element is a free constant, i.e. a constant in C,<br />

called cmin. We denote by Cspec the set consisting <strong>of</strong> cmin <strong>and</strong> <strong>of</strong> all symbols in<br />

F <strong>of</strong> arity 0, i.e. Cspec = {cmin} ∪ {f ∈ F such that arity(f) = 0}.<br />

3.3.1 Mode in an equational theory<br />

The notion <strong>of</strong> Mode on a signature F has been initially defined in [74]. Assume<br />

H is an equational theory over a signature F. Assume also that F is partitioned<br />

into two disjoint sets F0 <strong>and</strong> F1, <strong>and</strong> that X is partitioned into two disjoint<br />

sets X0 <strong>and</strong> X1. We first define a signature function Sign on F ∪ Atoms in the<br />

following way:<br />

Sign : F⎧ ∪ Atoms → {0, 1, 2}<br />

⎨ 0 if f ∈ F0 ∪ X0<br />

Sign(f) = 1 if f ∈ F1 ∪ X1<br />

⎩<br />

2 otherwise, i.e. when f is a free constant (f ∈ C)<br />

The function Sign is extended to terms by taking Sign(t) = Sign(T op(t)).<br />

We also assume that there exists a Mode function with arity 2, Mode, such<br />

that Mode(f, i) is defined for every symbol f ∈ F <strong>and</strong> every integer i such that<br />

1 ≤ i ≤ arityf. For all valid f, i we have Mode(f, i) ∈ {0, 1} <strong>and</strong> Mode(f, i) ≤<br />

Sign(f). Thus for all f ∈ F0 <strong>and</strong> for all i we have Mode(f, i) = 0.

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

Saved successfully!

Ooh no, something went wrong!