一种SHA256值生成系统技术方案

技术编号:21838389 阅读:25 留言:0更新日期:2019-08-10 20:15
本发明专利技术公开了一种SHA256值生成系统,包括数据分段模块,用于接收待处理数据,将每条待处理数据分成独有数据和共有数据,发送所述独有数据至待处理数据对应的独有数据处理模块,发送所述共有数据至共有数据处理模块;至少两个独有数据处理模块,用于对独有数据进行扩展和压缩处理,输出中间数据并发送至待处理数据对应的融合处理模块;共有数据处理模块,用于对共有数据进行扩展处理,输出第二扩展数据并发送至待处理数据对应的融合处理模块;至少两个融合处理模块,用于对所述第二扩展数据和所述中间数据进行压缩处理,生成待处理数据的SHA256值。该HA256值生成系统能够降低硬件的个数,进而降低计算功耗,节省电能。

A SHA256 Value Generation System

【技术实现步骤摘要】
一种SHA256值生成系统
本专利技术属于信息安全领域,尤其涉及一种SHA256值生成系统。
技术介绍
区块链本质上是一个去中心化的分布式账本数据库,其本身是一串使用密码学相关联所产生的数据块,具体来讲:一个随机哈希算法的结果,它唯一做的事情就是获得一些输入然后进行计算,并得到一串256位的随机数字和字母的字符串,每一个数据块中包含了多次比特币网络交易有效确认信息,区块链就是由一连串、不重复、的数据块组成的,此应用领域需要大量的重复计算功能模块。SHA256是构造区块链所用的主要密码哈希函数,无论是区块的头部信息还是交易数据,都使用这个哈希函数去计算相关数据的哈希值,以保证数据的完整性。同时,在数字货币系统中,基于寻找给定前缀的SHA256哈希值,设计了工作量证明的共识机制;SHA256也被用于构造数字货币地址,即用来识别不同的用户。SHA256是一个Merkle-Damgard结构的迭代哈希函数,其计算过程分为两个阶段:消息的预处理和主循环。在消息的预处理阶段,主要完成消息的填充和扩展填充,将所输入的原始消息转化为n个512比特的消息块,之后对每个消息块利用SHA256压缩函数进行处理。这个计算流程是一个迭代计算的过程,当最后1个消息块(第n块)处理完毕以后,最终的输出值就是所输入的原始消息的SHA256值。申请公布号CN108512647A的专利技术专利申请公开了一种安全哈希算法SHA256值的生成装置,包括预处理模块和数据处理模块,其中,所述预处理模块,用于接收第一待处理数据,对第一待处理数据进行补位、补长度处理得到第二待处理数据,并发送第二待处理数据至所述数据处理模块;所述数据处理模块,用于接收所述第二待处理数据,并生成所述第二待处理数据的SHA256值。当同时处理多条第一待处理数据时,需要多个这样的生成装置,这样多的生成装置会造成耗电量很大,即计算功耗很大,且运算速率较慢。现有的双SHA256算法的过程如图1所示,即每条待处理数据分成A部分和B部分两部分,针对A部分数据利用第一SHA256算法计算获得中间数据;针对B部分数据,结合中间数据并利用第二SHA256算法计算获得待处理数据的SHA256,该方法中,针对每条待处理数据均要采用两次SHA256算法,这样极大地增加了实现SHA256算法的硬件个数,增加了计算功耗。
技术实现思路
本专利技术的目的是提供一种HA256值生成系统,该HA256值生成系统能够降低硬件的个数,进而降低计算功耗,节省电能。为实现上述专利技术目的,本专利技术提供以下技术方案:一种HA256值生成系统,包括:数据分段模块,用于接收待处理数据,将每条待处理数据分成独有数据和共有数据,发送所述独有数据至待处理数据对应的独有数据处理模块,发送所述共有数据至共有数据处理模块;至少两个独有数据处理模块,用于接收独有数据,对独有数据进行扩展和压缩处理,输出中间数据并发送至待处理数据对应的融合处理模块;共有数据处理模块,用于接收共有数据,对共有数据进行扩展处理,输出第二扩展数据并发送至待处理数据对应的融合处理模块;至少两个融合处理模块,用于接收所述中间数据和所述第二扩展数据,对所述第二扩展数据和所述中间数据进行压缩处理,生成待处理数据的SHA256值。与现有技术相比,本专利技术具有的有益效果为:该SHA256值生成系统将待处理数据分段成两部分,针对独有数据,单独用SHA256算法计算获得中间数据,针对共有数据,仅进行一次扩展运算,然后再对中间数据和获得的第二扩展数据进行多次压缩,获得待处理数据的SHA256值。这样能够节省多个实现第二扩展运算的硬件,进而降低计算功耗,节省电能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。图1是
技术介绍
中现有的双SHA256算法的实现过程示意图;图2是本专利技术提供的SHA256值生成系统的结构示意图;图3是本专利技术提供的独有数据处理模块的结构示意图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本专利技术进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不限定本专利技术的保护范围。本实施例提供了一种SHA256值生成系统,该SHA256值生成系统主要基于双SHA256算法生成SHA256值,如图2所示,包括数据分段模块,n个独有数据处理模块、共有数据处理模块以及n个融合处理模块,其中,独有数据处理模块与融合处理模块的个数相同。数据分段模块主要用于接收待处理数据,将每条待处理数据分成独有数据和共有数据,发送所述独有数据至待处理数据对应的独有数据处理模块,发送所述共有数据至共有数据处理模块。待处理数据一般是一条待处理的消息或任务,在比特币计算任务中,这样的待处理数据具有一个共性,即包含一部分与其他待处理数据不同的独有数据,还包含一部分与其他待处理数据相同的共有数据。一般情况下,1024bit数据,前512bit为独有数据,后512bit为共有数据。在双SHA256算法中,针对每条待处理数据都需要进行两次计算,这样在集成电路中极大地增加了电子元件的个数,进而增加了计算功耗,为了降低计算功耗,本实施例将待处理数据分成独有部分和共有部分,针对共有部分仅需要计算一次,这样大大降低了计算量。独有数据处理模块主要用于接收独有数据,对独有数据进行扩展和压缩处理,输出中间数据并发送至待处理数据对应的融合处理模块。具体地,如图3所示,独有数据处理模块包括:扩展处理子模块,用于接收独有数据,对独有数据进行扩展处理,输出第一扩展数据并发送至压缩处理子模块;压缩处理子模块,用于接收所述第一扩展数据和常量数据,对所述第一扩展数据和所述常量数据进行压缩处理,生成中间数据并发送至待处理数据对应的融合处理模块。其中,扩展处理包括将独有数据扩展为每个字节为32bit的64字节数据,扩展处理的具体步骤包括:对输入的512bit进行移位和异或运算。示例性地,扩展器代码描述如下:其中,Idata[i]=Idata[0:15]为512比特的输入数据,即可以是独有数据或共有数据;W[i]=W[0:63]为64个字,每字为32bit,即可以为第一扩展数据或第二扩展数据。示例性地,压缩器代码描述如下:其中,压缩器压缩运算时作了64轮运算,每轮运算示意图如图3所示。共有数据处理模块主要用于接收共有数据,对共有数据进行扩展处理,输出第二扩展数据并发送至待处理数据对应的融合处理模块。对共有数据进行扩展处理步骤与对独有数据进行扩展处理步骤相同,即将共有数据扩展为每个字节为32bit的64字节数据。融合处理模块主要用于接收所述中间数据和所述第二扩展数据,对所述第二扩展数据和所述中间数据进行压缩处理,生成待处理数据的SHA256值。融合处理模块中的压缩处理与独有数据处理模块中的压缩处理相同。在实施例中,独有数据处理模块可以看成是SHA256算法A,如图3所示的压缩算法中,其初始数据和K都为常量数据,W为第一扩展数据。共有数据处理模块与融合处理模块可以看成是SHA256本文档来自技高网
...

