数据处理方法及装置与流程

文档序号:31730128发布日期:2022-10-05 01:42阅读:59来源:国知局
数据处理方法及装置与流程

1.本说明书一个或多个实施例涉及计算机领域,尤其涉及一种数据处理方法及装置。


背景技术:

2.目前通常采用公钥基础设施(public key infrastructure,pki)实现对业务数据生成数据签名并对数据签名进行验证。其要求设备具有较强的计算能力来执行较为复杂的密码学算法,或者要求设备额外配置特定的密码加速器来运行相关密码学算法组件。
3.希望有一种新的技术方案,以期实现在能够保证数据完成性的情况下降低对计算资源的消耗。


技术实现要素:

4.本说明书一个或多个实施例中提供了一种数据处理方法及装置。
5.第一方面,提供了一种数据处理方法,所述方法由第一设备执行,用于处理由所述第一设备获取的第k个业务数据。所述方法包括:获取与第k个随机数对应的第k个哈希序列以及与第k+1个随机数对应的第k+1个哈希序列,单个所述哈希序列中包括c个哈希值,第1个哈希值基于其对应的随机数计算得到,其它任意第i个哈希值基于其前一哈希值计算得到;计算所述第k个业务数据的第一哈希值,并根据所述第一哈希值和第k+1个所述哈希序列中的第c个哈希值计算第二哈希值;利用预设映射算法将所述第二哈希值映射为依次排列的若干第一数值,从第k个所述哈希序列中获取与所述若干第一数值对应的若干目标哈希值,并生成所述第k个业务数据的数字签名,其中包括依次排列的所述若干目标哈希值;向区块链系统发送第k个第一交易和第k+1个第二交易,所述第k个第一交易中包括所述第k个业务数据以及所述数字签名,所述第k+1个第二交易中包括第k+1个所述哈希序列中的第c个哈希值。
6.在一种可能的实施方式中,利用预设映射算法将所述第二哈希值映射为依次排列的若干第一数值,包括:根据用于表征所述第二哈希值的比特序列确定长度为t且依次排列的若干子比特序列,并将所述若干子比特序列转换成用十进制数表示的若干第一数值。
7.在一种可能的实施方式中,取值为d的第一数值所对应的目标哈希值是第k个所述哈希序列中的第d+1个哈希值。
8.在一种可能的实施方式中,取值为d的第一数值所对应的目标哈希值是第k个所述哈希序列中的第m个哈希值,m为利用c对d+1+m取模的结果,m为预设整数。
9.在一种可能的实施方式中,所述第一设备是iot设备,所述第k个业务数据是所述iot设备通过传感器采集的业务相关数据。
10.第二方面,提供了一种数据处理方法,由第二设备执行,所述第二设备与区块链系统连接,所述区块链系统中存储有来自第一设备的第k个第一交易、第k个第二交易以及第k+1个第二交易,所述第k个第一交易中包括第k个业务数据以及其数字签名,所述数字签名
包括依次排列的若干目标哈希值。所述方法包括:计算第k个业务数据的第三哈希值,并根据所述第三哈希值和第k+1个第二交易所包括的哈希值计算第四哈希值;利用预设映射算法将所述第二哈希值映射为依次排列的若干第二数值;对于任意的第f个所述目标哈希值,根据第f个所述第二数值以及第k个第二交易所包括的哈希值,验证第f个所述目标哈希值的完整性;当所述若干目标哈希值均通过完整性验证的情况下,确定所述数字签名通过验证。
11.在一种可能的实施方式中,利用预设映射算法将所述第四哈希值映射为依次排列的若干第二数值,包括:根据用于表征所述第四哈希值的比特序列确定长度为t且依次排列的若干子比特序列,并将所述若干子比特序列转换成用十进制数表示的若干第二数值。
12.在一种可能的实施方式中,根据第f个所述第二数值以及第k个第二交易所包括的哈希值,验证第f个所述目标哈希值的完整性,包括:计算依次排列的c-d-1个哈希值,其中所述c-d-1个哈希值中的第1个哈希值基于第f个所述目标哈希值计算得到,其它任意第j个哈希值基于其前一哈希值计算得到,d为第f个所述第二数值;当所述c-d-1个哈希值中的第c-d-1个哈希值与第k个第二交易所包括的哈希值相同时,确定第f个所述目标哈希值完整性验证通过。
13.在一种可能的实施方式中,根据第f个所述第二数值以及第k个第二交易所包括的哈希值,验证第f个所述目标哈希值的完整性,包括:计算依次排列的c-m个哈希值,其中所述c-m个哈希值中的第1个哈希值基于第f个所述目标哈希值计算得到,其它任意第j个哈希值基于其前一哈希值计算得到,m为利用c对d+1+m取模的结果,d为第f个所述第二数值,m为预设整数;当所述c-m个哈希值中的第c-m个哈希值与第k个第二交易所包括的哈希值相同时,确定第f个所述目标哈希值完整性验证通过。
14.第三方面,提供了一种数据处理装置,部署在第一设备中,用于处理由所述第一设备获取的第k个业务数据。所述装置包括:序列处理单元,配置为获取与第k个随机数对应的第k个哈希序列以及与第k+1个随机数对应的第k+1个哈希序列,单个所述哈希序列中包括c个哈希值,第1个哈希值基于其对应的随机数计算得到,其它任意第i个哈希值基于其前一哈希值计算得到;哈希计算单元,配置为计算所述第k个业务数据的第一哈希值,并根据所述第一哈希值和第k+1个所述哈希序列中的第c个哈希值计算第二哈希值;签名处理单元,配置为利用预设映射算法将所述第二哈希值映射为依次排列的若干第一数值,从第k个所述哈希序列中获取与所述若干第一数值对应的若干目标哈希值,并生成所述第k个业务数据的数字签名,其中包括依次排列的所述若干目标哈希值;交易发送单元,配置为向区块链系统发送第k个第一交易和第k+1个第二交易,所述第k个第一交易中包括所述第k个业务数据以及所述数字签名,所述第k+1个第二交易中包括第k+1个所述哈希序列中的第c个哈希值。
15.在一种可能的实施方式中,所述签名处理单元,配置为根据用于表征所述第二哈希值的比特序列确定长度为t且依次排列的若干子比特序列,并将所述若干子比特序列转换成用十进制数表示的若干第一数值。
16.在一种可能的实施方式中,取值为d的第一数值所对应的目标哈希值是第k个所述哈希序列中的第d+1个哈希值。
17.在一种可能的实施方式中,取值为d的第一数值所对应的目标哈希值是第k个所述
哈希序列中的第m个哈希值,m为利用c对d+1+m取模的结果,m为预设整数。
18.在一种可能的实施方式中,所述第一设备是iot设备,所述第k个业务数据是所述iot设备通过传感器采集的业务相关数据。
19.第四方面,提供了一种数据处理装置,部署在第二设备中,所述第二设备与区块链系统连接,所述区块链系统中存储有来自第一设备的第k个第一交易、第k个第二交易以及第k+1个第二交易,所述第k个第一交易中包括第k个业务数据以及其数字签名,所述数字签名包括依次排列的若干目标哈希值。所述装置包括:哈希计算单元,配置为计算第k个业务数据的第三哈希值,并根据所述第三哈希值和第k+1个第二交易所包括的哈希值计算第四哈希值;映射处理单元,配置为利用预设映射算法将所述第二哈希值映射为依次排列的若干第二数值;哈希校验单元,配置为对于任意的第f个所述目标哈希值,根据第f个所述第二数值以及第k个第二交易所包括的哈希值,验证第f个所述目标哈希值的完整性;签名验证单元,配置为当所述若干目标哈希值均通过完整性验证的情况下,确定所述数字签名通过验证。
20.在一种可能的实施方式中,所述映射处理单元,配置为根据用于表征所述第四哈希值的比特序列确定长度为t且依次排列的若干子比特序列,并将所述若干子比特序列转换成用十进制数表示的若干第二数值。
21.在一种可能的实施方式中,所述哈希校验单元,配置为计算依次排列的c-d-1个哈希值,其中所述c-d-1个哈希值中的第1个哈希值基于第f个所述目标哈希值计算得到,其它任意第j个哈希值基于其前一哈希值计算得到,d为第f个所述第二数值;当所述c-d-1个哈希值中的第c-d-1个哈希值与第k个第二交易所包括的哈希值相同时,确定第f个所述目标哈希值完整性验证通过。
22.在一种可能的实施方式中,所述哈希校验单元,配置为计算依次排列的c-m个哈希值,其中所述c-m个哈希值中的第1个哈希值基于第f个所述目标哈希值计算得到,其它任意第j个哈希值基于其前一哈希值计算得到,m为利用c对d+1+m取模的结果,d为第f个所述第二数值,m为预设整数;当所述c-m个哈希值中的第c-m个哈希值与第k个第二交易所包括的哈希值相同时,确定第f个所述目标哈希值完整性验证通过。
23.第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算设备中执行时,计算设备实现第一方面和和第二方面中任一项所述的方法。
24.第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现第一方面和第二方面中任一项所述的方法。
25.通过本说明书一个或多个实施例中提供的方法及装置,第一设备获得第k个业务数据的数字签名的过程中,进行的算法过程主要是较为简单的哈希计算,并未执行较为复杂的密码学算法,其需要消耗的计算资源相对较低,并不要求第一设备具有较好的计算能力,而且第k个业务数据的数字签名能够用于准确验证第k个业务数据的完整性。
附图说明
26.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
27.图1为本说明书实施例中提供的技术方案的系统框架图;
28.图2为本说明书实施例中提供的一种数据处理方法的流程示意图之一;
29.图3为本说明书实施例中示例性提供的生成数字签名的过程示意图;
30.图4为本说明书实施例中提供的一种数据处理方法的流程示意图之二;
31.图5为本说明书实施例中提供的一种数据处理装置的示意图之一;
32.图6为本说明书实施例中提供的一种数据处理装置的示意图之二。
具体实施方式
33.下面结合附图,对本说明书所提供的各个非限制性实施例进行详细描述。
34.采用pki实现对业务数据生成数据签名并对数据签名进行验证时,其因需要进行例如模逆运算等将会消耗大量计算资源的运算过程,通常要求设备具有较强的计算能力来执行较为复杂的密码学算法,或者要求设备额外配置特定的密码加速器来运行相关密码学算法组件。然而对于部分物联网(internet of things,iot)设备而言,特别是需要电池供电的传感器iot设备而言,其微控制器往往不具备足够的计算能力而且并未额外配置密码加速器,这类iot设备采集的业务数据却又往往比较重要,例如业务数据可能为iot设备通过传感器采集的碳排放相关数据、光伏发电相关数据、冷链温湿度等业务相关数据,如何针对这类iot设备设计不需要消耗过多计算资源却又能同时保证业务数据完整性的数字签名方案则成为亟待解决的问题。
35.图1为本说明书实施例中提供的技术方案的系统框架图。如图1所示,区块链系统是通过多个节点来建立的分布式网络,其包含的任意两个节点间通过点对点(peer-to-peer,p2p)网络实现在应用层的通信连接;其他终端例如设备1、设备2以及设备3等可以通过区块链中的节点连接到该区块链系统。区块链系统是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其将来自终端设备的交易打包成区块,并按照时间顺序将区块以顺序相连的方式组合成链式数据结构,是以密码学方式保证的不可篡改和不可伪造的分布式账本。前述设备1、设备2已经设备3等终端设备例如可以是用于实现在各种数据采集场景中的iot设备,也可以是用于对iot设备采集的业务数据进行分析和使用的其他计算设备。
36.下面结合图1所示的系统框架详细描述本说明书实施例中提供的技术方案。
37.图2为本说明书实施例中提供的一种数据处理方法的流程示意图。该方法可以由与区块链系统连接并用于采集业务数据的终端设备(第一设备)执行,例如由前述的iot设备执行,该第一设备可以按照时间顺序获取多个业务数据,并按照时间顺序采用如图2所示的数据处理方法依次将多个业务数据存储到区块链系统,以供连接到区块链系统的其他设备(第二设备)按照其自身的业务需求验证业务数据的完整性或者使用业务数据。图2中仅示出了第一设备处理其获取的第k个业务数据的过程,其中在第一设备处理其获取的第1个业务数据之前,第一设备可以生成第1个随机数x1,基于随机数x1生成第1个哈希序列p1,哈希序列p1中可以包括c个哈希值,其中的第1个哈希值h1(x1)基于随机数x1计算得到,除第1个哈希值h(x1)以外的任意第i个哈希值hi(x1)基于第i-1个哈希值h
i-1
(x1)计算得到,此外c
的取值可以为2
t
,t的取值例如可以为大于0的整数且可以按照实际业务需求进行灵活配置。参照图2所示,第一设备可以通过如下步骤21~步骤27处理其获取的任意第k个业务数据。
38.首先,在步骤21,获取与第k个随机数对应的第k个哈希序列以及与第k+1个随机数对应的第k+1个哈希序列。
39.与前述的哈希序列p1相似,第k个哈希序列pk以及第k+1个哈希序列p
k+1
中均包括c个哈希值。哈希序列pk中的第1个哈希值h1(xk)基于第k个随机数xk计算得到,除h1(xk)以外的任意第i个哈希值hi(xk)基于pk中的第i-1个哈希值h
i-1
(xk)计算得到;更具体地,第i个哈希值hi(xk)是对第i-1个哈希值h
i-1
(xk)继续进行哈希运算得到,换而言之即hi(xk)=h(h
i-1
(xk))。p
k+1
中的第1个哈希值h1(x
k+1
)基于第k+1个随机数x
k+1
计算得到,除h1(x
k+1
)以外的任意第i个哈希值hi(x
k+1
)基于p
k+1
中的第i-1个哈希值h
i-1
(x
k+1
)计算得到。需要特别说明的是,第k+1个随机数具体可以由第一设备在其处理第k个业务数据的过程中生成,即随机数xk及其对应的哈希序列pk可以由第一设备在处理第k-1个业务数据的过程中生成,第一设备需要在步骤21中生成随机数x
k+1
以及其对应的哈希序列p
k+1
。此外还需要特别说明的是,还可以限定哈希序列中的每个哈希值的长度均为预定长度。
40.接着,在步骤23,计算第k个业务数据的第一哈希值,并根据第一哈希值和第k+1个哈希序列中的第c个哈希值计算第二哈希值。例如计算出第k个业务数据的第一哈希值h
1k
(data)之后,可以拼接h
1k
(data)和第k+1个哈希序列中的第c个哈希值hc(x
k+1
),进而计算拼接结果的第二哈希值h
1k
(t),其中h
1k
(data)和h
1k
(t)能够用于保证第k个业务数据和hc(x
k+1
)的完整性。需要特别说明的是,可以通过步骤23中执行的哈希算法限定计算得到的在计算设备中用于表征h
1k
(t)的比特序列的长度为n*t,其中n为整数;当然用于表征h
1k
(t)的比特序列的长度也可能并非是t的整数倍。
41.接着,在步骤25,利用预设映射算法将第二哈希值映射为依次排列的若干第一数值,从第k个哈希序列中获取与若干第一数值对应的若干目标哈希值,并生成第k个业务数据的数字签名,其中包括依次排列的若干目标哈希值。
42.在一种可能的实施方式中,可以根据用于表征第二哈希值的比特序列确定长度为t且依次排列的若干子比特序列,并将若干子比特序列转换成用十进制数表示的若干第一数值。
43.如果用于表征第二哈希值的比特序列的长度为n*t,则具体例如可以将用于表征第二哈希值的比特序列均分为依次排列的n个子比特序列。例如请参见图3所示,假设用于表征第二哈希值h
1k
(t)的比特序列的长度为n*t,则可以按照由高到低的顺序将该比特序列划分成长度为t且依次排列的n1~nn等n个子比特序列。此外还可以按照设定的步长从用于表征第二哈希值的比特序列最高位开始,从该比特序列中依次提取若干子比特序列。
44.对于单个子比特序列而言,将该子比特序列转换成用十进制数表示的第一数值d后,例如可以根据第一数值d将哈希序列pk中的第d+1个哈希值h
d+1
(xk)确定为第一数值d对应的目标哈希值;例如请继续参照图3,假设子比特序列n1对应的第一数值为1,则pk中的第2个哈希值h2(xk)将被确定为对应的目标哈希值,假设子比特序列nn对应的第一数值为5,则pk中的第6个哈希值h6(xk)将被确定为对应的目标哈希值。或者,还可以根据第一数值d将哈希序列pk中的第m个哈希值hm(xk)确定为其对应的目标哈希值,其中m为利用c对d+1+m取模
的结果,m是预先设定的整数。
45.当确定处依次排列的若干第一数值各自对应的目标哈希值后,可以利用依次排列的若干目标哈希值构造出第k个业务数据的数字签名。请继续参见图3,例如可以对依次排列的n1~nn等n个子比特序列各自对应的目标哈希值进行依次拼接,获得第k个业务数据的数字签名sign(hk(t));换而言之,数字签名sign(hk(t))中包括与依次排列的n个子比特序列n1~nn相对应的依次排列的n个目标哈希值。
46.最后,在步骤27,向区块链系统发送第k个第一交易和第k+1个第二交易。其中第k个第一交易中包括第k个业务数据以及其数字签名,第k+1个第二交易中包括第k+1个哈希序列中的第c个哈希值;换而言之即第k个第一交易中包括第k个业务数据以及其数字签名sign(hk(t));第k+1个第二交易中包括哈希值hc(x
k+1
)。
47.通过前述各个方法步骤可见,第一设备获得第k个业务数据的数字签名sign(hk(t))的过程中,进行的算法过程主要是较为简单的哈希计算,并未执行较为复杂的密码学算法,其需要消耗的计算资源相对较低,并不要求第一设备具有较好的计算能力。
48.通过前述步骤21~步骤27完成对第一设备获取的第k个业务进行处理,区块链系统中将会存储第k个第一交易和第k+1个第二交易,由于区块链系统的不可篡改性和区块时序性,可以保证由第一设备获取的第k个随机数,将会仅用于支持第一设备对其获取的第k个业务数据生成1次/1个数字签名。与区块链系统连接的其他设备(第二设备)可以对第k个第一交易中的第k个业务数据的数字签名进行验证,以便于确定第k个业务数据在其被发送到区块链系统的过程中是否受到入侵者的破坏。
49.图4为本说明书实施例中提供的另一种数据处理方法的流程示意图。图4所示的方法可以由与区块链系统连接的其他设备(第二设备)执行,该第二设备可以按照其自身的业务需求通过任意第k个业务数据的签名验证第k个业务数据的完整性。图4示出了第二设备验证第k个业务数据的数字签名的过程,其中需要特别说明的是参见前述图2所示的过程可知,区块链系统中存储有来自第一设备的第k个第一交易的情况下,区块链系统中还应当存储有来自第一设备的第k个第二交易以及第k+1个第二交易。第k个第一交易中应当包括第k个业务数据以及其数字签名,第k个业务数据的数字签名包括依次排列的若干目标哈希值。第二设备可以通过向区块链系统发送相应的查询请求,获得第k个第一交易中的第k个业务数据和其对应的数字签名,以及获得第k个第二交易和第k+1个第二交易中各自包括的哈希值,进而执行图4所示的如下步骤41~步骤47。
50.首先,在步骤41,计算第k个业务数据的第三哈希值,并根据第三哈希值和第k+1个第二交易所包括的哈希值计算第四哈希值。例如计算出第k个业务数据的第三哈希值h
2k
(data)之后,可以拼接h
2k
(data)和第k+1个第二交易中所包括的哈希值,进而计算拼接结果的第四哈希值h
2k
(t)。需要特别说明的是,第一交易中的第k个业务数据的完整性可能受到入侵者的破坏,导致计算的第三哈希值h
2k
(data)不同于前述的第一哈希值h
1k
(data),进而导致计算的第四哈希值h
2k
(t)不同于前述的第二哈希值h
1k
(t);此外第二交易中所包括的哈希值的完整性也可能受到入侵者的破坏而不同于前述哈希序列p
k+1
中的第c个哈希值hc(x
k+1
),进而导致计算的第四哈希值h
2k
(t)不同于前述的第二哈希值h
1k
(t)。
51.接着,在步骤43,利用预设映射算法将第二哈希值映射为依次排列的若干第二数值。
52.其中步骤43中所述的预设映射算法相同于前述步骤23中所述的预设映射算法。与之相应的是,步骤43中具体例如可以根据用于表征第四哈希值的比特序列确定长度为t且依次排列的若干子比特序列,并将若干子比特序列转换成用十进制数表示的若干第二数值。
53.接着,在步骤45,对于任意的第f个目标哈希值,根据第f个第二数值以及第k个第二交易所包括的哈希值,验证第f个目标哈希值的完整性。
54.如果前述步骤25中根据第一数值d将哈希序列pk中的第d+1个哈希值h
d+1
(xk)确定为第一数值d对应的目标哈希值。则步骤45中具体可以根据第f个第二数值d以及第f个目标哈希值计算依次排列的c-d-1个哈希值,其中c-d-1个哈希值中的第1个哈希值基于第f个目标哈希值计算得到,除第1个哈希值以外的任意第j个哈希值基于第j-1个哈希值计算得到;当c-d-1个哈希值中的第c-d-1个哈希值与第k个第二交易所包括的哈希值相同时,说明第f个目标哈希值为第k个哈希序列中的哈希值,换而言之即第f个目标哈希值是基于第k个随机数xk生成的,第f个目标哈希值验证通过。
55.如果前述步骤25中根据第一数值d将哈希序列pk中的第m个哈希值hm(xk)确定为其对应的目标哈希值,其中m为利用c对d+1+m取模的结果,m是预先设定的整数。则步骤45中具体可以根据第f个子比特序列表征的数值d以及第f个目标哈希值计算依次排列的c-m个哈希值,其中c-m个哈希值中的第1个哈希值基于第f个目标哈希值计算得到,除第1个哈希值以外的任意第j个哈希值基于第j-1个哈希值计算得到;当c-m个哈希值中的第c-m个哈希值与第k个第二交易所包括的哈希值相同时,说明第f个目标哈希值为第k个哈希序列中的哈希值,换而言之即第f个目标哈希值是基于第k个随机数xk生成的,第f个目标哈希值验证通过。
56.当第k+1个第二交易中所包括的哈希值hc(x
k+1
)、第k个第一交易中的第k个业务数据以及其数字签名sign(hk(t))中的任一项的完整性受到入侵者的破坏,均会导致组成该数字签名sign(hk(t))中所包括的若干目标哈希值中的一个或多个不能通过完整性验证。
57.与之相应的,在步骤47,当若干目标哈希值均通过完整性验证的情况下,确定数字签名通过验证。如果第k个第一交易中的数字签名验证通过,则说明第k个第一交易中的第k个业务数据以及数字签名、第k+1个第二交易中的哈希值的完整性未受到入侵者的破坏。
58.前述步骤41~步骤47中使用了第k个第二交易中的哈希值来验证第k个第一交易中的数字签名,然而参见步骤41~步骤47的描述可知,第k个第二交易中的哈希值的完整性可以通过第k-1个第一交易中的第k-1个业务数据以及其数字签名来验证,其验证过程实质上相似于前述步骤41~步骤47。
59.通过前述各个实施例,第一设备获得第k个业务数据的数字签名的过程中,进行的算法过程主要是较为简单的哈希计算,并未执行较为复杂的密码学算法,其需要消耗的计算资源相对交底,并不要求第一设备具有较好的计算能力,而且第k个业务数据的数字签名能够用于验证第k个业务数据的完整性。总而言之,本说明书实施例中提供的技术方案,能够实现在使得第一设备不需要消耗过多计算资源的情况下却又能同时保证业务数据完整性。
60.与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种数据处理装置,其部署在第一设备中,用于处理由所述第一设备获取的第k个业务数据。如图5所示,所
述装置包括:序列处理单元51,配置为获取与第k个随机数对应的第k个哈希序列以及与第k+1个随机数对应的第k+1个哈希序列,单个所述哈希序列中包括c个哈希值,第1个哈希值基于其对应的随机数计算得到,其它任意第i个哈希值基于其前一哈希值计算得到;哈希计算单元53,配置为计算所述第k个业务数据的第一哈希值,并根据所述第一哈希值和第k+1个所述哈希序列中的第c个哈希值计算第二哈希值;签名处理单元55,配置为利用预设映射算法将所述第二哈希值映射为依次排列的若干第一数值,从第k个所述哈希序列中获取与所述若干第一数值对应的若干目标哈希值,并生成所述第k个业务数据的数字签名,其中包括依次排列的所述若干目标哈希值;交易发送单元57,配置为向区块链系统发送第k个第一交易和第k+1个第二交易,所述第k个第一交易中包括所述第k个业务数据以及所述数字签名,所述第k+1个第二交易中包括第k+1个所述哈希序列中的第c个哈希值。
61.在一种可能的实施方式中,所述签名处理单元55,配置为根据用于表征所述第二哈希值的比特序列确定长度为t且依次排列的若干子比特序列,并将所述若干子比特序列转换成用十进制数表示的若干第一数值。
62.在一种可能的实施方式中,取值为d的第一数值所对应的目标哈希值是第k个所述哈希序列中的第d+1个哈希值。
63.在一种可能的实施方式中,取值为d的第一数值所对应的目标哈希值是第k个所述哈希序列中的第m个哈希值,m为利用c对d+1+m取模的结果,m为预设整数。
64.在一种可能的实施方式中,所述第一设备是iot设备,所述第k个业务数据是所述iot设备通过传感器采集的业务相关数据。
65.与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种数据处理装置,其部署在第二设备中,所述第二设备与区块链系统连接,所述区块链系统中存储有来自第一设备的第k个第一交易、第k个第二交易以及第k+1个第二交易,所述第k个第一交易中包括第k个业务数据以及其数字签名,所述数字签名包括依次排列的若干目标哈希值。如图6所示,所述装置包括:哈希计算单元61,配置为计算第k个业务数据的第三哈希值,并根据所述第三哈希值和第k+1个第二交易所包括的哈希值计算第四哈希值;映射处理单元63,配置为利用预设映射算法将所述第二哈希值映射为依次排列的若干第二数值;哈希校验单元65,配置为对于任意的第f个所述目标哈希值,根据第f个所述第二数值以及第k个第二交易所包括的哈希值,验证第f个所述目标哈希值的完整性;签名验证单元67,配置为当所述若干目标哈希值均通过完整性验证的情况下,确定所述数字签名通过验证。
66.在一种可能的实施方式中,所述映射处理单元63,配置为根据用于表征所述第四哈希值的比特序列确定长度为t且依次排列的若干子比特序列,并将所述若干子比特序列转换成用十进制数表示的若干第二数值。
67.在一种可能的实施方式中,所述哈希校验单元65,配置为计算依次排列的c-d-1个哈希值,其中所述c-d-1个哈希值中的第1个哈希值基于第f个所述目标哈希值计算得到,其它任意第j个哈希值基于其前一哈希值计算得到,d为第f个所述第二数值;当所述c-d-1个哈希值中的第c-d-1个哈希值与第k个第二交易所包括的哈希值相同时,确定第f个所述目标哈希值完整性验证通过。
68.在一种可能的实施方式中,所述哈希校验单元65,配置为计算依次排列的c-m个哈希值,其中所述c-m个哈希值中的第1个哈希值基于第f个所述目标哈希值计算得到,其它任
意第j个哈希值基于其前一哈希值计算得到,m为利用c对d+1+m取模的结果,d为第f个所述第二数值,m为预设整数;当所述c-m个哈希值中的第c-m个哈希值与第k个第二交易所包括的哈希值相同时,确定第f个所述目标哈希值完整性验证通过。
69.本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能所对应的计算机程序存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令/代码进行传输,以便这些功能所对应的计算机程序被计算机执行时,通过计算机实现本说明书任意一个实施例中所述的方法。
70.本说明书实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,当所述计算机程序在计算设备中执行时,计算设备执行本说明书任意一个实施例中提供的由第一设备或者第二设备执行的各个方法步骤。
71.本说明书实施例中还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序/指令,所述处理器执行所述计算机程序/指令时,实现本说明书任意一个实施例中提供的由第一设备或者第二设备执行的各个方法步骤。
72.本说明书中的各个实施例均采用递进的方式描述,各个实施例中相同、相似的部分互相参见即可,每个实施例中重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
73.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
74.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1