数字证书用公钥体制,也就是用一对匹配的密钥对(公钥和私钥组成。公钥是公开的,无需保密,但私钥是通过个人持有的)加/解密,每个用户设定一把特定的私钥,用它解密与签名,同时设定一把公钥并让本人公开,使一组用户进行共享,用来加密与验证签名。
非对称密钥密码的核心应用即为公钥加密与公钥认证,而两者的过程是不同的。
一、加密
例如有两个用户A和B,A想把一段信息通过加密的技术发送给B,B有一对公钥与私钥,则加、解密过程如下:
1.B把他的公开密钥传给A。
2.A用B的公开密钥加密自己的消息,然后传给B。
3.B用他的私人密钥解密A的消息。
发送方借接受方的公钥加密,接受方用自己的私钥解密——实现了通信的保密。
二、身份认证
身份认证与加密则不一样了,主要为了辨别用户身份的真假。这里仅需能判断用户的私钥是否有误,就可鉴别此用户身份的真假。
还是A和B这两个用户,A想让B知道自己是真实的A,而不是假冒的,A需对数据签名(用自己的私钥加密该数据),把数据与数据签名一起发送给B,B用A的公钥解密文件,若解密成功了,那么表示A的私钥无误,因此也就实现了对A的身份鉴别。身份认证的整体过程如下:
1.A拿他的私人密钥加密数据,也就是签名文件。
2.A将签名的文件传送给B。
3.B拿A的公钥解密文件,也就验证了签名。
发送方用自己的私钥加密,接受方用发送方的公钥解密。公开密钥可完成通信双方的身份验证。