图解-密码学核心思想

简介: 图解-密码学核心思想

序言
本文是一个图文故事,旨在让陷于密码学苦海的同胞们生动地理解 :

1、非对称加密
2、关于公钥
3、关于私钥
4、散列函数
5、消息摘要
6、数字签名
7、数字证书
8、证书机构

等密码学和信息安全体系的基础概念的地位与作用。

图文故事
1、 鲍勃有两把钥匙,一把是公钥,另一把是私钥。

2、 鲍勃把公钥送给他的朋友们—-帕蒂、道格、苏珊—-每人一把。

3、苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

4、鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。

5、鲍勃给苏珊回信,决定采用”数字签名”。他写完后先用Hash函数,生成信件的摘要(digest)。

6、然后,鲍勃使用私钥,对这个摘要加密,生成”数字签名”(signature)。

7、鲍勃将这个签名,附在信件下面,一起发给苏珊。

8、苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。

9、苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

10、复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成”数字签名”,写信给苏珊,让苏珊用假的鲍勃公钥进行解密。

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

12、鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。

13、 苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明”数字签名”是否真的是鲍勃签的。

Https应用
1、下面,我们看一个应用”数字证书”的实例:https协议。这个协议主要用于网页加密。

2、 首先,客户端向服务器发出加密请求。

3、服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。

4、客户端(浏览器)的”证书管理器”,有”受信任的根证书颁发机构”列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。

5、如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。

6、如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告。

总结
(1) 概念解释
回顾文章开头指出的概念,下面将给出结合本文的解释:

1、非对称加密:避免了对称加密技术产生庞大的密钥的弊端,实际应用于加密(传输)对称密钥等短信息(因效率太慢)。

2、关于公钥:公钥用于客人给主人写信时加密信件,以及客人收到回件时验证数字签名。

3、关于私钥:私钥用于主人查看(公钥)加密过的来件,以及回复信件时加密信件的消息摘要(而不是直接加密长篇的信件)。

4、散列函数:如MD5、SHA等哈希算法,用于生成消息摘要,目的在于防止信件(消息)内容被篡改(“雪崩效应”:如果信件内容稍有篡改,哈希值将大变)。

5、消息摘要:对信件(消息)内容进行散列函数计算,生成固定长度的简短摘要。

6、数字签名:数字签名是私钥加密消息摘要后的产物,用于证实信件(消息)的发送方的身份。

7、数字证书:数字证书是证书机构颁发给用户的,里头包含用户的公钥。该公钥和其他相关信息(有效期等)一起被证书颁发机构的私钥加密了,形成数字证书,用于证明某公钥确实属于某用户。

8、证书机构:相当于权威的公安局(信用无人质疑),给公民颁发身份证(数字证书)。用于证明用户的公钥的可信性(不被伪造)。证书机构将自己的公钥公示天下,用自己的私钥加密每个已注册的合法用户的公钥,形成数字证书并颁发给用户。

(2) 验证思想
先来回忆下数字签名:

解密过程:

假设B给A发了一封信(里头含有 数字签名+数字证书),用户A在核实收到的信件确实原封不动地来源于用户B,而不是源于坏人C发的(或者被他更改过)时,需要经历以下几步:

1、验证数字证书——核实证书来源,获取用户公钥

使用证书机构(权威的公安局)提供的公钥(已公示天下),验证信件里头的数字证书,获得发件者合法的真实公钥(核实了证书的来源,确实是B的证书没错了)——因为证书机构(说话可信的公安机关)可以通过此证书告诉A,此证属于B,并且它的公钥为XXXXXXXXXX;

2、验证数字签名——核实发件者身份,以及信息完整性

(1)核实发件者身份

接下来咱们就用上面获得B的公钥,去尝试验证信件里头的数字签名(数字签名是信件里头除了数字证书以外,附带的第二个证件),如果能成功验证则可确认信件确实是B发的(前面的一步只证实了信件里头的数字证书记录的确实是B的并且获取了B的公钥,但是并未核实此信件一定是B发的,可能是别人发的,附加了B的证书而已嘛);

