数字签名
首先介绍一下散列算法,这种算法在计算机科学当中相当常见,它接收一大块的数据并将其压缩成最初数据的一个指纹或者摘要。
举个例子,18/2=9,在某种程度上9就是表达式(18/2)的指纹(也可以叫摘要)。这时我们无论计算机多少次,结果都会是9。这时无论我们对18进行多么细微的改动,其运算结果都会改变。返过来我们把计算结果9告诉你,不告诉你任何进一步的信息,你就不大会猜出最初的表达式是什么,因为有无数个表达式的计算结果都是9.
对于散列算法,你无法反向执行散列算法恢复出最初的明文;得到的摘要不会告诉你一点最初明文的信息;md5就是一种散列算法
介绍了散列算法,下面我们看一下数字签名与验证签名的过程,如下图
用私钥签名,用公钥验证签名.