53 lines
		
	
	
		
			629 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			629 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
usertype Key;
 | 
						|
 | 
						|
const pk: Function;
 | 
						|
secret sk: Function;
 | 
						|
inversekeys(pk,sk);
 | 
						|
 | 
						|
protocol tmn(A,B,S)
 | 
						|
{
 | 
						|
	role A
 | 
						|
	{
 | 
						|
		fresh Ka: Key;
 | 
						|
		var Kb: Key;
 | 
						|
 | 
						|
		send_1(A,S, B,{Ka}pk(S) );
 | 
						|
		recv_4(S,A, B,{Kb}Ka );
 | 
						|
 | 
						|
		#claim_5(A,Secret,Ka);
 | 
						|
		#claim_8(A,Secret,Kb);
 | 
						|
	}	
 | 
						|
	
 | 
						|
	role B
 | 
						|
	{
 | 
						|
		fresh Kb: Key;
 | 
						|
 | 
						|
		recv_2(S,B, A );
 | 
						|
		send_3(B,S, A, { Kb }pk(S) );
 | 
						|
 | 
						|
		claim_6(B,Secret,Kb);
 | 
						|
	}
 | 
						|
 | 
						|
	role S
 | 
						|
	{
 | 
						|
		var Ka,Kb: Key;
 | 
						|
 | 
						|
		recv_1(A,S, B,{Ka}pk(S) );
 | 
						|
		send_2(S,B, A );
 | 
						|
		recv_3(B,S, A, { Kb }pk(S) );
 | 
						|
		send_4(S,A, B,{Kb}Ka );
 | 
						|
 | 
						|
		#claim_7(S,Secret,Ka);
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
const Alice,Bob,Eve,Simon: Agent;
 | 
						|
const Ke: Key;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
# Scenario to recreate an attack in SPORE
 | 
						|
 | 
						|
 |