区块链兄弟社区,区块链技术专业问答先行者,中国区块链技术爱好者汇集地算法
做者:于中阳安全
来源:区块链兄弟网络
原文连接:http://www.blockchainbrother.com/article/86学习
著权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。区块链
协议概述spa
密码学的用途就是解决各类难题(固然,这也是计算机的主要用途)。密码学解决的各类难题围绕机密性、鉴别、完整性和不诚实的人。你也许对各类算法和技术有必定了解,但除非其可以解决某些问题,不然其只是理论而已,这也就是为何要先对协议进行了解的缘由。设计
协议(protocol)是一系列步骤,其包括两方或者多方,设计它的目的在于完成一项任务。这个定义说明了:“一系列步骤”意味着协议是从开始到结束的一个序列,每一步必须依次执行,在前一步完成以前,后面的步骤都不可以执行;“包括两方或多方”意味着完成这个协议至少是须要两我的的,单独的一我的是没法构成协议的,固然一个单独的人能够采起一系列步骤去完成一项任务(例如作一顿丰盛的晚餐),但这不是协议(必须有另一些人参与才能构成协议,好比家里的其余人共同享用了这顿晚餐);最后,“设计其的目的是要完成一项任务”意味着协议必须作一些事。有些事物看起来很像是协议,但若其不能完成一项任务,那也不是协议。事件
协议的其余特色:ci
1)协议中的每一个人都必须了解协议,而且预先知晓所要完成的全部步骤。get
2)协议中的每一个人都必须赞成并遵循它。
3)协议必须是清楚明晰的,每一步都必须有明确的定义,不能引发误解和歧义。
4)协议必须是完整的,对每一种可能的状况必须规定具体的动做。
咱们现约定,协议安排成一系列步骤,而且协议是按照规定的步骤线性进行执行,除非我指定它转到其余的步骤。每一步至少要作下列事件中的一件,即由一方或者多方计算,或者在各方中传递信息。
密码协议(cryptographic protocol)是使用密码学的协议。参与该协议的各方多是友人和彻底信任的人,也多是敌人和相互彻底不信任的人。密码协议包含某种密码算法,但一般协议的目的不只仅是为了简单的秘密性。参与协议的各方可能为了计算一个数值想共享他们各自的秘密部分,共同产生随机系列,肯定相互的身份或者同时签署合同。在协议中使用密码的目的是防止或者发现欺骗和窃听者。若你以前没有了解过协议,那么它会改变你的思想,相互不信任的各方也是可以在网络上完成这些协议的。
在某些协议中,参与者中的一个或几个有可能欺骗其余人,而也可能存在窃听者而且窃听者可能暗中破坏协议或获悉一些秘密信息。某些协议之因此会失败,是由于设计者对需求定义的不是很完备,还有一些缘由是因为协议的设计者分析的不够充分。这就比如算法,证实其不安全远比证实其安全容易的多。
相信学习密码学的朋友,或者对通讯和计算机协议有必定了解的朋友都对Alice和Bob不陌生。在此,我也将继续携手Alice和Bob和你们谈协议,他们将完成全部的两人协议。在此依旧规定Alice发起全部协议,Bob响应协议。固然,为了进一步学习协议,我还将补充几我的,现约定以下:
人名 | 角色 |
Alice | 全部协议中的第一个参与者、通常为协议发起者 |
Bob | 全部协议的第二个参与者、通常为响应者 |
Carol | 3、四方协议中的参与者 |
Dave | 四方协议中的参与者 |
Eve | 窃听者 |
Mallory | 恶意的主动攻击者 |
Trent | 值得信赖的仲裁者 |
Peggy | 证实人 |
Victor |
验证者 |
之后若无特殊状况,将再也不对人名及其对应的角色进行说明。
文章发布只为分享区块链技术内容,版权归原做者全部,观点仅表明做者本人,毫不表明区块链兄弟赞同其观点或证明其描述