公钥、私钥相关概念

转载 2015年11月21日 16:45:53

1.    公开的密钥称为公钥,只有自己知道的称为私钥。公钥与私钥是通过一种算法生成的,是成对出现且具有唯一性,公钥是公开的部分,而私钥是保密的一部分。如果用公钥来加密必须用配对儿的私钥来解密,反之亦然。

2.    公钥通常用来加密。然后用私钥解密

应用1:保护自己的数据。Curry有公钥A和私钥B,要保护加密自己的数据不被别人窃取,他用公钥A加密,虽然公钥A大家都可以知道,但是不知道跟A配对儿的私钥B,即使被截获,在不知道B的情况下是无法解密的。所有,只有Curry自己能够解密。

应用2:加密明文。Curry有公钥A和私钥B,Alen知道Curry的公钥A,要给Curry发送信息,他用公钥A对明文进行加密,这时只有Curry用自己的私钥B才能解密,其他人即使截获,在不知道B的情况才是无法解密的。保证了数据的机密性,不保证数据的完整性、身份验证和不可否认性。

3.    私钥通常用来加密数字签名,然后用公钥验证

应用: Curry向Alen回信息

步骤1:明文经过哈希算法,转换成摘要digest。

步骤2:使用私钥B对digest进行加密得到数字签名signature

步骤3:将明文和数字签名signature一起发送至Alen

步骤4:Alen使用公钥A对数字签名signature进行解密,得到摘要digest。如果解密成功,证明信息是由Curry发送的。但是进行了身份验证,并不知道信息是否被修改。

步骤5:Alen使用哈希算法对信息进行处理,得到摘要digest2,如果此摘要与digest相同,证明信息在传输过程中没有被修改。

那么问题来了!!!!!!如果在传输过程中,信息被Peter截获,由于Curry的公钥A是公开的,Peter就将信息公钥A改为自己的公钥M,然后用自己的公钥N伪造新的数字签名向Alen发送,这时Alen其实使用的是公钥M,这样信息就被解密了,信息就会泄露。解决方法

步骤6:Alen要求Curry到证书中心CA对公钥A做认证,CA是可信任的第三方机构。CA使用自己的私钥X对Curry的公钥A和一些信息进行加密,做成数字证书Digital Certificate。

步骤7:以后Curry在回信时可以附上数字证书,Alen可以用CA的公钥进行解密,得到Curry的公钥A,然后再对信息进行解密。证明了数字签名确实是Curry

4.    数字证书

最简单的数字证书包含:公开密钥、名称和授权机构的数字签名,此外,数字证书是有时间限制的

SQL(一)-基本概念

1:(数据库简介 数据库是以便于访问的方式组织的数据的集合,方便有效的管理和更新。 数据库由存储相关信息的表组成。 例如,如果您要创建包含大量信息(如视频,用户名,密码和评论)的YouTube网站,您...
  • cho3en1
  • cho3en1
  • 2016年11月21日 13:43
  • 246

SPSS——基本的统计概念

SPSS——基本的统计概念
  • liuyuan_jq
  • liuyuan_jq
  • 2016年05月12日 08:17
  • 1026

矩阵论中的常见概念

学校时候学的线性代数都忘光了,总结一下常用的东西 矩阵的行列式性质:  where In is the n × n identity matrix.{\displaystyle \det(A...
  • u011722133
  • u011722133
  • 2017年06月12日 16:36
  • 205

字符串相关概念

本文简单讲解字符串的相关概念。如:回文、子串、子序列、前缀树、后缀树、后缀数组、匹配、字典序。...
  • CodingEnding
  • CodingEnding
  • 2017年03月16日 18:02
  • 361

信息论基本概念

  • ha_qjq
  • ha_qjq
  • 2016年11月27日 15:39
  • 240

大数据相关概念总结

本贴从解决这类问题的方法入手,开辟一系列专题来解决海量数据问题。拟包含 以下几个方面。 Bloom Filter Hash Bit-Map 堆(Heap) 双层桶划分 数据库索引 ...
  • u011402636
  • u011402636
  • 2014年03月31日 20:31
  • 1417

Hive基本概念及操作

1.三种部署方式: 1)内嵌模式 元数据服务和HIve服务运行在一个JVM中,同时使用内嵌的Derby数据库作为元数据存储,只能支持同时最多一个用户打开Hive会话。   2)本地模式 Hiv...
  • wuwei12341a
  • wuwei12341a
  • 2016年11月12日 08:44
  • 506

ARCore:ARCore开发的起步

已经是第7章节了,终于可以开始正式接触到我们梦寐以求的ARCore了,相信大家应该都有一点点小激动了吧。那么下面我们就开始讲解如何进行ARCore的开发。 一、Session简介 初看到S...
  • p106786860
  • p106786860
  • 2017年11月26日 10:50
  • 260

数据库的一些基本概念

一、基本入门概念 DBMS:数据库管理系统,就是数据库软件 数据库:保持有组织的数据的容器(通常是一个文件和一组文件),不管数据是什么或如何组织的,是通过DBMS创建和操纵的容器。 SQL:结构化查询...
  • nawuyao
  • nawuyao
  • 2015年12月21日 11:11
  • 3330

SaaS服务和相关概念

基本概念就是有应用软件服务提供商,统一部署,为软件的租户提供服务,租户通过互联网访问服务。多租户概念多租户是SaaS的重要的特征,是多个租户使用同一个应用软件实例,这样多个租户复用资源,有效降低了成本...
  • ZiLongO
  • ZiLongO
  • 2016年09月24日 21:34
  • 237
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:公钥、私钥相关概念
举报原因:
原因补充:

(最多只允许输入30个字)