Skip to content

Commit 5ae2f27

Browse files
committed
Make only party_idx in dsdp_pismc.v
1 parent 325c896 commit 5ae2f27

File tree

1 file changed

+23
-9
lines changed

1 file changed

+23
-9
lines changed

dumas2017dual/dsdp/dsdp_pismc.v

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ Definition alice_idx : nat := 0.
4949
Definition bob_idx : nat := 1.
5050
Definition charlie_idx : nat := 2.
5151

52+
Coercion nat_to_party_id : nat >-> party_id.
53+
5254
(* Make dtype and data explicit for sproc type annotations *)
5355
Arguments sproc dtype data party {_} {_}.
5456

@@ -103,19 +105,19 @@ Local Notation E := enc_pub_key.
103105
Definition pbob (dk : priv_keyT)(v2 : msgT)(rb1 rb2 : randT)
104106
: sproc dsdp_dtype data bob_idx :=
105107
\pi{ Init (#dk, &v2) ;
106-
Send<alice_idx> $(E bob v2 rb1);
108+
Send<alice_idx> $(E bob_idx v2 rb1);
107109
Recv<alice_idx> #dk d2 =>
108110
Recv<alice_idx> a3 =>
109-
Send<charlie_idx> $(a3 *h (E charlie d2 rb2)) ;
111+
Send<charlie_idx> $(a3 *h (E charlie_idx d2 rb2)) ;
110112
Finish }.
111113

112114
(* Charlie's protocol *)
113115
Definition pcharlie (dk : priv_keyT)(v3 : msgT)(rc1 rc2 : randT)
114116
: sproc dsdp_dtype data charlie_idx :=
115117
\pi{ Init (#dk, &v3) ;
116-
Send<alice_idx> $(E charlie v3 rc1) ;
118+
Send<alice_idx> $(E charlie_idx v3 rc1) ;
117119
Recv<bob_idx> #dk d3 =>
118-
Send<alice_idx> $(E alice d3 rc2) ;
120+
Send<alice_idx> $(E alice_idx d3 rc2) ;
119121
Finish }.
120122

121123
(* Alice's protocol *)
@@ -124,8 +126,8 @@ Definition palice (dk : priv_keyT)(v1 u1 u2 u3 r2 r3: msgT)(ra1 ra2 : randT)
124126
\pi{ Init (#dk, &v1, &u1, &u2, &u3, &r2, &r3) ;
125127
Recv<bob_idx> c2 =>
126128
Recv<charlie_idx> c3 =>
127-
Send<bob_idx> $(c2 ^h u2 *h (E bob r2 ra1)) ;
128-
Send<bob_idx> $(c3 ^h u3 *h (E charlie r3 ra2)) ;
129+
Send<bob_idx> $(c2 ^h u2 *h (E bob_idx r2 ra1)) ;
130+
Send<bob_idx> $(c3 ^h u3 *h (E charlie_idx r3 ra2)) ;
129131
Recv<charlie_idx> #dk g =>
130132
Ret &(g - r2 - r3 + u1 * v1) }.
131133

@@ -142,6 +144,9 @@ Variable pn : party_id -> nat.
142144
Hypothesis pn_alice : pn alice = alice_idx.
143145
Hypothesis pn_bob : pn bob = bob_idx.
144146
Hypothesis pn_charlie : pn charlie = charlie_idx.
147+
Hypothesis np_alice : nat_to_party_id alice_idx = alice.
148+
Hypothesis np_bob : nat_to_party_id bob_idx = bob.
149+
Hypothesis np_charlie : nat_to_party_id charlie_idx = charlie.
145150

146151
(* Import original programs from dsdp_program *)
147152
Let palice_orig := @dsdp_program.palice AHE bob charlie pn ek.
@@ -154,17 +159,26 @@ Let pcharlie_orig := @dsdp_program.pcharlie AHE alice bob charlie pn ek.
154159
Lemma alice_cross_eq dk' v1' u1' u2' u3' r2' r3' ra1' ra2' :
155160
erase (palice dk' v1' u1' u2' u3' r2' r3' ra1' ra2') =
156161
erase (palice_orig dk' v1' u1' u2' u3' r2' r3' ra1' ra2').
157-
Proof. by rewrite /palice_orig /dsdp_program.palice pn_bob pn_charlie. Qed.
162+
Proof.
163+
by rewrite /palice /palice_orig /dsdp_program.palice pn_bob pn_charlie
164+
/enc_pub_key /dsdp_program.enc_pk np_bob np_charlie.
165+
Qed.
158166

159167
Lemma bob_cross_eq dk' v2' rb1' rb2' :
160168
erase (pbob dk' v2' rb1' rb2') =
161169
erase (pbob_orig dk' v2' rb1' rb2').
162-
Proof. by rewrite /pbob_orig /dsdp_program.pbob pn_alice pn_charlie. Qed.
170+
Proof.
171+
by rewrite /pbob /pbob_orig /dsdp_program.pbob pn_alice pn_charlie
172+
/enc_pub_key /dsdp_program.enc_pk np_bob np_charlie.
173+
Qed.
163174

164175
Lemma charlie_cross_eq dk' v3' rc1' rc2' :
165176
erase (pcharlie dk' v3' rc1' rc2') =
166177
erase (pcharlie_orig dk' v3' rc1' rc2').
167-
Proof. by rewrite /pcharlie_orig /dsdp_program.pcharlie pn_alice pn_bob. Qed.
178+
Proof.
179+
by rewrite /pcharlie /pcharlie_orig /dsdp_program.pcharlie pn_alice pn_bob
180+
/enc_pub_key /dsdp_program.enc_pk np_alice np_charlie.
181+
Qed.
168182

169183
(******************************************************************************)
170184
(** * Session Type Duality Verification *)

0 commit comments

Comments
 (0)