公钥、私钥相关概念

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

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

阅读更多
想对作者说点什么? 我来说一句

openssl生成RSA私钥公钥

2015年08月23日 949KB 下载

Rsa 私钥加密 公钥解密

2018年04月25日 617KB 下载

没有更多推荐了,返回首页

不良信息举报

公钥、私钥相关概念

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