曲径通幽论坛
标题:
PKI简述(公钥加密与公钥验证)
[打印本页]
作者:
easy
时间:
2013-11-25 21:00
标题:
PKI简述(公钥加密与公钥验证)
PKI (
(Public Key Infrastructure
,公共密钥基础结构)主要提供了两种功能:
1. 将发送的数据加密
2. 接收到数据后,验证数据是否为本人所发,同时确认数据的完整性,即检查数据在发送过程中是否被篡改
使用
公钥
和
私钥
这组密钥来支持上述功能。
公钥
:用户的公钥(public key)是可以公开给其他用户的。
私钥
:用户的私钥(private key)为用户私有,并存储在用户的计算机中,只有本人可以访问。
用户需要通过 CA (Certification Authority,证书颁发机构) 申请证书的方法来获取公钥和私钥对。
公钥加密
PKI 使用公钥来加密/解密数据,工作原理简述如下:
比如说,张三手头有一对公钥和私钥,他将这个公钥告诉给李四,李四就用此密钥来加密电子邮件,然后发给张三。张三的计算机上存储有私钥,因此他可以正常读取邮件,如是其它用户通过非法手段拦截了该邮件,由于没有相应的私钥,无法解密,也就无法读取邮件的内容。
公钥加密简单的说:公钥用来加密,私钥用来解密,这种加密方法称之为“
非对称(asymmetric)加密
”。还有一种加密是“私钥加密”(secret key encryption),又称为“
对称(symmetric)加密
”,加密和解密使用同一个密钥。
公钥验证
还是以上面的张三和李四的收发电子邮件为例,注意这会儿李四手中有一组公钥和私钥,并将公钥告知了张三。李四向张三发送邮件,李四可以用“
公钥验证
”(Public Key Authentication)将要发送的数据进行“数字签名”,在张三收到邮件后,可以通过该数字签名来验证这邮件确实是李四发出的,同时还会检查数据在发送过程中是否被修改。
在上述过程中,发件人李四利用自己的的私钥将数据签名,而张三会利用李四的公钥来验证此份邮件。
那数字签名是如何产生,又是如何来验证身份的呢?
1. 李四的电子邮件通过
消息散列算法
(
message hash algorithm
),比如 sha1 的运算处理后,产生一个
消息摘要
(
message digest
),它又被称为“
数字指纹
”(
digital fingerprint
)。
2. 李四的电子邮件客户端利用李四的私钥将该消息摘要加密,所使用的加密方法为“
公钥加密算法
”(
public key encryption algorithm
),加密后的结果被称为数字签名。
3. 李四的电子邮件客户端将电子邮件本身与数字签名一起发送给张三。
4. 张三的邮件客户端在收到李四的邮件后,会将邮件本身和数字签名分开处理:
张三的邮件也会重新经过“消息散列算法”(和李四所用的一样,如 sha1)进行运算,产生一个新的消息摘要。
数字签名经过公钥加密算法的解密处理后,可得到李四传来的原消息摘要
新的消息摘要如果与原的消息摘要相同,那么表示该邮件确实是李四发过来的,而且也没被恶意篡改,否则该邮件的发件人被假冒或者邮件内容已经被篡改。
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2