对称加密:指用来加密和解密的是同一个秘钥。其特点是加密速度快,但是秘钥容易被黑客截获,所以安全性不高。
非对称加密:用来加密和解密的是不同的秘钥,它们是成对出现的,称为公钥和私钥,知道其中一个秘钥是无法推导出另外一个秘钥的。用公钥加密的内容需要用私钥才能解密,用私钥加密的内容需要用公钥才能解密。非对称加密的特点是安全性高,缺点是加密速度慢

RSA算法属于非对称加密算法,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
AES,高级加密标准,2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。

客户端传输重要信息给服务端,服务端返回的信息不需加密,客户端这边就需要对这些 重要信息进行加密,使用RSA公钥加密,服务端使用RSA解密,然后返回一些普通信息,比如状态码code,提示信息msg,提示操作是成功还是失败。这种场景下,仅仅使用RSA加密是可以的。
但是,如果仅仅使用RSA,服务端只通过RSA解密,这样会对于性能会有所影响,原因是RSA的解密耗时约等于AES解密数据的100倍,所以如果每个重要信息都只通过RSA加密和解密,则会影响服务端系统的性能,所以建议两种算法一起使用。
客户端传输重要信息给服务端,服务端返回的信息需加密,例如客户端登录的时候,传递用户名和密码等资料,需要进行加密,服务端验证登录信息后,返回令牌token需要进行加密,客户端解密后保存。此时就需要结合这两种算法了

1.客户端加密
1.客户端随机产生AES的密钥;
2.对身份证信息(重要信息)进行AES加密;
3.通过使用RSA对AES密钥进行公钥加密。
在传输的过程中,即使加密后的AES密钥被别人截取,因为并不知道RSA的私钥,无法解密得到原本的AES密钥,就无法解密用AES加密后的重要信息。

2.服务端使用RSA + AES对重要信息进行解密
1.对加密后的AES密钥进行RSA私钥解密,拿到密钥原文;
2.对加密后的重要信息进行AES解密,拿到原始内容。

3.服务端向客户端传递重要信息
解密后的AES密钥,对将要传递给客户端的数据进行AES加密,返回给客户端,由于客户端和服务端都已经拿到同一把AES钥匙,所以客户端可以解密服务端返回的加密后的数据。如果客户端想要将令牌进行保存,则需要使用自己定义的默认的AES密钥进行加密后保存,需要使用的时候传入默认密钥和密文,解密后得到原数据。

摘要:所谓的摘要就是一段信息或者一个文件通过某个哈希算法(也叫摘要算法)而得到的一串字符,摘要算法的特点就是不同的文件计算出的摘要是不同的(也有可能相同,但是可能性非常非常低),所以摘要算法通常是用来判断文件是否被篡改过。其还有一个特点就是通过摘要是无法推导出源文件的信息的。常用的摘要算法有MD5、SHA等

数字签名: 数字签名就是一个文件的摘要加密后的信息,数字签名是和源文件一起发送给接收方的,接收方收到后对文件用摘要算法算出一个摘要,然后和数字签名中的摘要进行a比对,两者不一致的话说明文件被篡改了。

数字证书: 数字证书是一个经证书授权中心生成的文件,数字证书里一般会包含公钥、公钥拥有者名称、CA的数字签名、有效期、授权中心名称、证书序列号等信息。其中CA的数字签名是验证证书是否被篡改的关键,它其实就是对证书里面除了CA的数字签名以外的内容进行摘要算法得到一个摘要,然后CA机构用他自己的私钥对这个摘要进行加密就生成了CA的数字签名,CA机构会公开它的公钥,验证证书时就是用这个公钥解密CA的数字签名,然后用来验证证书是否被篡改。

CA:签发证书的权威机构
根CA:CA的CA,可以签发CA的证书
根证书:根CA的自签名证书

举例:
拍卖宝石,张三,谁出价高就卖给谁,对于报价文件属于机密文件
1.通过对称加密有什么风险
李四想要买,做了一个保健文件(文件名price.txt,文件内容10万),里斯用一个对称密钥123对文件进行加密,然后李四将这个密钥和加密文件发给张三,张三收到后解密,知道了李四报价是10万,王五也想要,他想办法截获了李四发给张三的密钥和加密文件,知道了李四的报价,将自己的报价改成了11万,结果王五最后得到了这个宝石。

