非对称加密

作者: 刘岳森 | 来源:发表于2018-09-27 23:47 被阅读81次

不对称加密

什么是不对称加密,以及公钥和私钥

每个用户都有两把钥匙,一把公钥一把私钥。公钥是对外发布的,所有人都看的到所有人的公钥,私钥是自己保存,每个人都只知道自己的私钥而不知道别人的。当用公钥加密的时候,就用私钥解密,用私钥加密的时候,就用公钥解密。常用于https协议加密。

常见的不对称加密方式

  • 一种是服务端用私钥加密,然后客户端用公钥解密,这种常用于分发<font color=#00ffff>数字签名</font>,当数字签名被工信单位认证之后就成了<font color=#00ffff>数字证书</font>。
  • 一种是客户端用公钥加密,然后服务端用私钥解密,因为客户端一旦用公钥加密之后,只有拥有私钥的服务端才能打开,所以是安全的。这种方式常用于加密客户端发送的信息。

常用名词

数字签名

是用于解密的公钥,可以比喻成合同中的签字,能够认证信息发送方身份的真实性。数字签名的本质是公钥。

数字证书

经过工信部门认证过的数字签名叫做数字证书。

不对称加密的发展及流程

基础版

所有人持有一份我的公钥,私钥只有我一个人持有,也就是说所有人都可以用公钥加密包裹,但是只有我一个人能用私钥拆开包裹。
一开始用明文建立连接,并且我把公钥发送给你(假装这个时候我是服务端,你是客户端)
之后你就可以用我发给你的公钥加密你要发送的信息发给我了。(这个时候你也可以把你的公钥加密之后发给我)


IMG_9D8E6185DCEA-1.jpeg
这个时候出现了另一个问题

只通过前面的方法你没有办法确认这个包裹到底是不是我发的。
这个时候如果有一个人装作快递员,把我的包裹拦了下来,然后假装我给你发包裹,当你把你的公钥放进这个包裹并发回的时候,这个快递员再把包裹拦截下来,然后用另外一个包裹把快递员自己的公钥放进去,这个时候他就有了我们两个人的公钥,他就可以扮演一个中间者,随意的更改我们两个发的包裹中的数据,而我们两个人并不知道我们实际上是在和这个快递员互发包裹。


618f768c3b9eb48d052fd5acf230f889_hd.jpg

升级版--加入数字签名

我们采用数字签名的方式,先用hash函数生成包裹的摘要 digest,然后我用私钥对这个digest加密生成数字签名,这个时候这个数字签名可以被所有人解密看到,但是大家都没有办法对他进行修改,因为能加密他的只有我的私钥。这个时候你就能知道这个包裹是不是我发的了。我们可以把这个数字签名类比成我的签名,相当于我在包裹上刻上了我的签字。
而且你对信件的内容进行hash,如果得到的结果和数字签名解密后的结果一样,说明包裹没有被人修改过。

但是这里还有一个问题

因为我们前面的前提是你知道你手里的公钥是我的,但是万一你手里的公钥是假的呢,是上一个快递员伪造的呢,这个时候上一个快递员就可以假装是我给你发包裹了。

终极版--数字签名升级成数字证书。

这个时候就有了一个认证中心,在认证中心,我的公钥进行了登记,认证中心用他的私钥加密我的公钥和一些其他信息发给我,这个时候我就有了数字证书,相当于我的身份证,之后我再给你发消息的时候在发送数字签名的同时也发送一份我的证书给你,通过对比你就知道这个包裹有没有被伪造了。认证中心发给你的加密过的文件就叫做数字证书,证书必须是工信机构颁发的,必须人工进行登记,所以很难伪造。这也是https信息安全的原因,但是https证书需要注册认证,所以不需要保证网站数据安全的时候一般都使用http。

相关文章

  • 第四篇:非对称加密及RSA加密算法

    目录一、非对称加密 1、什么是非对称加密? 2、对称加密的工作过程 3、非对称加密的优点 4、非对称加密的不足二、...

  • https交互流程简述

    https使用到的加密算法 对称加密非对称加密 通过非对称加密,交换对称加密的密钥,之后采用对称加密传输非对称加密...

  • ios开发之证书和签名机制(一)

    非对称加密和摘要 1、非对称加密的特性和用法 1) 非对称加密算法(RSA):非对称加密算法指加密秘钥和解密秘钥是...

  • 学习笔记:HTTPS协议原理

    对称加密和非对称加密 加密分两种,对称加密和非对称加密。对称加密是指加密的双方使用同一个密钥加密和解密数据。非对称...

  • iOS逆向攻防之HASH,数字签名,对称加密算法

    在密码学中,加密部分主要分为对称加密和非对称加密,非对称加密主要有RSA非对称加密(使用公钥/私钥来加密解密),对...

  • iOS逆向攻防之HASH,数字签名,对称加密算法

    在密码学中,加密部分主要分为对称加密和非对称加密,非对称加密主要有RSA非对称加密(使用公钥/私钥来加密解密),对...

  • Https加密原理图解

    1. 为什么要用对称加密+非对称加密? 结合对称加密的快和非对称加密的安全。 2. 为什么不能只用非对称加密? 如...

  • kotlin版本RSA非对称加密解密与分段加密解密

    基于kotlin语言的RSA非对称加密解密与分段加密解密 RSA非对称加密 RSA非对称加密的具体算法与来源我就不...

  • 4-对称加密

    对称加密与非对称加密 按照密钥的特征不同, 密码体制分为对称密码体制和非对称密码体制。对称加密和非对称加密都是可逆...

  • 3.1 非对称加密简介

    非对称加密技术介绍 对称加密技术被称为初等加密技术,非对称加密技术即为高级数据加密技术,安全性更高。非对称加密算法...

网友评论

    本文标题:非对称加密

    本文链接:https://www.haomeiwen.com/subject/hmtuoftx.html