区块链兄弟社区,区块链技术专业问答先行者,中国区块链技术爱好者聚集地

作者:于中阳

来源:区块链兄弟

原文链接:http://www.blockchainbrother.com/article/86

著权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
协议概述

密码学的用途就是解决各种难题(当然,这也是计算机的主要用途)。密码学解决的各种难题围绕机密性、鉴别、完整性和不诚实的人。你也许对各种算法和技术有一定了解,但除非其能够解决某些问题,否则其只是理论而已,这也就是为什么要先对协议进行了解的原因。

协议(protocol)是一系列步骤,其包括两方或者多方,设计它的目的在于完成一项任务。这个定义说明了:“一系列步骤”意味着协议是从开始到结束的一个序列,每一步必须依次执行,在前一步完成之前,后面的步骤都不能够执行;“包括两方或多方”意味着完成这个协议至少是需要两个人的,单独的一个人是无法构成协议的,当然一个单独的人可以采取一系列步骤去完成一项任务(例如做一顿丰盛的晚餐),但这不是协议(必须有另外一些人参与才能构成协议,比如家里的其他人共同享用了这顿晚餐);最后,“设计其的目的是要完成一项任务”意味着协议必须做一些事。有些事物看起来很像是协议,但若其不能完成一项任务,那也不是协议。

协议的其他特点:

1)协议中的每个人都必须了解协议,并且预先知晓所要完成的所有步骤。

2)协议中的每个人都必须同意并遵循它。

3)协议必须是清楚明晰的,每一步都必须有明确的定义,不能引起误解和歧义。

4)协议必须是完整的,对每一种可能的情况必须规定具体的动作。

我们现约定,协议安排成一系列步骤,并且协议是按照规定的步骤线性进行执行,除非我指定它转到其他的步骤。每一步至少要做下列事件中的一件,即由一方或者多方计算,或者在各方中传递信息。

密码协议(cryptographic protocol)是使用密码学的协议。参与该协议的各方可能是友人和完全信任的人,也可能是敌人和相互完全不信任的人。密码协议包含某种密码算法,但通常协议的目的不仅仅是为了简单的秘密性。参与协议的各方可能为了计算一个数值想共享他们各自的秘密部分,共同产生随机系列,确定相互的身份或者同时签署合同。在协议中使用密码的目的是防止或者发现欺骗和窃听者。若你之前没有了解过协议,那么它会改变你的思想,相互不信任的各方也是能够在网络上完成这些协议的。

在某些协议中,参与者中的一个或几个有可能欺骗其他人,而也可能存在窃听者并且窃听者可能暗中破坏协议或获悉一些秘密信息。某些协议之所以会失败,是因为设计者对需求定义的不是很完备,还有一些原因是由于协议的设计者分析的不够充分。这就好比算法,证明其不安全远比证明其安全容易的多。

相信学习密码学的朋友,或者对通信和计算机协议有一定了解的朋友都对Alice和Bob不陌生。在此,我也将继续携手Alice和Bob和大家谈协议,他们将完成所有的两人协议。在此依旧规定Alice发起所有协议,Bob响应协议。当然,为了进一步学习协议,我还将补充几个人,现约定如下:

人名 角色
Alice 所有协议中的第一个参与者、一般为协议发起者
Bob 所有协议的第二个参与者、一般为响应者
Carol 三、四方协议中的参与者
Dave 四方协议中的参与者
Eve 窃听者
Mallory 恶意的主动攻击者
Trent 值得信赖的仲裁者
Peggy 证明人

Victor

验证者

以后若无特殊情况,将不再对人名及其对应的角色进行说明。

文章发布只为分享区块链技术内容,版权归原作者所有,观点仅代表作者本人,绝不代表区块链兄弟赞同其观点或证实其描述

转载于:https://www.cnblogs.com/blockchainbrother/p/9203603.html