(2)核实内容完整性(真实性)

证明了是B发的以后,咱们就开始证明信件正文内容是否被篡改过了。此时就需要用到信件里头(除了数字证书以外)的另一个签证了——数字签名(还记得不,数字签名是B用她的私钥加密她的原始信件的消息摘要形成的)。所以此处我们只需要用B的公钥验证数字证书,并且将得到的结果与信件正文的消息摘要(自己计算一遍,采用的Hash算法在数字证书中有记录)比较一下是否一致,如果一致,证明没有被篡改。

至此,A就完整地验证了此信件确实是B发的,并且内容内容没被人修改过,可以完全信任,放心阅读。
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_39190897/article/details/82223408

目录
相关文章
|
2天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
28天前
|
运维 Cloud Native Devops
一线实战:运维人少,我们从 0 到 1 实践 DevOps 和云原生
上海经证科技有限公司为有效推进软件项目管理和开发工作,选择了阿里云云效作为 DevOps 解决方案。通过云效,实现了从 0 开始,到现在近百个微服务、数百条流水线与应用交付的全面覆盖,有效支撑了敏捷开发流程。
19257 29
|
29天前
|
人工智能 自然语言处理 搜索推荐
阿里云Elasticsearch AI搜索实践
本文介绍了阿里云 Elasticsearch 在AI 搜索方面的技术实践与探索。
18797 20
|
28天前
|
Rust Apache 对象存储
Apache Paimon V0.9最新进展
Apache Paimon V0.9 版本即将发布,此版本带来了多项新特性并解决了关键挑战。Paimon自2022年从Flink社区诞生以来迅速成长,已成为Apache顶级项目,并广泛应用于阿里集团内外的多家企业。
17504 13
Apache Paimon V0.9最新进展
|
30天前
|
存储 人工智能 前端开发
AI 网关零代码解决 AI 幻觉问题
本文主要介绍了 AI Agent 的背景,概念,探讨了 AI Agent 网关插件的使用方法,效果以及实现原理。
18692 15
|
28天前
|
人工智能 自然语言处理 搜索推荐
评测:AI客服接入钉钉与微信的对比分析
【8月更文第22天】随着人工智能技术的发展,越来越多的企业开始尝试将AI客服集成到自己的业务流程中。本文将基于《10分钟构建AI客服并应用到网站、钉钉或微信中》的解决方案,详细评测AI客服在钉钉和微信中的接入流程及实际应用效果,并结合个人体验分享一些心得。
9905 9
|
1月前
|
消息中间件 弹性计算 关系型数据库
函数计算驱动多媒体文件处理解决方案体验评测
从整体解读到部署体验,多方位带你了解如何利用函数计算驱动多媒体文件处理,告别资源瓶颈。
10441 13
|
22天前
|
存储 JSON Serverless
西游再现,函数计算一键部署 Flux 超写实文生图模型部署
参与体验活动生成西游人物图像,既有机会赢取好礼!本次实验在函数计算中内置了flux.1-dev-fp8大模型,通过函数计算+Serverless应用中心一键部署Flux模型,快速生成超写实图像。首次开通用户可领取免费试用额度,部署过程简单高效。完成部署后,您可以通过修改提示词生成各种风格的图像,体验Flux模型的强大绘图能力。
西游再现,函数计算一键部署 Flux 超写实文生图模型部署
|
1月前
|
SQL 容灾 关系型数据库
让X不断延伸, 从跨AZ到跨Region再到跨Cloud
本文从“空间”这一维度,聊一聊PolarDB-X在跨空间部署能力上的不断发展和延伸,以及在不同空间范围下的高可用和容灾能力,并着重介绍一下最新的产品能力——GDN(Global Database Network)。
|
1月前
|
缓存 测试技术 调度
PolarDB-X的TPC-H列存执行计划
本文从官方的角度逐条解析PolarDB-X在TPC-H列存执行计划的设计要点。这些要点不仅包含了各项优化的原理,还提供了相关的证明与代码实现,希望帮助读者更深入地理解PolarDB-X的列存优化器。
7872 11