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.

7.4. FORMALISING VOTER VERIFIABILITY PROPERTY 185<br />

Definition 59 (Input-storing process) Given channel c <strong>and</strong> process ν ñ.P where P<br />

has no restrictions, the input-storing process is defined as ν k, ñ.P c,ñ,k where:<br />

• 0 c,ñ,k �= 0<br />

• (P | Q) c,ñ,k �= P c,ñ,k | Q c,ñ,k<br />

• (ν m.P ) c,ñ,k �= ν m.P c,ñ,k<br />

• (a(x).P ) c,ñ,k �= a(x).c〈senc(x, k)〉.P c,ñ,k if a ∈ ñ<br />

• (a(x).P ) c,ñ,k �= a(x).c〈x〉.P c,ñ,k otherwise<br />

• (a〈M〉.P ) c,ñ,k �= a〈M〉.P c,ñ,k<br />

• (if ψ then P else Q) c,ñ,k �=if ψ then P c,ñ,k else Q c,ñ,k<br />

Given a voting process specification 〈V, P, ˜s, ˜t, ˜m〉 <strong>and</strong> votes ¯v1, . . . , ¯vn we write<br />

�V P ({¯v1/u}, . . . , {¯vn/u}) for the special input-storing process defined as follows:<br />

ν ñ.(V {˜s 1<br />

/˜s, ˜m 1<br />

/ ˜m, ¯v1/u} bb,ñ,kpc1 | P { ˜t 1<br />

/˜t, ˜m 1<br />

/ ˜m} |<br />

. . . | V {˜s n<br />

/˜s, ˜m n<br />

/ ˜m, ¯vn/u} bb,ñ,kpcn | P { ˜t<br />

n<br />

/˜t, ˜m n<br />

/ ˜m})<br />

where ñ = � n<br />

j=1 ( ˜mj ∪ ˜s j ∪ ˜t j ∪ {kpcj}).<br />

The definition is illustrated on the postal ballot example in Figure 7.1.<br />

7.4 Formalising voter verifiability property<br />

Now we introduce voter verifiability. As mentioned, there are two parts, corresponding<br />

to individual verifiability <strong>and</strong> universal verifiability. A voting process<br />

satisfies voter verifiability if there are two tests it can apply to check these two<br />

items. Each test is a predicate which, after substitutions from the bulletin board<br />

<strong>and</strong> elsewhere, evaluates to true or false.<br />

Individual verifiability: The test R IV is performed by a voter, <strong>and</strong> has parameters<br />

u (the vote cast by the voter), x1, . . . , xk (the items on the bulletin<br />

board corresponding to that vote), <strong>and</strong> ˜z (the secrets <strong>of</strong> the voter). The<br />

test is required to return true if <strong>and</strong> only if the correct items are given. In<br />

the definition below, the functions f1, . . . , fk pick out the k bulletin board<br />

items corresponding to the voter.<br />

Universal verifiability: The test R UV is performed by an observer, <strong>and</strong> has parameters<br />

ũ (the declared outcome), ˜x1, . . . , ˜xk (the items on the bulletin<br />

board corresponding to all the voters), <strong>and</strong> ˜y (the items on the bulletin

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

Saved successfully!

Ooh no, something went wrong!