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