密码协议(一)协议概述相关推荐

  1. Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述

    Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述 网络协议是用于不同计算机之间进行网络通信的.网络协议是网络上所有设备(如网络服务器.计算机.交换机.路由器等)之间通信规则的集合,它 ...

  2. UDP协议的简单概述

    1.UDP协议概述 UDP是User Datagram Protocol(用户数据协议)的简称,是一种无连接的协议,该协议工作在OSI模型中的第四层(传输层),处于IP协议的上一层.传输层的功能就是建 ...

  3. 【TCP-IP详解卷一:协议】ch1概述

    目录 1. 分层 2. 互联网的地址 三类IP地址: 3. 域名系统(DNS) 4. 封装 5. 分用 6. 客户-服务器模型 6.1 重复型服务器 6.2 并发型服务器 7. 端口号 7.1 服务器 ...

  4. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★

    文章目录 一.传输层 TCP / UDP 协议 ★ 二.寻址端口号 ★ 三.UDP 协议特点 四.UDP 协议首部格式 五.UDP 校验 六.TCP 协议 特点 ★ 七.TCP 报文段首部格式 八.T ...

  5. HTTP协议SSL协议HTTPS协议

    文章目录 1.HTTP协议 1.1.HTTP 简介 1.2.HTTP 消息结构 1.3.HTTP 请求方法 1.4.HTTP 响应头信息 1.5.HTTP 状态码 1.6.HTTP协议的优点与缺点 2 ...

  6. java udp 协议_网络协议 - UDP 协议详解

    ¶ 网络协议 - UDP 协议详解 基于TCP和UDP的协议非常广泛,所以也有必要对UDP协议进行详解.@pdai ¶ UDP概述 UDP(User Datagram Protocol)即用户数据报协 ...

  7. android 短信编解码方式,中移短信cmpp协议/smpp协议 netty实现编解码

    性能测试 在48core,128G内存的物理服务器上测试协议解析效率:35K条/s, cpu使用率25%. Build 执行mvn package . jdk1.6以上. 增加了业务处理API 业务层 ...

  8. [ 网络 ] 应用层协议 —— HTTP协议

    目录 1.HTTP协议 1.1URL urlencode和urldecode 2. HTTP协议格式 HTTP请求 HTTP响应 3.告知服务器意图的HTTP方法 GET:获取资源 POST:传输实体 ...

  9. 网络层协议 ——— IP协议

    文章目录 IP协议 基本概念 IP协议格式 分片与组装 网段划分 特殊的IP地址 IP地址的数量限制 私网IP地址和公网IP地址 路由 路由表生成算法 IP协议 IP协议全称为"网际互连协议 ...

  10. Java ee 应用层重点协议http协议

    文章目录 前言 一.HTTP是什么? 二.理解应用层协议 三.HTTP协议的工作过程 四.HTTP协议格式 4.1抓包工具的使用 4.2协议格式总结 4.2.1请求 4.2.2响应 五.HTTP请求( ...

最新文章

  1. 转:从零开始做app需要做的事情列表
  2. Ubuntu 16.04 LTS界面美化
  3. Elasticsearch 参考指南(多索引)
  4. Django基础之Model创建表
  5. /etc/rc.d 与 /etc/profile或者./.bash_profile的区别
  6. ASP截取字符 截取字符之间的字符
  7. How to use external classes and PHP files in Laravel Controller?
  8. Using KernelShark to analyze the real-time scheduler【转】
  9. 字符串分割与存入List集合
  10. redis——缓存击穿/穿透/雪崩
  11. 关于单链表的几个问题
  12. java判断字符串不为空_Java判断字符串是否为空的方法
  13. 前端拼音首字母搜索姓名
  14. 华硕Chromebox-cn 62+i7-5500 U+HD 5500
  15. 软件安全需求、设计、测试【归纳】
  16. 浙大 计算机 设计学 考研科目,2020浙江大学软件工程考研参考书目
  17. 前端提高篇(五十四)练习7:animation动画练习
  18. 盛世昊通打造线上线下融合的百业联盟商业生态
  19. 如何查询中国农业银行卡开户行
  20. access百度翻译 get_PowerShell调用百度翻译API

热门文章

  1. 文本处理命令系列——cut
  2. 3第一周课后练习#183;阅读计划(3)-使用函数来访问私有数据成员
  3. 前端解析ipa、apk安装包信息 —— app-info-parser
  4. 解题报告 『占卜DIY(模拟)』
  5. 以盛唐气象,浇胸中块垒:熊逸《唐诗50讲》学习笔记汇总
  6. 轻松搭建Redis缓存高可用集群
  7. 6.wireshark使用全解
  8. 深入理解Core Data
  9. 【JAVA】虚拟机指令集
  10. Hadoop教程(一)