此文让您知道数字签名到底是怎么一回事
发布日期:2021-06-07数字签名作为公钥基础结构的基础部分,在了解它的技术原理之前,我们先要明白与之密切相关的算法:Hash算法。
Hash算法是一种散列算法,又叫密码杂凑算法。它具有以下几种显著的特性。
1,容易压缩,能够很容易地将任何长度的数据映射到固定长度的输出。
2,单向密码体制,根据源数据计算一个哈希值不难,难的是要根据计算出的结果得出源数据,这基本不可能。
3,灵敏性高,对输入数据的变化十分灵敏,就算是有一点小小的变化,输出来的结果差异性也会非常大。
4,抗碰撞,不同的数据块的hash值相同的可能性很小,就算是一个指定的数据块,找到和它hash值相同的数据块也极为困难。
因为这些特性,它特别适合用来做数据完整性和文件完整性的校验,sha1,sha256,sha384等是目前应用较为广泛的Hash算法。
下面,我们逐步了解一下数字签名的过程。
1,对要签名的文件进行Hash计算。
2,对文件的Hash值用私钥进行签名。
3,除了签名还可以添加时间戳来指示签名时间。
简而言之就是先对文档进行Hash值计算,然后签名者用自己的私钥对该Hash值签名,使用的时候是将原文件和签名数据一起发送。在这里大家要注意的是,数字签名并不是对整个文件签名,而是对文件的Hash值进行签名,这样既节约了资源又提高了效率。
如何读取和认证签名?
上述文章中我们知道了创建数字签名的过程,接着就是数字签名验证,主要过程大致如下。
1,得到原文件进行Hash计算的Hash值。
2,从签名数据中用签名的公钥计算出签名数据的Hash值。
3,将上述两种Hash值进行对比,对比结果一致则验证通过,反之则失败。
在互联网时代,随着互联网技术的日新月异,数字签名的应用越来越广泛,通过数字签名,可以防止伪造和假冒签名,还可以保护签名文件的完整性。另外,数字签名既可以成为身份识别的依据,又是签名者进行签名操作的有效证据,防止签名方对其产生的行为进行抵赖。
如果您还有其他疑问,请联系沃通CA官网客服。