区块链资讯
数字货币行情

区块链一直说到的数字签名到底是什么?

区块链媒体资讯

 

数字签名(Digital Signatures)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证,但法条中的电子签章与数字签名,代表之意义并不相同,电子签章用以辨识及确认电子文件签署人身份、资格及电子文件真伪者,而数字签名则是以数学算法或其他方式运算对其加密,才形成电子签章,意即使用数字签名才创造出电子签章。

数字签名不是指将签名扫描成数字图像,或者用触摸板获取的签名,更不是落款。

经过数字签名的文件的完整性是很容易验证的(不需要骑缝章、骑缝签名,也不需要笔迹鉴定),而且数字签名具有不可抵赖性(即不可否认性),不需要笔迹专家来验证。

使用者可以对其发出的每一封电子邮件进行数字签名。这不是指落款或签名档(普遍把落款讹误成签名)。

在中国大陆,数字签名是具法律效力的,正在被普遍使用。2000年,中华人民共和国的新《合同法》首次确认了电子合同、电子签名的法律效力。2005年4月1日起,中华人民共和国首部《电子签名法》正式实施。

每个人都有一对“钥匙”(数字身份),其中一个只有她/他本人知道(私钥),另一个公开的(公钥)。签名的时候用私钥,验证签名的时候用公钥。又因为任何人都可以落款申称她/他就是使用者本人,因此公钥必须向接受者信任的人(身份认证机构)来注册。注册后身份认证机构给使用者发一数字证书。对文件签名后,使用者把此数字证书连同文件及签名一起发给接受者,接受者向身份认证机构求证是否真地是用使用者的密钥签发的文件。

数字签名就是将公钥密码反过来使用。签名者将讯息用私钥加密(这是一种反用,因为通常公钥密码中私钥用于解密),然后公布公钥;验证者使用公钥将加密讯息解密并比对消息(一般签名对象为消息的散列值。本节为了讲解方便,假设数字签名直接将消息而非散列值签名)。

因此,可靠的公钥密码算法均能构建出可靠的数字签名。下面讲解为何反用公钥密码算法能够构建出安全的数字签名。

张三是签名者,假设他要对消息A进行签名。现在,张三生成了其公私钥密码对,公布该公钥,然后将消息用私钥加密后发布。

现在,我们希望张三的签名算法具有如下特性:

1、确认消息在传输过程中没有丢位,没被篡改(完整性)

2、确认消息的发送者是发布公钥的张三(认证)

3、确认张三的确发布过该消息(不可否认性)

数字签名算法依靠公钥加密技术来实现的。在公钥加密技术里,每一个使用者有一对密钥:一把公钥和一把私钥。公钥可以自由发布,但私钥则秘密保存;还有一个要求就是要让通过公钥推算出私钥的做法不可能实现。

普通的数字签名算法包括三种算法:

1、一种密码生成算法。

2、标记算法。

3、验证算法。

本文由链豹财经CEO肖恩原创发表,欢迎大家推荐给币圈、链圈的朋友。

赞(0) 打赏

华为系团队打造,不花一分钱,每天躺赚200元
未经允许不得转载:三氪猫数字货币媒体 » 区块链一直说到的数字签名到底是什么?

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