69 lines
1.1 KiB
Plaintext
69 lines
1.1 KiB
Plaintext
|
/*usertype Timestamp;
|
||
|
|
||
|
protocol LaTe(C, S)
|
||
|
{
|
||
|
role C {
|
||
|
fresh nc: Nonce;
|
||
|
|
||
|
var ts: Timestamp;
|
||
|
|
||
|
send_1(C,S, C, nc);
|
||
|
|
||
|
recv_2(S,C, nc, ts, {nc, ts}k(S, C));
|
||
|
|
||
|
claim_C1(C,Nisynch);
|
||
|
claim_C2(C,Niagree);
|
||
|
claim_C3(C,Alive);
|
||
|
claim_C4(C,Weakagree);
|
||
|
claim_C5(C, Commit, S, nc, ts);
|
||
|
}
|
||
|
|
||
|
role S {
|
||
|
var nc: Nonce;
|
||
|
|
||
|
fresh ts: Timestamp;
|
||
|
|
||
|
//send_!timestampSet(S,S, ts);
|
||
|
|
||
|
recv_1(C,S, C, nc);
|
||
|
|
||
|
claim_C5(S, Running, C, nc, ts);
|
||
|
|
||
|
send_2(S,C, nc, ts, {nc, ts}k(S, C));
|
||
|
|
||
|
claim_S1(S,Nisynch);
|
||
|
claim_S2(S,Niagree);
|
||
|
claim_S3(S,Alive);
|
||
|
claim_S4(S,Weakagree);
|
||
|
}
|
||
|
}*/
|
||
|
|
||
|
usertype TimeStamp;
|
||
|
hashfunction H1;
|
||
|
|
||
|
|
||
|
protocol LATe(I,R)
|
||
|
{
|
||
|
role I # Time Client - Initiator
|
||
|
{
|
||
|
fresh Na : Nonce;
|
||
|
var T : TimeStamp;
|
||
|
send_1(I,R,I,Na);
|
||
|
recv_2(R,I,Na,T,H1({Na,T}k(I,R)));#encrypt-then-hash
|
||
|
claim_I1(I,Nisynch); #encrypt-then-hash
|
||
|
claim_I2(I,Niagree);
|
||
|
claim_I3(I,Alive);
|
||
|
claim_I4(I,Weakagree);
|
||
|
claim_I5(I, Commit, R, Na, T);
|
||
|
}
|
||
|
|
||
|
role R # Time Server - Responder
|
||
|
{
|
||
|
var Na : Nonce;
|
||
|
fresh T : TimeStamp;
|
||
|
recv_1(I,R,I,Na);
|
||
|
claim_C5(R, Running, I, Na, T);
|
||
|
send_2(R,I,Na,T,H1({Na,T}k(I,R)));#encrypt-then-hash
|
||
|
}
|
||
|
}
|