Scyther spdl(比较准确的翻译)

1、协议的主要的核心是定义一个协议在协议中声明角色:

 Protocol  ExampleProtocol(I,R){

      role I{   };

      role R{   };//在角色中一开始我们没有定义角色的行为

 }     在协议中声明两个角色,分别是 I 和   R

       很多安全协议依赖生成一个随机的值,他们可以在一个角色中使用 fresh 声明一个临时的值,列如下面 在角色X中 使用 fresh 声明一个Nonce 类型的临时值 :

      role X(.....){

        fresh Na:Nonce;

        send_1(X,Y,Na);

     }

代理可以使用变量存储接受的值(术语),列如,使用 Na 接受一个临时变量:

   roel  Y(.....){

    var Na:Nonce;

     recv_1(X,Y,Na);

}

  对于局部变量,对于新生成的值以及变量像Na ,对于角色 都是局部变量。这样我们可以指定一个新生成的临时变量Na 在一个角色中,另一个Na在另一个Na 中不会出现冲突。变量必须出现在接受事件中,不允许未初始化的变量出现在发送事件中。第一次接受事件之后触发执行 ,分配一个值,之后再不能改变。

  任何两个术语可以结合成一个术语对,可以写成N个术语对,例如: (x,y,z)再Scyther

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值