@@ -99,25 +99,27 @@ Variable ek : party_id -> pub_key AHE.
9999(* Party-indexed encryption: maps party to their public key for enc *)
100100Definition enc_pub_key (p : party_id) (m : msgT) (r : randT) : encT :=
101101 enc (ek p) m r.
102- Local Notation E := enc_pub_key.
102+ Local Notation "'E<' r '>' p m" := (enc_pub_key p m r)
103+ (at level 10, r constr at level 0, p constr at level 0, m constr at level 0,
104+ format "'E<' r '>' p m").
103105
104106(* Bob's protocol - using concrete indices for session type duality *)
105107Definition pbob (dk : priv_keyT)(v2 : msgT)(rb1 rb2 : randT)
106108 : sproc dsdp_dtype data bob_idx :=
107109 \pi{ Init (#dk, &v2) ;
108- Send<alice_idx> $(E bob_idx v2 rb1 );
110+ Send<alice_idx> $(E<rb1> bob_idx v2);
109111 Recv<alice_idx> #dk d2 =>
110112 Recv<alice_idx> a3 =>
111- Send<charlie_idx> $(a3 *h (E charlie_idx d2 rb2 )) ;
113+ Send<charlie_idx> $(a3 *h (E<rb2> charlie_idx d2)) ;
112114 Finish }.
113115
114116(* Charlie's protocol *)
115117Definition pcharlie (dk : priv_keyT)(v3 : msgT)(rc1 rc2 : randT)
116118 : sproc dsdp_dtype data charlie_idx :=
117119 \pi{ Init (#dk, &v3) ;
118- Send<alice_idx> $(E charlie_idx v3 rc1 ) ;
120+ Send<alice_idx> $(E<rc1> charlie_idx v3) ;
119121 Recv<bob_idx> #dk d3 =>
120- Send<alice_idx> $(E alice_idx d3 rc2 ) ;
122+ Send<alice_idx> $(E<rc2> alice_idx d3) ;
121123 Finish }.
122124
123125(* Alice's protocol *)
@@ -126,8 +128,8 @@ Definition palice (dk : priv_keyT)(v1 u1 u2 u3 r2 r3: msgT)(ra1 ra2 : randT)
126128 \pi{ Init (#dk, &v1, &u1, &u2, &u3, &r2, &r3) ;
127129 Recv<bob_idx> c2 =>
128130 Recv<charlie_idx> c3 =>
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 )) ;
131+ Send<bob_idx> $(c2 ^h u2 *h (E<ra1> bob_idx r2)) ;
132+ Send<bob_idx> $(c3 ^h u3 *h (E<ra2> charlie_idx r3)) ;
131133 Recv<charlie_idx> #dk g =>
132134 Ret &(g - r2 - r3 + u1 * v1) }.
133135
0 commit comments