非对称加密的简单了解
1 概念
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
简单地理解:
公钥加密,私钥解密;私钥签名(或者叫加密),公钥验签(或者叫解密)。之所以叫“签名”,是因为私钥是不公开的,因此用私钥可以唯一确定发送发。
2 过程
- 假设:
利用非对称加密,甲要发送一段明文给乙,甲乙各有一对秘钥,都对外公布自己的公钥。
-
发送过程:
1)将明文进行散列运算,生成摘要
2)将明文用乙公钥加密,摘要用甲公钥签名
3)合成一个包发送 -
接收过程
1)利用乙的秘钥解密得到明文,并用散列生成摘要
2)利用甲的公钥验证甲的身份,并得到摘要
3)在上面2步生成的摘要比对是否相等
3.解决的问题
- 问题
1)明文保密性? 通过公钥加密解决
2)明文完整性? 通过散列算法得到的摘要,再比对摘要,解决
3)对方身份? 通过私钥签名,公钥验签解决
网友评论