【技术保护点】
1.一种SHA256值生成系统,其特征在于,包括:数据分段模块,用于接收待处理数据,将每条待处理数据分成独有数据和共有数据,发送所述独有数据至待处理数据对应的独有数据处理模块,发送所述共有数据至共有数据处理模块;至少两个独有数据处理模块,用于接收独有数据,对独有数据进行扩展和压缩处理,输出中间数据并发送至待处理数据对应的融合处理模块;共有数据处理模块,用于接收共有数据,对共有数据进行扩展处理,输出第二扩展数据并发送至待处理数据对应的融合处理模块;至少两个融合处理模块,用于接收所述中间数据和所述第二扩展数据,对所述第二扩展数据和所述中间数据进行压缩处理,生成待处理数据的SHA256值。

【技术特征摘要】
1.一种SHA256值生成系统,其特征在于,包括:数据分段模块,用于接收待处理数据,将每条待处理数据分成独有数据和共有数据,发送所述独有数据至待处理数据对应的独有数据处理模块,发送所述共有数据至共有数据处理模块;至少两个独有数据处理模块,用于接收独有数据,对独有数据进行扩展和压缩处理,输出中间数据并发送至待处理数据对应的融合处理模块;共有数据处理模块,用于接收共有数据,对共有数据进行扩展处理,输出第二扩展数据并发送至待处理数据对应的融合处理模块;至少两个融合处理模块,用于接收所述中间数据和所述第二扩展数据,对所述第二扩展数据和所述中间数据进行压缩处理,生成待处理数据的SHA256值。2.如权利要求1所述的SHA256值生成系统,其特征在于,所述独有数据处理模块包括:扩展处理子模块,用于接收独有数据,对独有数据进行扩展处...

【专利技术属性】
技术研发人员:包兴刚
申请(专利权)人:杭州德旺信息技术有限公司
类型:发明
国别省市:浙江,33

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

1