scyther/spdl/tmn.spdl

57 lines
789 B
Plaintext
Raw Normal View History

2004-10-13 13:23:35 +01:00
usertype Key;
2004-02-20 11:37:28 +00:00
const pk: Function;
secret sk: Function;
inversekeys(pk,sk);
protocol tmn(A,B,S)
{
role A
{
const Ka: Key;
var Kb: Key;
send_1(A,S, B,{Ka}pk(S) );
read_4(S,A, B,{Kb}Ka );
2005-02-19 14:25:30 +00:00
claim_5(A,Secret,Ka);
claim_8(A,Secret,Kb);
2004-02-20 11:37:28 +00:00
}
role B
{
const Kb: Key;
read_2(S,B, A );
send_3(B,S, A, { Kb }pk(S) );
2004-10-13 13:23:35 +01:00
claim_6(B,Secret,Kb);
2004-02-20 11:37:28 +00:00
}
role S
{
var Ka,Kb: Key;
read_1(A,S, B,{Ka}pk(S) );
send_2(S,B, A );
read_3(B,S, A, { Kb }pk(S) );
send_4(S,A, B,{Kb}Ka );
2004-10-13 13:23:35 +01:00
claim_7(S,Secret,Ka);
2004-02-20 11:37:28 +00:00
}
}
2004-10-13 13:23:35 +01:00
const Alice,Bob,Eve,Simon: Agent;
2004-02-20 11:37:28 +00:00
untrusted Eve;
compromised sk(Eve);
run tmn.A (Agent,Agent,Simon);
run tmn.A (Agent,Agent,Simon);
run tmn.B (Agent,Agent,Simon);
run tmn.B (Agent,Agent,Simon);
run tmn.S (Agent,Agent,Simon);
run tmn.S (Agent,Agent,Simon);