32 lines
388 B
Plaintext
32 lines
388 B
Plaintext
(* Channel *)
|
|
free d.
|
|
|
|
(* secret message *)
|
|
private free m.
|
|
|
|
fun commit/2.
|
|
fun open/3.
|
|
|
|
equation open(commit(m,k),m,k) = m.
|
|
|
|
query attacker:m phase 1.
|
|
|
|
noninterf m.
|
|
|
|
let alice =
|
|
phase 1;
|
|
new k;
|
|
out(d,commit(m,k));
|
|
phase 2;
|
|
out(d,(m,k)).
|
|
|
|
let server =
|
|
phase 1;
|
|
in(d,x);
|
|
phase 2;
|
|
in(d,(m,k));
|
|
let (=m)=(open(x,m,k)) in 0.
|
|
|
|
process
|
|
alice | server
|