用对称加密的话,密钥要是被截获了,安全性就是十分低

2.用非对称加密
张三自己生成一堆密钥,私钥是zhangsan1,公钥是zhangsan2,私钥张三自己保存,公钥公布。
李四将price.txt,用公钥zhangsan2进行加密传给张三,张三用私钥zhangsan1解密得到李四的报价是10万。这是王五就算截获了报价文件,王五没有张三的私钥,无法解密文件,无法知道李四的报价。

3.数字签名的作用
如果王五截获了李四发给张三的报价文件,王五伪造了一份,写成报价5万,将这份伪造文件用张三公布的公钥zhangsan2进行加密,张三收到文件后进行解密,发现文件报价5万过低,李四错失了得到宝石的机会。因为张三收到文件后,不知道报价文件是否被篡改过。

解决这个问题,李四需要自己生成一堆非对称加密的私钥lisi2,私钥lisi1自己保存,公钥给张三,李四对自己的报价文件通过摘要算法得到一个摘要(假设aaa),再用自己的私钥lisi1加密这个摘要得到数字签名,最后将加密的报价文件和数字签名一起发给张三,张三收到后,先用lisi2解密数字签名得到摘要aaa,然后用自己的zhangsan1私钥解密加密的文件得到报价源文件,然后对报价源文件进行摘要算法,看计算的结果是不是aaa,如果不是的话说明报价文件被篡改了

这时,如果王五截获了李四的报价文件王五伪造一份报价文件的话,张三收到后,会发现报价文件和数字签名不匹配。

非对称加密能确保加密文件内容不被窃取,但不能保证文件不被篡改,数字签名用来验证文件是否被篡改过

4.数字证书的作用
如果王五自己也生成一对用于非对称加密的密钥,私钥wangwu1,公钥wangwu2,李四将自己的公钥lisi2发给张三的过程中被王五截获了,王五用自己的公钥wangwu2替换了lisi2,所以张三最后收到的公钥实际上是王五的,后面李四发的数字签名和报价文件都被王五截获,同时,王五伪造了一份报价文件,用自己的私钥wangwu1加密报价文件的摘要生成伪造的签名发给张三,张三收到后发现数字签名和报价文件是匹配的,无法辨别真伪。

因为张三无法辨别收到的公钥是不是李四发的,此时,数字证书就起到了作用。李四到权威机构申请数字证书,证书包含了公钥lisi2,和公钥的拥有者李四等相关信息,李四将证书发给张三,张三通过证书里面的信息就可以判断证书是不是李四的。

证书发送过程有没有可能被截获?证书里面还包含了CA的数字签名,这个签名是证书机构用他们自己的私钥对证书的摘要进行加密的,公钥是公开的,即便王五截获并篡改了证书内容,也无法伪造证书机构的签名,张三收到证书后通过验证签名会发现证书被篡改

