http --- 密码、密钥、对称(公开)密钥加密系统、数字签名、数字证书的一些概念

密码(cipher)

// 密码是一套编码方案和使用相应解码方式的结合体
// *明文:使用密码加密之前的称为明文
// *密文:使用密码进行加密的称为密文

最初的密码是相当简单的,很容易就可以破解,于是产生了密码机:

// 密码机可以用复杂得多得密码来快速、精确地对报文进行编码.它们可以替换字符、改变字符顺序、将报文切片,总之是密码变得更难破解
// *密钥:要在密码机中输入正确地密钥,解密过程才能正确进行

数字密钥与编码函数:

// *数字密钥只是一些数字,这些数字密钥值是编 / 解码算法的输入
// *编码算法就是一些函数,这些函数会读取一块数据,并根据算法和密钥值对其进行编 / 解码
// 给定一段明文P、一个编码函数E和一个数字编码密钥e,就可以生成一段经过编码的密文C
// 通过解码函数D和解码密钥d,可以将密文C解码为原始的明文P

对称密钥加密技术:

// 在上文中使用的e和d是相等的
// 即,编码和解码使用的是同一个密钥的技术,称为对称密钥加密技术

对称密钥加密技术的一个不好地方在于:如果有N个人同时想与服务器进行对话,需要N*N个保密密钥,这样管理起来特别困难.
一个更好一点的方案是,使用公开密钥加密技术:

// 公开密钥加密技术
// 编码密钥是众所周知的
// 解码密钥在各个主机中式不同的
// 这样,每个人都能找到某个特定主机的公开密钥,密钥的建立变得更加简单.
// 但解码密钥是保密的,因此只有接收端才能对发送给它的报文进行解码

数字签名:

// 数字签名是附加在报文上的特殊加密校验码.
// 当节点A向节点B发送一条报文时,节点A对摘要应用了一个签名函数,这个函数用户的私有密钥作为参数,计算出签名
// 一旦计算出签名,节点A就将其附加在报文的末尾,并将报文和签名都发送给B
// 节点B接收到报文后,就使用公开密钥的反函数对签名进行解码,并拆包报文得到摘要进行比较

数字证书:

// 数字证书中包含了由某个受信任组织担保的用户或公司的相关信息
// 数字证书中一些常见的内容:对象的名称、过期时间、证书发布者、来自证书发布者的数字签名
// 服务器证书中包括:Web站点的名称和主机名、Web站点的公开密钥、签名颁发机构的名称、来自签名颁发机构的签名// 通过HTTPS建立了一个Web事务后,现代浏览器会自动获取所链接服务器的数字证书
// 浏览器在收到证书时,会对签名办法机构进行检查,若是很有权威的公共签名机构,就进行签名验证
// 若对签名颁发机构一无所知,浏览器就会向用户显示一个对话框,看看他是否相信这个签名发布者.

参考《HTTP权威指南》P327~P338

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

elasticsearch5.x:查询建议介绍、Suggester 介绍以及Java-api实现

elasticsearch5.x:查询建议介绍、Suggester 介绍 参考:http://www.cnblogs.com/leeSmall/p/9206646.html 参考(重点):https://elasticsearch.cn/article/142 参考(官网):https://www.elastic.co/guide/en/e…

DOM-2 document对象、获取元素、节点、遍历树

一、document获取元素 1. 方法 document.getElementById(‘box’) // 在IE8及以下是不分大小写的,而且name值也能匹配上document.getElementsByClassName(’’) // IE8及以下是用不了的document.getElementsByTagName() 都兼容document.getElementsByName() 用的非…

javascript --- js中的事件

事件实现松耦合: // JS和HTML之间的交互是通过事件实现的. // 事件,就是文档或浏览器窗口中发生一些特定的交互瞬间. // 可以使用侦听器来预定事件,以便事件发生时执行相应的代码. // 这种在传统软件工程中被称为观察员模式的模型,支持页面的行为与页面的外观之间的松耦合事件…

centos系统设置局域网静态IP

---恢复内容开始--- centos系统设置局域网静态IP 很多时候,我们并不希望漏油器重启之后,自己的服务器动态的获取IP,这样很不利,因为你可能装了mysql,redis,等软件,然后需要远程去访问这台服务器…

SQLServer数据库(二)

数据库设计:就是将数据库中的数据库实体及这些数据库实体之间的关系,进行规划和结构化的过程。 项目开发过程: 需求分析 概要设计 详细设计 代码编写 运行测试 打包发行 数据库的系统分析基本步骤:收集信息、标识实体、标识每个实…

DOM-3 【utils/待讲评】节点属性、方法、封装方法、DOM结构

讲评 节点属性 nodeType 元素节点 1 大写 属性节点 2 文本节点 3 #text 注释节点 8 #comment document 9 DocumentFragment 11 nodeName是只读属性元素节点的nodeName是大写的其余的是#小写的元素节点没有nodeValue属性,null,是可写的其余有&#xff08…

javascript --- DOM0级、DOM2级、跨浏览器 的事件处理程序

