密钥:

密钥是一种参数,它是在使用密码cipher算法过程中输入的参数,同一个明文在相同的密码算法和不同的密钥计算下会产生不同的密文。所以说算法既使公开了但是密钥参数不同其结果也是不同的,其中关于明文和密文下面用一张图来描述一下:

而密钥又分为对称与不对称两种,下面具体来看一下:

密钥:对称

又称为共享密钥加密,对称密钥在加密和解密的过程中使用的密钥是相同的,常见的对称加密算法有DES、3DES、AES、RC5、RC6。

优点是计算速度快;

缺点是密钥需要在通讯的两端共享,也就是不安全啦,因为一个密钥对应两端。

密钥:非对称 

又称为公开密钥加密。服务端会生成一对密钥,一个私钥保存在服务端,仅自己知道,另一个是公钥,公钥可以自由发布供任何人使用。 客户端的明文通过公钥加密过的密文需要服务端生成的私钥来解密。

与对称密钥加密相比,非对称加密无需在客户端与服务端之间共享密钥,只要私钥不发给任何用户,即使公钥在网上被截获,也无法被解密,仅有被窃取的公钥是没有任何用处的。

密钥:RSA加密简单过程

  • 服务器生成配对的公钥和私钥。
  • 私钥保存在服务端,公钥发关给客户端。
  • 客户端使用公钥加密明文传输给服务端。
  • 服务端使用私钥解密密文得到明文。

数字签名:

思考这样一个问题:数据在浏览器和服务器之间传输时,有可能在传输过程中被冒充的盗贼把内容替换了,那么如何保证数据是真实服务器发送的而不被调包呢?同时如何保证传输的数据没有被人篡改呢?数字签名就诞生了。

数字签名它是用于验证传输的内容是不是真实服务器发送的数据,发送的数据有木有被篡改过,它就干这两件事,是非对称加密的一种应用场景。不过它是反过来用私钥来加密的,通过与之配对的公钥来解密【这跟不对称密钥的方式正好相反】。

下面来看一下整个数字签名的过程:

第一步:服务器把报文经过Hash处理后生成摘要信息Digest,摘要信息使用私钥private-key加密之后就生成签名,服务器把签名连同报文一起发送给客户端:

第二步:客户端接收到数据后,把签名提取出来用公钥public-key解密,如果能正常的解密出来Digest2,那么就能确认是对方发的。

第三步:客户端把报文Text提取出来做同样的Hash处理,得到的摘要信息Digest1,再与之前解密出来的Digest2对比,如果两者相等则表示内容木有被篡改过,否则就是已经被篡改了啦,

CA(Certificate Authority)数字证书:

那么如何保证你现在使用的公钥就是真实服务器发给你的呢?数字证书又出现了,它是由权威机构给某网站颁发的一种认可凭证,这个凭证是被大家(浏览器)所认可的。

网络协议相关面试问题-https加密算法相关面试问题的更多相关文章

  1. Wireshark网络抓包(三)——网络协议

    一.ARP协议 ARP(Address Resolution Protocol)地址解析协议,将IP地址解析成MAC地址. IP地址在OSI模型第三层,MAC地址在OSI第二层,彼此不直接通信: 在通 ...

  2. PHP网络协议相关考点

    HTTP状态码 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码. HTTP状态码主要有5种,代表5种不同类型的响应: 1xx:信息性状态码,代表接 ...

  3. OSI 七层模型和 TCP/IP 四层模型 及 相关网络协议

    简介 OSI 是理论上的模型,也就是一个统一的国际标准,现在的很多网络设备或者是网络协议都不同程度的精简了自己的所谓的模型,那么他们为了自己的通讯兼容都会参考这个OSI模型 TCP/IP 包括: TC ...

  4. Java 面试知识点解析(五)——网络协议篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  5. 网络协议 13 - HTTPS 协议:加密路上无尽头

    系列文章传送门: 网络协议 1 - 概述 网络协议 2 - IP 是怎么来,又是怎么没的? 网络协议 3 - 从物理层到 MAC 层 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校 网 ...

  6. 蓝牙协议分析(5)_BLE广播通信相关的技术分析

    1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广播通信(Advertising)的支持和利用.关于广播通信,通过“玩转BLE(1)_Eddystone beacon” ...

  7. 伪基站,卒于5G——本质上是基于网络和UE辅助的伪基站检测,就是将相邻基站的CI、信号强度等信息通过测量报告上报给网络,网络结合网络拓扑、配置信息等相关数据,对所有数据进行综合分析,确认在某个区域中是否存在伪基站

    伪基站,卒于5G from:https://www.huxiu.com/article/251252.html?h_s=h8 2018-07-05 21:58收藏27评论6社交通讯     本文来自微 ...

  8. php面试专题---10、网络协议考点

    php面试专题---10.网络协议考点 一.总结 一句话总结: 网络的考点其实就是这些:常见状态码,常见协议,osi七层模型,http和https 1.HTTP/1.1中,状态码200.301.304 ...

  9. PHP面试 PHP基础知识 十(网络协议)

    网络协议 HTTP协议状态码 状态分为五大类:1XX.2XX.3XX.4XX.5XX 1XX:信息类状态码  表示接受请求正在处理 2XX:success 成功状态码  请求正常处理完毕 3XX:重定 ...

随机推荐

  1. 【Web】如何注释?

    HTML 形式:<!-- 注释内容 --> 实例: <!-- <p>这是第一段</p> --> CSS 形式:/* 注释内容 */ 实例: /* 选中i ...

  2. docker笔记(2)——docker镜像操作

    操作环境:mac OS 10.14.6 docker版本:10.03.1 终端:iterm2 3.3 时间:2019年8月 docker 镜像,是运行容器的模板,通过pull操作会向指定仓库获取镜像, ...

  3. NDK学习笔记-JNI开发流程

    JNI(Java Native Interface)Java本地化接口,Java调用C/C++,C/C++调用Java的一套API接口 实现步骤 在Java源文件中编写native方法 public ...

  4. fedora使用

    1.更改ip 添加ip和掩码 sudo ifconfig p4p1 172.31.8.7/24 up 添加网关 sudo route add default gw 172.31.8.1   2.远程登 ...

  5. Spring4学习回顾之路02—IOC&DI

    IOC&DI介绍 ●IOC:(Inversion of Control) :控制反转(反向获取资源) 其思想是反转资源获取的方向.传统的资源上查找方式要求组件向容器发起请求查找资源,作为回应, ...

  6. PAT A1046 Shortest Distance (20 分)

    题目提交一直出现段错误,经过在网上搜索得知是数组溢出,故将数组设置的大一点 AC代码 #include <cstdio> #include <algorithm> #defin ...

  7. Codeforces 1244F. Chips

    传送门 显然可以注意到连续的两个相同颜色的位置颜色是不会改变的,并且它还会把自己的颜色每秒往外扩展一个位置 同时对于 $BWBWBW...$ 这样的序列,它每个位置的颜色每一秒变化一次 然后可以发现, ...

  8. OAuth授权看这篇就够了

    OAuth授权看这篇就够了

  9. ZOOKEEPER进阶

    集群个数: 2n+1,因为集群当宕机大于等于二分之一的机子时,集群选举会失败.故 2n+1台机器和3n台机器可靠性相同 Leader的作用: 为了实现各个节点数据的一致性,需要一个负责协调数据同步的操 ...

  10. Java Web DNS域名解析

    一.什么是DNS DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串 ...