区块链数字签名技术的过程及原理介绍

随着互联网的发展,网络交易普及,在交易过程中经常会碰到数字签名这个概念,当然区块链中也通过数字签名来验证交易信息的可靠性,这里简单介绍下数字签名的概念,如有理解不当的地方,请及时指正。

签名:在现实社会中,签名作为签名者身份的一种证明,签名代表对签名文件的认可,不可抵赖。理论上签名是可信、不可伪造的。每次你刷卡消费后,营业员肯定需要你对回执上进行签名,这就是一种对消费交易的认可

数字签名(又称公钥数字签名、电子签章):是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。简单证明“我就是我”。

和传统的签名不一样,互联网的发展和数字签名的出现,让签名认证这个概念应用到了更多的层面。

1.签名认证,数字签名在网络交易上和实际签名一样的认可功能,不可抵赖,签名放拥有私钥,保证签名只能自己操作,在出现签名的环境下,使用私钥验证签名的真伪。

2.防篡改,这个通过网络下载来说明最为直观,你在网络上下载一个文件,数字签名和文件混合一个整体数据包,通过对数字签名的验证,保证文件在传输过程中未被篡改。

3.验证数据的完整性,如2同理,如果文件有丢失,签名将不完整,解开数字签名和之前的比较就会出现不一致。保证文件的完整。

4.仲裁机制,数字签名也可以认为是一个数字身份,通过唯一私钥生成,在网络上交易互动时要求收到一个数字签名的回文,保证过程的完整。如果对交互过程出现抵赖,那么用数字便于仲裁。

5.保密性,对于有安全级别要求文件,数字签名加密后传输,保证数据在被中途截取后无法获得其真实内容。有利于数据的安全性。

6.防重放:在数字签名中,如果采用了对签名报文添加流水号、时戳等技术,可以防止重放攻击。

7.多重数字签名,通过多次数字签名,对文件数据进行多人认证。

数字签名整个过程验证简单,只需要公钥、私钥进行加解密的验证,和传统签名不一致,一般都会看到电视剧中常出现签名验证的时候需要专业的笔记签证专家,采用数字签名节省了验证流程和成本。

从数字签名过程来简单理解下原理。

1.一段需发送的数据经过hash计算生成一份摘要。

2.摘要通过发送者私钥进行加密。

3.发送者将使用私钥加密后的摘要和报文,生成一段待发送的数据包。数字签名即为经过私钥加密后的加密摘要。

4.接收者使用之前一样的hash算法对报文计算摘要。

5.接收者再通过发送者公钥对摘要进行加密计算D。

6.接收者通过发送者公钥对数字签名进行解密D’。

7.两者进行比较即可验证。

结合区块链技术看下公钥、私钥、地址、签名的概念。

上图是公钥、私钥、地址的生成过程,有了这三个要素,然后通过上述数字签名的从过程发送信息摘要和数字签名,验证一致性。区块链中目前用到的是椭圆曲线算法。

椭圆曲线算法:椭圆曲线算法ECC来做非对称加密基础算法。ECC的210位算法难度就相当于RSA2048的难度,性能则是数量级的区别。这里涉及到一些专业的数学知识点,椭圆算法ECC其实就是利用乘法容易,而除法难的特点,设计一个乘法:K=k*G,其中大K是公钥,小k是私钥,G是生成点。由私钥推导公钥很容易,只需要k个G相加即可。但是从公钥推导私钥很难,也就是无法计算公钥K除以G。如果有兴趣可以参考下文:

顺便提一句目前国密算法的中M2算法也是基于该算法。

大致介绍了数字签名和一些基本的数字签名算法,签名算法涉及到比较专业的数学知识,这里大致就介绍了功能和过程。