3.计算机网络——加密,数字签名,数字证书相关推荐

  1. 网络安全--数字签名/数字证书

    对称加密: 未加密的信息+秘钥 --> 加密的黑盒子 --> 加密后的信息 加密后的信息+秘钥 --> 解密的黑盒子 --> 未加密的信息 非对称加密: 未加密的信息+公钥 - ...

  2. 什么是 数字签名 数字证书 数字信封

    1,数字签名 数字证书 数字信封 当A和B进行通信时,将A发送的消息的hash值先用A的私钥进行加密(数字签名),B存储A的公钥,B收到信息之后利用公钥进行解密,保证信息的完整性和保密性来自于A 存在 ...

  3. 对称加密与非对称加密的区别_https原理及对称加密、非对称加密、数字证书、数字签名的含义...

    一.为什么要使用https 使用https的原因其实很简单,就是因为http的不安全. 当我们往服务器发送比较隐私的数据(比如说你的银行卡,身份证)时,如果使用http进行通信.那么安全性将得不到保障 ...

  4. 非对称加密与数字证书

    文章目录 1 非对称加密 2 数字签名 3 数字证书 4 数字签名和数字证书的区别 5 CA 认证中心如何保证权威性 6 HTTPS 协议 7 HTTPS 与 SSL 8 为什么不一直使用HTTPS ...

  5. 加密解密数字证书相关知识

    随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出.为了能在因特网上开展安全的电子商务活动,公开密钥基础设施( PKI, Public Key I ...

  6. 对称加密、非对称加密、数字证书

    (转)白话数字签名(1)--基本原理(新!) 摘要 本系列通过通俗易懂的讲解,让您就像读小说一般,轻轻松松就能理解数字签名的基本原理和应用方法(即使您是一个并不精通计算机的企业老总,也能读懂本篇文章) ...

  7. 加密之数字证书和PFX信息交换

    文章目录 1 数字证书 1.1 制作证书 1.1.1 生成keyStroe文件 1.1.2 生成自签名证书 1.2 实际操作 1.2.1 获取公钥 1.2.1.1 通过流式获取公钥 1.2.1.2 通 ...

  8. java exchange 数字证书认证_java处理加密文件---数字证书文件格式(cer和pfx)的区别 - 数安时代(GDCA)SSL证书官网...

    java处理加密文件中常见的两种数字证书文件格式(cer和pfx) 数字证书文件格式(cer和pfx)的区别 1.带有私钥的证书 由Public Key Cryptography Standards ...

  9. 对称加密、非对称加密、RSA、消息摘要、数字签名、数字证书与 HTTPS 简介

    文章目录 1.加密算法简介 1.1 对称加密(Symmetric Key Algorithms) 1.2 非对称加密(Asymmetric Key Algorithms) 1.3 非对称加密 RSA ...

  10. 加密、解密、数字签名和数字证书概念详解

    1.  概述 随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出.为了能在因特网上开展安全的电子商务活动,公开密钥基础设施(PKI, Public ...

最新文章

  1. C# 移动开发(Xamarin.Form) Plugin.BLE 蓝牙连接
  2. 虚拟主机时代:美国主机如何在国内显神通
  3. HTML与CSS:设计滚动条(仅仅适用于IE浏览器)
  4. Poor Man's BERT: 更小更快的Transformer模型
  5. 二手交易平台html代码,二手物品交易HTML5模板
  6. [hdu2243]考研路茫茫——单词情结(AC自动机+矩阵快速幂)
  7. java jdbc 详解_JDBC详解
  8. git常用命令常用场景
  9. 【手写数字识别】基于matlab PCA手写数字识别【含Matlab源码 309期】
  10. ojdbc6报红以及nested exception is org.hibernate.service.spi.ServiceException: 已解决
  11. 【论文阅读】2018-基于深度学习的网络流量分类及异常检测方法研究_王伟
  12. MATLAB求解三角函数
  13. JVM垃圾回收机制(收集器、收集算法、卡表)
  14. Android 设计素材积累(九层之台起于垒土)
  15. 西南大学计算机学院导师,西南大学计算机与信息科学学院研究生导师简介-胡小方...
  16. 经典解压缩软件 WinRAR 5.71 无广告版
  17. css中好看常用的中文字体
  18. java 优化包_java美化界面包 | 学步园
  19. 万字详解 Linux 常用指令(值得收藏)
  20. 【PP-6】新建物料清单BOM

热门文章

  1. 微信运动_刷步思路+Python源码+云部署(持续更新)_一蓑烟雨任平生
  2. cms07——单页模版制作教程
  3. PbootCMS制作个性分页条之单页/总页数效果教程
  4. 什么是数据湖?为什么需要数据湖?
  5. ModBus RTU-上位机与PLC通信
  6. 29-SpringBoot 安全与SpringSecurity
  7. python我的世界给予物品指令_我的世界指令:强大的 /give 指令
  8. [构造] Codeforces Gym 101173 CERC 16 K BZOJ 4796 Key Knocking
  9. 鲁班图片压缩实现仿微信九宫格选择图片效果
  10. 1.1 区块链专业术语(中英对照)