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.

26 CHAPTER 2. PROTOCOL ANALYSIS USING CONSTRAINT SOLVING<br />

1. It may terminate with failure because one <strong>of</strong> the H-equations can not be<br />

ordered using >, or the normal forms <strong>of</strong> the terms in one <strong>of</strong> the critical<br />

pairs are distinct <strong>and</strong> can not be ordered using >. In this case, one could<br />

try to run the procedure again using another reduction order;<br />

2. it may terminate successfully with output Rn;<br />

3. it may run for ever since infinitely many new rules are generated.<br />

Given an equational theory H <strong>and</strong> a reduction order >, in [21], the authors<br />

showed that if the basic completion procedure applied on (H, >) terminates<br />

successfully <strong>and</strong> outputs Rn, then Rn is a finite convergent rewrite system generating<br />

H, <strong>and</strong> if the basic completion procedure applied on (H, >) does not<br />

terminate, then R∞ = ∪i≥0Ri is an infinite convergent rewrite system generating<br />

H.<br />

Bachmair completion procedure<br />

The basic completion procedure described above usually generates a huge number<br />

<strong>of</strong> rules, <strong>and</strong> all these rules must be taken into account when computing critical<br />

pairs. This implies that both run time <strong>and</strong> space requirements for the completion<br />

process are <strong>of</strong>ten too high <strong>and</strong> unacceptable. In what follows, we present<br />

an improved completion procedure that extends basic completion by simplification<br />

rules. The goal <strong>of</strong> this procedure is to transform an initial pair (H, ∅),<br />

where H is an equational theory, into a pair (∅, R) such that R is a convergent<br />

rewrite system equivalent to H.<br />

This procedure, introduced in [23], is described by the set <strong>of</strong> rules given in<br />

Figure 2.2.<br />

A completion procedure is a program that accepts as input an equational<br />

theory H <strong>and</strong> a reduction order >, <strong>and</strong> uses the rules <strong>of</strong> Figure 2.2 to generate a<br />

(finite or infinite) sequence:<br />

(H0, R0) ⊢ (H1, R1) ⊢ . . .<br />

where H0 = H, R0 = ∅, <strong>and</strong> (H, R) ⊢ (H ′ , R ′ ) means that (H ′ , R ′ ) is obtained<br />

from (H, R) by applying a rule from Figure 2.2. This sequence is called a run <strong>of</strong><br />

the completion procedure on inputs H <strong>and</strong> >.<br />

A run is said to be fair if<br />

CP (∪i≥0 ∩j≥i Rj) ⊆ ∪i≥0Hi<br />

Given a fair run, G. Huet [121] proved that if there is a step n in the run where<br />

Hn = ∅ then Rn is convergent rewrite system equivalent to H.<br />

When an equational theory H is generated by a convergent rewrite system<br />

R, we have that s =H t if <strong>and</strong> only if s ↓= t ↓ [123, 120].

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

Saved successfully!

Ooh no, something went wrong!