Diffie-Hellman使用Casper

时间:2013-09-15 21:58:41

标签: model key protocols spl diffie-hellman

我有一个使用Casper(在.spl文件中)建模Diffie-Hellman密钥交换协议的任务。我得到了基础知识,并且发现很难找到正确的协议解释(#Protocol description)。我到处搜索并尝试一切(据我对Casper的了解可以带我)并且没有解决方案。我很惊讶,关于这方面的文件很少。

如果有人能帮助我开始这个,我们将不胜感激。

先谢谢!

1 个答案:

答案 0 :(得分:0)

这是它! (由Gavin Low完成) 我正在研究这些东西,你说对了很难。将此代码复制到新文件并将其另存为.spl

-- Diffie Hellman

#Free variables  
datatype Field = Gen | Exp(Field,Num)  unwinding 2  
A, B : Agent  
x, y : Num  
expx, expy, k : Field  
text : TEXT  

InverseKeys =  (k,k), (Exp,Exp), (Gen,Gen)  

#Processes  
INITIATOR(A, x, text)   
RESPONDER(B, y)   

#Protocol description  
0.    -> A : B  
[A != B]  
1.  A -> B : Exp(Gen,x) % expx  
[A != B and expx!=Gen]  
<k := Exp(expx, y)>  
2.  B -> A : Exp(Gen,y) % expy  
<k := Exp(expy, x)>  
3.  A -> B : {text}{k}  

#Specification  
Secret(A, text, [B])  
Secret(B, text, [A])  

#Actual variables  
Alice, Bob, Mallory : Agent  
X, Y, Z : Num  
Text1, Text2 : TEXT  

#Equivalences  
forall x, y : Num . Exp ( Exp(Gen,x), y ) = Exp( Exp(Gen,y), x )  

#System  
INITIATOR(Alice, X, Text1)  
RESPONDER(Bob,  Y)  

#Intruder Information
Intruder = Mallory
IntruderKnowledge = {Alice, Bob, Mallory, Z, Text2}