DOM0级事件处理程序: // 使用DOM0级方法指定的事件处理程序被认为是元素的方法 // 这个时候的事件处理程序是在元素的作用域中运行: <div id "myBtn" >DOM0</div> <script>var btn document.getElementById("myBtn");btn.onclick fun…

collections deque队列及其他队列

from collections import dequedq deque(range(10),maxlen10) dq.rotate(3)#队列旋转操作接受一个参数N&#xff0c;让N>0时&#xff0c;队列的最右边N个元素会被移动到队列最左边&#xff0c;反之会移到队列最右边 dq.appendleft(-1)#头部添加dq.extend([11,22,33])#尾部添…

002 模板实参推断、重载与模板

模板实参推断 一、模板函数显示实参 情况1&#xff1a; template <typename T1, typename T2, typename T3> T1 sum(T2 a, T3 b) {return a b; } 分析&#xff1a;调用的时候就需要指定T1的类型&#xff0c;如&#xff1a;sum<float>(1, 2); 于是sum函数的返回类型…

DOM-4 【utils/待讲评】节点创建删除、元素属性设置获取、节点属性

讲评 节点创建 Document.prototype ← document.createElement(div)document.createTextNode(xxx) // 创建文本节点document.createComment(xxx) // 创建注释节点 增加/剪切子节点 Node.prototype ← node.appendChild(node)总是在父元素的最后增加&#xff08;类似push&am…

javascript --- 事件对象和事件类型

// 无论程序使用"DOM0级"规范还是"DOM2级"规范,都会在局部产生一个event对象, // 将其打印出来研究: <div id"divBtn"><button id"rawBtn" >Click Me!</button></div> <script>const divBtn document…

关于APP更新,两包共存的解决方案

大多数是由于包名不一致导致的&#xff0c;一定要注意包名一致、不然手机会认为是两个app&#xff0c;导致两个包共存 查看包名的方法 1、hbuilder打包时会有提示 2、手机打开设置->应用->正在运行->对应app即可查看 转载于:https://www.cnblogs.com/zz-0128/p/827969…

DOM-5【兼容】滚动距离与高度、兼容模式、可视尺寸

查看滚动条的距离 方法版本window.pageXOffset / pageYOffsetIE9/IE8及以下不支持(常规)document.body.scrollLeft/scrollTopIE9/IE8及以下(部分支持&#xff0c;具体看模式)document.documentElement.scrollLeft/scrollTopIE9/IE8及以下(部分支持&#xff0c;具体看模式)wind…

python中with及closing

推荐使用 "with"语句 以管理文件:with open("hello.txt") as hello_file: for line in hello_file: print line对于不支持使用"with"语句的类似文件的对象,使用 contextlib.closing():import contextlibwith contextlib.closing(urlli…

http --- Web页面请求的历程(如何根据URL寻找到需要的资源)

HTTP概况: // 超文本传输协议(HyperText Transfer Protocol,HTTP):是Web的应用层协议,它是Web的核心. // 客户端和服务器运行在不同的端系统中,通过交换HTTP报文进行会话 // HTTP定义了这些报文的结构以及客户和服务器进行报文交换的方式 // HTTP定义了Web客户向Web服务器请求…

DOM-6 【兼容】读写样式属性、操作伪元素、运动元素初探

规范 <style type"text/css"></style><script type"text/javascript"></script>读写样式属性 .style是访问不到css样式表的&#xff0c;只能访问到行内/内联的属性&#xff0c;当未设置行内属性时&#xff0c;结果为空字符串 设…

RGBD论文阅读笔记

Single-Image Depth Perception in the Wild 简要记载一下对于利用RGB图像depth图像得到segmentation的论文。 论文名称&#xff1a;Cascaded Feature Network for Semantic Segmentation of RGB-D Images 论文出处 ICCV 2017 Lin 模型结构 数据集 NYUDv2 SUN-RGBD 性能分析 总…

vue组件调用(全局调用和局部调用)

当用vue-cli创建一个项目后, 创建项目的方法: https://www.cnblogs.com/fps2tao/p/9376847.html 编写了组件怎么,在其他组件中调用了? 组件listBox: 路径 src/components/listBox.vue <template><div class"listBox">listBox222</div> </templ…

http --- 路由器缓存与常见的状态码

路由器的缓存: // 当下路由器其主要系统性能指吞吐率、利用率、丢包率、延迟、缓存大小和实现复杂性等. // 当链路上发生拥塞时能够对新进入的数据包进行缓存 // 从而降低丢包率、维持高的链路利用率 // 用于存放路由表的内存,速度快,价格也高状态码: // 为客户端提供了一种理…

DOM-7 【兼容】事件处理函数、冒泡捕获、阻止冒泡默认事件

事件处理函数 绑定事件 绑定事件的处理函数&#xff08;事件本身是存在的&#xff0c;绑定的是相应的反馈&#xff09;事件 事件的反馈 前端交互 &#xff08;前端核心&#xff09; 绑定事件的方式 1. 句柄绑定 默认&#xff08;只能&#xff09;是事件冒泡这种事件流为…