Skip to content
Snippets Groups Projects
Commit 4047f922 authored by mwh1g17's avatar mwh1g17
Browse files

Reorganised Project Protocols

Added a example protocols folder for example/learning protocols not featured in the final implementation
parent d2224970
No related branches found
No related tags found
No related merge requests found
Showing
with 225 additions and 39 deletions
protocol EncrpytedExchange(Meter,Monitor) protocol EncrpytedExchange(Meter,Monitor)
{ {
role Meter { role Meter {
fresh M: Nonce; fresh M: Nonce;
var Confirm; var Confirm;
send_1(Meter,Monitor,{M}k(k)); send_1(Meter,Monitor,{M}k(k));
recv_2(Monitor,Meter,{Confirm}k(k)); recv_2(Monitor,Meter,{Confirm}k(k));
claim_Meter1(Meter, Secret, (k)); claim_Meter1(Meter, Secret, (k));
claim_Meter2(Meter, Secret, M); claim_Meter2(Meter, Secret, M);
} }
role Monitor { role Monitor {
var M; var M;
fresh Confirm: Nonce; fresh Confirm: Nonce;
recv_1(Meter,Monitor,{M}k(k)); recv_1(Meter,Monitor,{M}k(k));
send_2(Monitor,Meter,{Confirm}k(k)); send_2(Monitor,Meter,{Confirm}k(k));
claim_Monitor1(Monitor, Secret, (k)); claim_Monitor1(Monitor, Secret, (k));
claim_Monitor2(Monitor, Secret, M); claim_Monitor2(Monitor, Secret, M);
} }
} }
\ No newline at end of file
hashfunction hashed;
usertype Message;
protocol KeyExchange(Monitor,CloudServer)
{
role Monitor
{
fresh MonitorValue : Nonce;
fresh Confirm: Message;
var CloudServerValue : Nonce;
send_1(Monitor,CloudServer,{Monitor,MonitorValue}pk(CloudServer));
recv_2(CloudServer,Monitor, {CloudServerValue,hashed(MonitorValue),
CloudServer}pk(Monitor));
send_3(Monitor,CloudServer, hashed(CloudServerValue, Confirm));
claim_Monitor1(Monitor,Niagree);
claim_Monitor2(Monitor,Nisynch);
claim_Monitor3(Monitor, Secret, MonitorValue);
claim_Monitor4(Monitor, Secret, CloudServerValue);
}
role CloudServer
{
var MonitorValue: Nonce;
var Confirm: Message;
fresh CloudServerValue: Nonce;
recv_1(Monitor,CloudServer,{Monitor,MonitorValue}pk(CloudServer));
send_2(CloudServer,Monitor, {CloudServerValue,hashed(MonitorValue),
CloudServer}pk(Monitor));
recv_3(Monitor,CloudServer, hashed(CloudServerValue, Confirm));
claim_CloudServer1(CloudServer,Niagree);
claim_CloudServer2(CloudServer,Nisynch);
claim_CloudServer3(CloudServer, Secret, MonitorValue);
claim_CloudServer4(CloudServer, Secret, CloudServerValue);
}
}
\ No newline at end of file
protocol smartExchange(Meter,Monitor)
{
role Meter {
fresh Message: Nonce;
var Confirm;
send_1(Meter,Monitor,{Message}k(k));
recv_2(Monitor,Meter,{Confirm}k(k));
claim_Meter1(Meter, Secret, (k));
claim_Meter2(Meter, Secret, Message);
}
role Monitor {
var Message;
fresh Confirm: Nonce;
recv_1(Meter,Monitor,{Message}k(k));
send_2(Monitor,Meter,{Confirm}k(k));
claim_Monitor1(Monitor, Secret, (k));
claim_Monitor2(Monitor, Secret, Message);
}
}
\ No newline at end of file
hashfunction hashed;
hashfunction sharedkey;
usertype Message;
usertype SessionKey;
protocol MutualAuthentication(Monitor,CloudServer)
{
role Monitor {
fresh MonitorValue : Nonce;
var CloudServerValue : Nonce;
fresh MonitorInformation : Message;
var CloudServerInformation: Message;
fresh sharedkey: SessionKey;
send_1(Monitor,CloudServer,{Monitor,MonitorValue}pk(CloudServer));
recv_2(CloudServer,Monitor, {CloudServerValue,hashed(MonitorValue),
CloudServer}pk(Monitor));
send_3(Monitor,CloudServer,{CloudServerValue, MonitorInformation} sharedkey );
recv_4(CloudServer,Monitor,{MonitorValue,CloudServerInformation} sharedkey);
claim_Monitor1(Monitor,Niagree);
claim_Monitor2(Monitor,Nisynch);
claim_Monitor3(Monitor, Secret, CloudServerInformation);
claim_Monitor4(Monitor,Alive);
}
role CloudServer {
var MonitorValue: Nonce;
fresh CloudServerValue: Nonce;
fresh CloudServerInformation: Message;
var MonitorInformation: Message;
var sharedkey: SessionKey;
recv_1(Monitor,CloudServer,{Monitor,MonitorValue}pk(CloudServer));
send_2(CloudServer,Monitor, {CloudServerValue,hashed(MonitorValue),
CloudServer}pk(Monitor));
recv_3(Monitor,CloudServer, {CloudServerValue, MonitorInformation} sharedkey );
send_4(CloudServer,Monitor,{MonitorValue,CloudServerInformation} sharedkey);
claim_CloudServer1(CloudServer,Niagree);
claim_CloudServer2(CloudServer,Nisynch);
claim_CloudServer3(CloudServer, Secret, MonitorInformation);
claim_CloudServer4(CloudServer,Alive);
}
}
\ No newline at end of file
hashfunction hashed;
hashfunction sharedkey;
usertype Message;
usertype SessionKey;
protocol SessionKeys(Monitor,CloudServer) {
role Monitor {
fresh MonitorValue : Nonce;
var CloudServerValue : Nonce;
fresh info : Message;
var info: Message;
fresh sharedkey: SessionKey;
send_1(Monitor,CloudServer,{Monitor,MonitorValue}pk(CloudServer));
recv_2(CloudServer,Monitor, {CloudServerValue,hashed(MonitorValue),
CloudServer}pk(Monitor));
send_3(Monitor,CloudServer, {info} sharedkey);
claim_Monitor1(Monitor,Alive);
claim_Monitor2(Monitor,Secret, info);
}
role CloudServer {
var MonitorValue: Nonce;
fresh CloudServerValue: Nonce;
var info: Message;
fresh info: Message;
fresh sharedkey: SessionKey;
recv_1(Monitor,CloudServer,{Monitor,MonitorValue}pk(CloudServer));
send_2(CloudServer,Monitor, {CloudServerValue,hashed(MonitorValue),
CloudServer}pk(Monitor));
recv_3(Monitor,CloudServer, {info} sharedkey);
claim_CloudServer1(CloudServer,Niagree);
claim_CloudServer2(CloudServer,Nisynch);
claim_CloudServer3(CloudServer,Alive);
claim_CloudServer4(CloudServer,Secret, info);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment