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.
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].