美文网首页
Https的密码学基础

Https的密码学基础

作者: 无情剑客Burning | 来源:发表于2020-11-01 19:30 被阅读0次

三个主角

(1)卡尔(与冰女进行消息往来) 在这里插入图片描述 (2)拉比克(截获卡尔和冰女传递的消息,也就是中间人) 在这里插入图片描述 (3)冰女(与卡尔进行消息往来) 在这里插入图片描述

基本概念

公钥加密

假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。

我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。

我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但是别人解不开,因为别人不知道2就是我的私钥,只有我才能解密,解密后就得到a。这样,我们就可以传送加密的数据了。

私钥签名

如果我用私钥加密一段数据(当然只有我可以用私钥加密,因为只有我知道2是我的私钥),结果所有的人都看到我的内容了,因为他们都知道我的公钥是1,那么这种加密有什么用处呢?

但是我的好朋友x说有人冒充我给他发信。怎么办呢?我把我要发的信,内容是c,用我的私钥2,加密,加密后的内容是d,发给x,再告诉他解密看是不是c。他用我的公钥1解密,发现果然是c。 这个时候,他会想到,能够用我的公钥解密的数据,必然是用我的私钥加的密。只有我知道我得私钥,因此他就可以确认确实是我发的东西。 这样我们就能确认发送方身份了。这个过程叫做数字签名。当然具体的过程要稍微复杂一些。

用私钥来加密数据的摘要,用途就是数字签名。

签名、证书

(1)卡尔有两把钥匙,一把是公钥,另一把是私钥。卡尔把私钥自己留下,把公钥给了拉比可和冰女。 在这里插入图片描述 (2)冰女要给卡尔写一封保密的信,于是她使用了卡尔的公钥对信的内容进行了加密。 在这里插入图片描述

(3)卡尔收到信之后,用自己的私钥对数据进行解密,只要私钥不泄露,拉比克即使截获了信,也无法对信进行解密。

在这里插入图片描述 (4)卡尔看完信之后,决定回信。首先,卡尔对回信的内容通过哈希函数生成一个摘要。如果信的内容比较大(比如视频),对整体内容加密代价很大,所以这里通过哈希函数生成摘要。 在这里插入图片描述

(5)然后对这个摘要使用私钥进行加密生成数字签名

在这里插入图片描述 (6)卡尔将这个签名放在信的末尾。将信发送给冰女。 在这里插入图片描述

(7)冰女收到信之后,确定是卡尔发的。使用公钥解密签名内容,可以获取到信件的摘要。由此证明这封信确实是卡尔发的。 [图片上传失败...(image-38a648-1604230205449)]

(8)除去签名,对信的内容进行哈希运算,与刚刚获取到的信件的摘要进行对比,如果一致,则说明信没有被篡改过。 在这里插入图片描述

(9)拉比克作为偷技能的高手,如果让他把冰女的公钥替换成自己生成的公私钥对,那么会怎么样?这个时候拉比克截获信息之后修改之后用自己的私钥加密生成另一份签名,而冰女同样可以使用公钥解密签名,这个时候冰女并不知道信件被篡改。 [图片上传失败...(image-d3d505-1604230205449)]

(10)后来,冰女感觉不对劲,发现自己无法确定公钥是否真的属于卡尔。她想到了一个办法,要求卡尔去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对卡尔的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)

在这里插入图片描述 (11) 卡尔拿到数字证书以后,就可以放心了。以后再给冰女写信,只要在签名的同时,再附上数字证书就行了。 在这里插入图片描述

(12)冰女收信后,用CA的公钥解开数字证书,就可以拿到卡尔真实的公钥了,然后就能证明"数字签名"是否真的是卡尔签的。图中鲍勃的应该替换成卡尔

在这里插入图片描述

写在最后

公钥和私钥是成对的,它们互相解密。 公钥加密,私钥解密。 私钥数字签名,公钥验证。 要发给我的东西,你们用我的公钥加密,私钥只有我才有,其他哪怕拥有我公钥的人是解不开的。 我想要发出去的东西,用私钥来加密,就是数字签名,凡是拥有我公钥的人都能解开。

burning_gzh.png

相关文章

  • Https的密码学基础

    三个主角 (1)卡尔(与冰女进行消息往来) (2)拉比克(截获卡尔和冰女传递的消息,也就是中间人) (3)冰女(与...

  • Android HTTPS从概念到编码

    HTTPS请求为什么就安全? https是一个建立在密码学基础之上的一种安全通信协议,准确来说是基于HTTP协议和...

  • iOS-逆向(七) RSA加密

    密码学 密码学是指研究信息加密,破解密码的技术科学.密码学的起源可追溯到2000年前,如今的密码学是以数学为基础的...

  • 密码学-RSA

    密码学 密码学是指研究信息加密,破解密码的技术科学。密码学的起源可追溯到2000年前。而当今的密码学是以数学为基础...

  • HTTPS中的密码学

    一 HTTPS 存在意义 HTTP协议有些安全问题,HTTPS为解决这些安全问题造成的,主要有哪些安全问题那: 机...

  • 0. 密码学专题 - 概述

    密码学专题 - 概述 本人打算整理一份关于密码学基础知识的专栏。主要参考了这些书籍:《应用密码学:协议、算法与C源...

  • (转载自diycode)HTTPS 为什么更安全

    HTTPS 是建立在密码学基础之上的一种安全通信协议,严格来说是基于 HTTP 协议和 SSL/TLS 的组合。理...

  • 浅谈密码学——加密者与破译者的博弈

    密码学是网络安全、信息安全、区块链等产品的基础,常见的非对称加密、对称加密、散列函数等,都属于密码学范畴。 密码学...

  • 比特币之密码学应用

    由于比特币的去中心化安全机制是完全建立在密码学基础之上的,所以比特币家族又被称为“密码学货币”,可以说密码学是比特...

  • 密码学之RSA加密原理解析

      密码学是指研究信息加密,破解密码的技术科学。密码学的起源可追溯到2000年前。而当今的密码学是以数学为基础的。...

网友评论

      本文标题:Https的密码学基础

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