免责声明:本文件旨在传达更多的市长/市场信息,不构成投资建议。这只是文章代表作者的观点,并不代表火星财经官方立场。
小编:请注意
来源:链技术
原标题:科普|数字签名的概念和原理
在数字时代,数字文档的认证、完整性和不正当性是信息安全的基本要求。数字签名是满足这些要求的主要方法之一,也是现代密码学的研究内容之一。
数字签名的形式是什么?基于加密的数字签名优势几何?常用的数字签名实现方案是什么?这些都是理解数字签名的重要问题,我们将给大家带来系列介绍。
一、数字签名的概念
小试卷的签署、商业合同的签署、签署在一定程度上是社会经济活动中“确认合同”的核心方式,保证了合同的合法性和有效性。
在实际生活和工作中,手写签名是签订合同、确认付款、确认批准文件等传统的文件确认方式,表明签名者承认文件内容,并承担相关责任。
在数字应用系统中,发送者也可以签署数字消息,使消息收件人识别伪造信息,更重要的是,以后可以跟踪消息发送者,承担相关责任。但是,数字信息和现有文件之间存在着相当大的差异,数字签名技术和现有签名技术之间存在着很多差异。
首先,传统的手写签名通过相应的文件和物理(如纸张)绑定,数字信息没有可靠的物理载体,因此需要算法将签名与消息绑定。可以认证。
其次,在签名验证方法中,传统的手写签名是由消息收件人用眼睛确认签名的特性是否一致。结果受认证者主观想法的影响,数字信息一般由电子设备处理,因此签名验证结果根据数学算法更加客观。
最后,传统的手写签名复制(模仿字体)比数字信息复制(粘贴)困难,因此数字签名需要更好的方法,不能重复使用签名,必须防止伪造。
简而言之,数字签名通常是附加在电子文档上的一组特定符号或代码,表示发行人的身份和发行人对电子文档的批准。收件人可用于确认电子文档在传输过程中是否被篡改或伪造。因此,基于密码学的数字签名具有以下优点:
-消息来源认证:数字签名可以表明发行者的身份。也就是说,有消息源认证。
-不可否认:生成数字签名时,必须输入签名者私钥。也就是说,数字签名相当于唯一的签名主体,签名者要承担不可推卸的责任。换句话说,数字签名是不可否认的。
-消息完整性:数字签名通过确认电子文档在传输过程中是否被篡改或伪造,确保消息完整性。
二、数字签名原理
从以上定义可以看出,整个数字签名方案由密钥生成算法、签名算法和认证算法三部分组成。
密钥生成算法:根据系统参数为签名者生成公钥和私钥,用于加密解密。
签名算法:生成数字签名的算法,通常使用签名主体的私钥计算数据摘要并生成数字签名。
验证算法是验证数字签名是否有效(即是否由指定实体生成)的算法,根据公钥进行数字签名验证。
上图显示了数字签名验证的整个过程。
发件人A使用哈希算法生成消息摘要。该消息摘要有两个重要特性:避免冲突(意味着要找到具有相同散列值的两个不同消息非常困难)和固定摘要长度(MD5是最常见的摘要算法,速度快,结果是固定的128 bit字节)。因此,所有消息的签名值长度都相同。
发件人A生成消息摘要后,用自己的私钥加密摘要。这个加密的消息摘要是数字签名。然后发件人A将消息和签名发送给收件人B。在这里,有些人会好奇为什么加密信息摘要签名。对于大型文件,消息摘要将消息转换为简单的信息摘要,以验证信息的完整性,压缩信息长度,从而提高签名效率。
b收到消息和签名后,用发送者A的公钥解密签名,获取发送者A生成的消息摘要,然后使用发送A时使用的哈希算法重新生成生成的消息摘要,并比较这两个摘要。相同的情况下,此签名是发送此消息的A的有效签名。如果不相同,签名无效。
基于上述数字签名的基本原理,设计了多种类型的数字签名方案,接下来将代表基于RSA的签名方案、基于离散对数的签名方案和基于椭圆曲线的签名方案。