关闭

公钥、私钥相关概念

172人阅读 评论(0) 收藏 举报

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.    数字证书

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

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1666次
    • 积分:96
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章存档