消息摘要
消息摘要是指从作为数字签名对象的文件整体中计算出来的数值。对比由文件计算出的信息摘要,可以证明文件的内容有没有被篡改。通过摘要算法计算后的消息摘要其长度总是固定的,所以也叫数据指纹,它可以唯一地标识一段数据。
消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密(单向加密)。
数字签名
使用非对称加密算法加密处理过的消息摘要就是数字签名,又叫公钥数字签名。消息的发送者使用私钥对消息摘要进行加密,消息接收者再用消息发送者提供的公钥进行解密。
印章或签名有两层含义:一是发送者承认文件的内容是完整有效的(消息摘要);其二是文件确实是发送者本人发送的(使用私钥加密)。
数字证书
数字证书是由权威的证书签发机构(CA)签发的一种较为权威与公正的证书。我们可以利用CA颁发的“数字证书”验证通信对方的真实性。
数字证书一般包括用户身份信息、用户的公钥信息以及证书签发机构对该证书的数字签名信息。其中证书签发机构的数字签名可以确保用户身份信息和公钥信息的真实合法性。
我们需要核对发送者的身份,避免使用了他人伪造的公钥和私钥得到虚假的信息,因为你可以发送公钥给我,别人也可以,这样我就不知道我收到的公钥是不是你发给我的。这时就可以使用数字证书进行认证。
CA就像一个公正的中间人,当你问他你收到的消息是不是某某某发送的,他会告诉你真实的答案。
另外,因为非对称加密算法的计算量非常大,加密的信息越多,计算量越大,一般我们不使用非对称加密算法加密大量的内容。我们可以使用对称加密算法加密大量的内容,然后用非对称加密算法发送对对称加密进行解密的密钥。