scyther/protocols/misc/2r890-ex3-b.spdl
2012-06-12 23:12:14 +02:00

48 lines
563 B
Plaintext

/*
* Course 2r890
*
* Assignment 0405-3
*
* Protocol b
*
* not nisynch, but still niagree
*/
const pk: Function;
secret sk: Function;
inversekeys (pk,sk);
protocol course2r890year0405ex3(X,Y,I)
{
role I
{
fresh ni: Nonce;
send_1(I,X, ni );
recv_2(X,I, { I,ni }sk(X) );
send_3(I,Y, ni );
recv_4(Y,I, { ni,I }sk(Y) );
claim_i1(I,Niagree);
claim_i2(I,Nisynch);
}
role X
{
var nx: Nonce;
recv_1(I,X, nx );
send_2(X,I, { I,nx }sk(X) );
}
role Y
{
var ny: Nonce;
recv_3(I,Y, ny );
send_4(Y,I, { ny,I }sk(Y) );
}
}