THE END
1.什么是数字签名?MicrosoftLearn数字签名实现的内容 数字签名的要求 企业环境中的数字签名 兼容问题 另请参阅 应用到: Office Resource Kit 上一次修改主题:2008-05-09 本文内容: 数字签名实现的内容 数字签名的要求 企业环境中的数字签名 兼容问题 您可以出于很多与在纸质文档上可能进行手写签名的相同原因,对文档进行数字签名。数字签名可用于通过https://docs.microsoft.com/zh-cn/previous-versions/office/office-2007-resource-kit/cc545901(v=office.12)
2.软件数字签名是怎么弄的?代码命令提示符微软数字签名知名单位开发了exe软件,但为了证明发布者身份及避免软件拦截,保护软件知识产权,更重要的避免代码被恶意篡改,所以需要对软件进行数字签名。 被签名的exe文件属性就可以看到多了一个栏目数字签名,并且会显示签名者姓名,算法、时间戳。 打开网易新闻 查看精彩图片 然后点击详情信息,可以看到这个软件的开发者真实信息。 打开网易https://m.163.com/dy/article/JJ4GKH320518UHF5.html
3.python通过密钥获取签名mob64ca12e7f20c的技术博客成功失败生成密钥签名消息生成签名发送消息和签名接收者验证签名签名验证结果消息完整消息被篡改 结论 在本篇文章中,我们介绍了如何使用Python通过密钥来获取消息的数字签名,并提供了相关的代码示例。数字签名在信息保护中扮演着重要角色,它确保了数据在传输过程中的安全性和完整性。在实际应用中,数字签名不仅限于消息传输https://blog.51cto.com/u_16213396/12797244
4.苹果企业签名—ios签名的算法形式数字签名的作用是,通过在某个数据上做上标记,表示承认(签字)了这个数据,并发送给了其他人。 其他人可能知道这个数据已经被我认证了,数据没有被篡改。 我们需要首先用一种算法,算出原始数据的摘要,满足:(1)假如原始数据没有任何变化,那么计算出来的摘要值就都会变化。 https://www.jianshu.com/p/8304df70cf21
5.简述数字签名的过程查看完整题目与答案 参考解析: 包括签名过程和验证签名过程。 AI解析 重新生成最新题目 【单选题】如果将人眼比作照相机的话,则相当于暗盒的是( )。 查看完整题目与答案 【单选题】道德是人类社会生活中依据社会舆论、( )和内心信念,以善恶评价为标准的意识、规范、行为和活动的总称。 查看完整题目与答案 【https://www.shuashuati.com/ti/31722f2ce15647128bdce457d21a2800.html
6.简述数字签名的主要过程。简述数字签名的过程 点击查看答案 第2题 【简答题】简述数字签名的基本原理及过程。 点击查看答案 第3题 简述数字签名的产生和验证过程。 点击查看答案 第4题 简述数字签名的产生和验证过程 点击查看答案 第5题 【简答题】简述数字签名的基本原理及过程 点击查看答案 第6题 简述数字签名过程 点击查看答案 https://www.shangxueba.cn/2622544.html
7.数字签名的全过程签名与验证简述数字签名的过程数字签名的操作过程需要有发方的签名数字证书的私钥及其验证公钥。 具体过程如下:首先是生成被签名的电子文件(《电子签名法》中称数据电文),然后对电子文件用哈希算法做数字摘要,再对数字摘要用签名私钥做非对称加密,即做数字签名;之后是将以上的签名和电子文件原文以及签名证书的公钥加在一起进行封装,形成签名结果发送https://blog.csdn.net/weixin_41838363/article/details/97890376
8.简述数字签名过程。简述数字签名过程。 参考答案:发送方从报文中生成报文摘要,以自己的专用密钥加密形成数字签名;这个签名作为报文的附件和保温一起发送到接收方;接收方先从接 点击查看答案进入题库练习 查答案就用赞题库小程序 还有拍照搜题 语音搜题 快来试试吧 无需下载 立即使用 你可能喜欢 问答题 何为消息认证? 参考https://m.ppkao.com/mip/tiku/shiti/7162548.html
9.简述数字签名及其验证过程。【题目】 简述数字签名及其验证过程。 搜题找答案>07527商务信息管理试题答案>试题详情 【题目】简述数字签名及其验证过程。 纠错 查看答案 查找其他问题的答案?https://www.zikaosw.cn/daan/29435880.html
10.密码算法范文8篇(全文)提出的椭圆曲线混合密码算法中,对报文Pm加密时使用数字签名过程生成的中间参数w见算法步骤3和4;对C1解密时必然依靠密文C2的解密,即恢复报文签名参数s,见算法步骤5。因而,在提出的椭圆曲线混合密码算法中数据集中器通信报文的加密和数字签名过程互相关联。 https://www.99xueshu.com/w/ikeylecgx2x0.html
11.管理学:信息安全考点巩固(最新版)考试题库69、单项选择题 降低敏感度的过程称为() A.撤销密级 B.分类 C.重新分级 D.消极分类 点击查看答案 70、填空题 在Windows平台下,很多木马基本上采用了Windows系统启动时自动加载应用程序的方法,包括()、()和()等。 点击查看答案 71、多项选择题 对于数字签名,以下哪些是正确的描述?() A.数字签名可进行技http://www.91exam.org/exam/87-1095/1095229.html
12.简述代理签名技术一个代理签名系统至少有几个参与者,分别是对他人进行授权的原始签名者、获得授权执行签名的一个或多个代理签名者、对签名进行验证的一个或多个验证者。 代理签名的过程 在一个数字签名体制中,A、B为两个用户,A为原始签名者,他的私钥、公钥分别是XA,YA,B为代理签名者,私钥、公钥分别是XB、YB。 https://www.jiamisoft.com/blog/34078-dlqm.html
13.电子政务040003答案(精选5篇)4、简述电子政务系统中常用的安全技术。 在电子政务系统中常用的安全技术有数据加密和身份验证 ? 数据加密 ? 信息的原始形式称为明文(plaintext)。明文经过加密变换后的形式称为密文(ciphertext)。 ? 由明文变成密文的过程称为加密(enciphering)。由密文变成明文的过程称为解密(deciphering)。? 数字签名 https://www.360wenmi.com/f/filee6nt35c2.html
14.数字签名的条件和基本形式数字签名的确认及实现过程所谓数字签名(Digital Signature)(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。 在金融和商业等系统中,许多业务都要求在单据上进行签名或加盖印章,证实其真实性,以备https://bbs.pinggu.org/jg/kaoyankaobo_kaoyan_4508109_1.html
15.技术分享Windows程序的数字签名校验绕过漏洞安全客,所以从这些数据出发,所有者签发数据的数字签名过程是要先计算这些数据的摘要(也就是对这些数据做个hash运算,目前由于SHA-1开始不安全,正在逐渐换成SHA-2算法),然后使用所有者的私钥进行加密(目前主流还是RSA,也有一些ECC或其他算法),加密后的数据带上所有者的信息按照一定的标准格式组织好其实就是所谓的数字签名。https://www.anquanke.com/post/id/84470