非对称加解密交互故事

1.鲍勃有两把钥匙,一把是公钥,另一把是私钥。 

这里写图片描述

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

这里写图片描述

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

这里写图片描述

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

这里写图片描述

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

这里写图片描述

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

这里写图片描述

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

这里写图片描述

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

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

这里写图片描述

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

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

这里写图片描述

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

这里写图片描述

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

转自:http://blog.csdn.net/xy010902100449/article/details/52145009

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2019年规划

2019年规划,到2019-12-31检查: 1.至少读5本与工作无关的书(平均两个月1本),每本都产出读后感 1.1 《重构 改善代码既有设计》,2月19日~3月5日,刚好两周读完,产出两篇总结&#xff0…

RSA私钥文件(PEM-PKCS#8)解析

***此文仅针对没有执行加密的PKCS#8私钥文件***一、实例解析PKCS#8格式使用的是ASN.1结构,首先我们对一个没有执行加密的PKCS#8格式私钥文件进行一下解析,方便我们下面分析其结构。命令:openssl asn1parse -i -in privatekey.pem结果如下&…

分布式和集群的区别

分布式和集群的区别 分布式是多个不同功能的机器共同完成一件事情 集群是多个相同功能的机器完成的是相同的事情 分布式是为了分担压力 集群是为了稳定性和高可用 举个例子: 一个厨师开了一个饭店,他要负责做饭和卖饭,他的压力就比较大&am…

Sqlite3中replace语句用法详解

在本例中使用如下数据库表: (图 1) 该表的表名为student, 存储学生信息。 所有字段的数据类型都是TEXT 。 其中id和name作为复合主键。 email字段加上了唯一约束。建表语句如下: CREATE TABLE IF NOT EXISTS student …

[分布式一致性协议] ------ raft协议的解释与理解

前言 在分布式系统中,为了保证容错性,一般会维护多个副本集群,提高系统的高可用,但与之带来的问题就是多个副本的一致性(consensus)问题。 我们认为,对于一个具有一致性的的集群中,…

iOS应用图片命名规则

一、界面图片命名规则:MyImage.png 一般图片命名MyImage2x.png 高清图片命名MyImage~iphone.png iPhone 和 iPod touch版一般图片命名MyImage2x~iphone.png iPhone 和 iPod touch版高清图片命名MyImage~ipad.png …

用户自定义排序的几种实现思路

场景 每个用户,有多个分组 每个分组在页面展示,而且是有顺序的,这个顺序是由用户决定 以下是关于多种情况下的库表设计思路: 情景一:如果每改一次,就要实时修改库,而且用户可以任意修改顺序&…

重构,体现一个工程师的基本素养和底蕴

重构小记(重构,改善既有代码的设计读后总结) 我们要时时刻刻保持一颗项目要重构的心。 在非技术出身的领导看来,能用的代码就是好代码,只关注功能。 在工程师看来,代码不仅要好用,更要好看&…

应用内购买(IAP)各类型在服务端的验证规则

一、非消耗品(比如单本杂志购买,苹果服务器支持恢复) 1.先验证服务器有没有购买记录,如果有,则不处理,此次操作成功 ;2.如果服务器没有购买记录,则到苹果服务器验证(1)首先到正式验证地址验证收据,如果返回…

@Transactional事务生效条件与样例

Transactional事务生效条件 Transactional注释的方法,不能是private修饰 Transactional注释的方法,必须是有接口的方法实现(通用的Spring面向接口编程的套路) Transactional注释的方法,必须要通过接口的方式调用&…

利用.dSYM和.app文件准确定位Crash位置

当发布到iPhone上的应用程序Crash之后,iPhone会自动生成一个Crash Log(*.crash),这个文件包含了一些有用的调试信息,但对于堆栈,它只记录的函数地址,而无法显示函数名。函数名保存在一个叫dSYM的…

使用maven的profile区分本地环境和线上环境

使用maven的profile区分本地环境和线上环境 多环境开发,使用maven-profile,就可以在打包的时候通过参数的调整,最终打的包也不同。 以区分本地数据库和线上数据库为例 比如测试环境,用的是本地测试数据库;生产环境用…

查看函数库.a函数符号信息

一、概述 nm命令可以列出一个函数库文件中的符号表。它对于静态的函数库和共享的函数库都起作用。对于一个给定的函数库,nm命令可以列出函数库中定义的所有符号,包括每个符号的值和类型。还可以给出在原程序中这个函数(符号)是在多…

重构,体现一个工程师的基本素养和底蕴(细节篇)

重构小记(重构,改善既有代码的设计读后总结) 方法级别 提炼函数: 将一个大方法,拆成多个小方法,难点在于小方法的命名。 假如有早上上学的一个大方法, 那么就应该在里面有起床,穿衣…

MVPVM模式介绍

一、概述MVPVM即:Model-View-Presenter-ViewModel。此模式是MVVM和MVP模式的结合体。但是交互模式发生了比较大的变化。MVVM参考本博客文章:iOS-MVVM-模式介绍MVP参考本博客文章:MVP模式介绍 二、原理:Presenter同时持有View、Mod…

[线程池] ------ 形象的描述线程池,用一个特好记的例子来记忆

线程池 为了减少线程频繁的创建和销毁过程,引入池的概念。 将一些线程先创建好放在线程池中,每次来任务就用池中的线程执行,空闲时池中线程就等待,但不销毁。 原始线程池的创建: ThreadPoolExecutor executor1 new …

分组密码的工作模式

一、理论基础1.概述密码学中,块密码的工作模式允许使用同一个块密码密钥对多于一块的数据进行加密,并保证其安全性。块密码自身只能加密长度等于密码块长度的单块数据,若要加密变长数据,则数据必须先被划分为一些单独的密码块。通…

数据仓库基本认知

数据仓库概念: 数据仓库,英文名称Data Warehouse,简写为DW。 是一种面向分析的存储系统。 他是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。 它为企业提供一…

PBOC3.0中使用的国密SM2算法

一、知识准备 PBOC3.0规范就是《中国金融集成电路(IC)卡规范》3.0版本。SM2是国密局推出的一种他们自己说具有自主知识产权的非对称商用密码算法。本身是基于ECC椭圆曲线算法的,所以要讲SM2, 先要弄懂ECC。 完全理解ECC算法需要一定的数学功底…

mapper注入失败,NoSuchBeanDefinitionException: No qualifying bean of type [com.xxx.XxxMapper] found for d

mapper注入失败: Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.xxx.XxxMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependen…