基于区块链技术的数字签名方法及系统技术方案

技术编号:16367089 阅读:31 留言:0更新日期:2017-10-10 23:32
本发明专利技术实施例公开了一种基于区块链技术的数字签名方法,该方法包括:获取待发送数据的数据摘要;对所述数据摘要进行哈希变换,生成报文摘要;计算得到加密算法的加密参数;根据所述加密参数加密所述待发送数据,得到加密数据。本发明专利技术实施例还公开了一种相应的系统。本发明专利技术实施例公开的基于区块链技术的数字签名方法,实现了用于提高数据在发送过程中的可靠性和完整性,进而提高了数据发送的安全性。

Digital signature method and system based on block chaining Technology

The embodiment of the invention discloses a digital signature method based on block chain technology, the method includes: acquiring data to send the data; Hash transform to the abstract data, generate the message digest; the calculated parameters of encryption encryption algorithm; encryption based on the parameters of the encrypted data to be sent by data encryption. The embodiment of the invention also discloses a corresponding system. The invention discloses a digital signature method based on block chaining technology, which is used for improving the reliability and integrity of data in the sending process, thereby improving the security of data transmission.

【技术实现步骤摘要】
基于区块链技术的数字签名方法及系统
本专利技术涉及网络安全
,尤其涉及一种基于区块链技术的数字签名方法及系统。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链的设计是一种保护措施,比如(应用于)高容错的分布式计算系统,使混合一致性成为可能,这使区块链适合记录事件、标题、医疗记录和其他需要收录数据的活动、身份识别管理,交易流程管理和出处证明管理。因此,区块链对于金融脱媒有巨大的潜能,对于引领全球贸易有着巨大的影响。但是,区块链的系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。因此,数据发送的可靠性和完整性有待提高。
技术实现思路
本专利技术实施例提供基于区块链技术的数字签名方法及系统,以解决现有技术中,区块链技术的数据发送可靠性和完整性有待提高的问题。一方面,本专利技术实施例提供一种基于区块链技术的数字签名方法,包括:获取待发送数据的数据摘要;对所述数据摘要进行哈希变换,生成报文摘要;计算得到加密算法的加密参数;根据所述加密参数加密所述待发送数据,得到加密数据。在其中一个实施例中,所述对所述数据摘要进行哈希变换,得到报文摘要的步骤,包括:对所述数据摘要进行字符串变换,将原始的明文信息填补到长度为448位的第一变换数据;将所述第一变换数据的长度追加64位正整数,得到输入长度为512的倍数的第二变换数据;将一个128位的缓冲区初始化为一个固定的运算值;将所述第二变换数据中的所有输入块与所述运算值进行运算,所述输入块的长度为512字节;生成所述报文摘要,所述报文摘要由128位的缓冲区构成。在其中一个实施例中,所述计算得到加密算法的加密参数的步骤,包括:选取素数a和b;计算得到c和d,令c=a*b,d=(a-1)*(b-1);选取e,使得e与d互为素数;选取f,使得f*e=1(mod)d。在其中一个实施例中,所述根据所述加密参数加密所述待发送数据,得到加密数据的步骤,包括:将所述待发送数据分块,生成消息块,令每个所述消息块的长度g满足:0≤g≤c;根据加密函数i=gf(modc),生成所述加密数据。另一方面,本专利技术实施例还提供了一种基于区块链技术的数字签名系统,包括:获取模块,用于获取待发送数据的数据摘要;变换模块,用于对所述数据摘要进行哈希变换,生成报文摘要;计算模块,用于计算得到加密算法的加密参数;加密模块,用于根据所述加密参数加密所述待发送数据,得到加密数据。在其中一个实施例中,所述变换模块包括:第一变换单元,用于对所述数据摘要进行字符串变换,将原始的明文信息填补到长度为448位的第一变换数据;第一变换单元,用于将所述第一变换数据的长度追加64位正整数,得到输入长度为512的倍数的第二变换数据;初始化单元,用于将一个128位的缓冲区初始化为一个固定的运算值;运算单元,用于将所述第二变换数据中的所有输入块与所述运算值进行运算,所述输入块的长度为512字节;生成单元,用于生成所述报文摘要,所述报文摘要由128位的缓冲区构成。在其中一个实施例中,所述计算模块包括:第一选取单元,用于选取素数a和b;计算单元,用于计算得到c和d,令c=a*b,d=(a-1)*(b-1);第二选取单元,用于选取e,使得e与d互为素数;第三选取单元,用于选取f,使得f*e=1(mod)d。在其中一个实施例中,所述加密模块包括:分块单元,用于将所述待发送数据分块,生成消息块,令每个所述消息块的长度g满足:0≤g≤c;加密单元,用于根据加密函数i=gf(modc),生成所述加密数据。本专利技术实施例提供的基于区块链技术的数字签名方法,通过获取待发送数据的数据摘要;对所述数据摘要进行哈希变换,生成报文摘要;计算得到加密算法的加密参数;根据所述加密参数加密所述待发送数据,得到加密数据。由此,实现了用于提高数据在发送过程中的可靠性和完整性,进而提高了数据发送的安全性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对本专利技术实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例的附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术基于区块链技术的数字签名方法的第一实施例的流程图;图2是本专利技术基于区块链技术的数字签名方法的第二实施例的流程图;图3是本专利技术基于区块链技术的数字签名系统的第一实施例的结构框图;图4是本专利技术基于区块链技术的数字签名系统的第二实施例的结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。第一实施例如图1所示,是本专利技术基于区块链技术的数字签名方法的第一实施例的流程图。该基于区块链技术的数字签名方法包括:步骤101,获取待发送数据的数据摘要。已知地,数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是非对称密钥加密技术与数字摘要技术的应用步骤102,对所述数据摘要进行哈希变换,生成报文摘要。步骤103,计算得到加密算法的加密参数。步骤104,根据所述加密参数加密所述待发送数据,得到加密数据。在本专利技术实施例中,区块链技术是一种分布式存储技术,主要包括两个方面:第一,数据的分布式存储;第二,数据的分布式记录。分布式存储是指数据存储在参与记录的节点中,而不是存储在中心化的机器中;分布式记录是指系统的参与节点一起记录。数据存储采用分布式,其存储结构如下所示:分布式存储技术将数据分块,然后后使用链技术将所有的块连接在一起,构成全部的数据。另外,每个块由块头和块身两部分组成,块头负责与前面的块连接,并保证数据的完整性,块身存储数据交换的全部记录。数据的记录也采用分布式。区块链中的每一次数据交换的记录的传播都采用分布式,消息由单个节点直接发送给其他节点。在发送的过程中,为了保证数据的可靠性和完整性,使用了数字签名技术。首先,数字签名可以判断信息是否由对方发送;第二,数字签名可以判定接收到的信息是否为完整的信息。在发送方,用哈希函数从信息中生成报文摘要,然后用密钥进行加密,加密的摘要作为数字签名,和加密数据一起发送给对方;在接收方本文档来自技高网...
基于区块链技术的数字签名方法及系统

【技术保护点】
一种基于区块链技术的数字签名方法,其特征在于,包括:获取待发送数据的数据摘要;对所述数据摘要进行哈希变换,生成报文摘要;计算得到加密算法的加密参数;根据所述加密参数加密所述待发送数据,得到加密数据。

【技术特征摘要】
1.一种基于区块链技术的数字签名方法,其特征在于,包括:获取待发送数据的数据摘要;对所述数据摘要进行哈希变换,生成报文摘要;计算得到加密算法的加密参数;根据所述加密参数加密所述待发送数据,得到加密数据。2.根据权利要求1所述的方法,其特征在于,所述对所述数据摘要进行哈希变换,得到报文摘要的步骤,包括:对所述数据摘要进行字符串变换,将原始的明文信息填补到长度为448位的第一变换数据;将所述第一变换数据的长度追加64位正整数,得到输入长度为512的倍数的第二变换数据;将一个128位的缓冲区初始化为一个固定的运算值;将所述第二变换数据中的所有输入块与所述运算值进行运算,所述输入块的长度为512字节;生成所述报文摘要,所述报文摘要由128位的缓冲区构成。3.根据权利要求1所述的方法,其特征在于,所述计算得到加密算法的加密参数的步骤,包括:选取素数a和b;计算得到c和d,令c=a*b,d=(a-1)*(b-1);选取e,使得e与d互为素数;选取f,使得f*e=1(mod)d。4.根据权利要求3所述的方法,其特征在于,所述根据所述加密参数加密所述待发送数据,得到加密数据的步骤,包括:将所述待发送数据分块,生成消息块,令每个所述消息块的长度g满足:0≤g≤c;根据加密函数i=gf(modc),生成所述加密数据。5.一种基于区块链技术的数字签名系统,其特征在于,包括:获...

【专利技术属性】
技术研发人员:龙飞胡建国王国良李仕仁
申请(专利权)人:杰创智能科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1