首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 数据处理的方法及相关装置

数据处理的方法及相关装置

阅读:3发布:2020-12-09

专利汇可以提供数据处理的方法及相关装置专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种 数据处理 的方法以及相关装置,方法包括:接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;利用所述第二设备的公钥对所述第二设备的数字签名进行验证;若验证成功,则根据所述网络地址从 区 块 链 中获取第二加密数据B;计算第一加密数据A减去第二加密数据B以获取差值C;对所述差值C进行范围证明RangeProof的验签;如果验签通过,则确定所述第一加密数据A大于或等于所述第二加密数据B。通过本 发明 提供的实施例,能够在密文状态下确定两个数据的大小,从而在保证数据机密性的同时完成数据的计算。,下面是数据处理的方法及相关装置专利的具体信息内容。

1.一种数据处理的方法,应用于加密数据判断中,其特征在于,所述方法包括:
接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;
利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
若验证成功,则根据所述网络地址从链中获取第二加密数据B;
计算第一加密数据A减去第二加密数据B以获取差值C;
对所述差值C进行范围证明RangeProof的验签;
如果验签通过,则确定所述第一加密数据A大于或等于所述第二加密数据B。
2.根据权利要求1所述的方法,其特征在于,所述第一加密数据和第二加密数据B都是密码学中的佩德森复数Perdesen Commitment格式;所述第一加密数据A和第二加密数据B使用椭圆曲线加密法ECC描述如下:
A=a*G+x1*H;
B=b*G+x2*H;
其中,C=(A-B)=(a-b)*G+(x1-x2)*H;
其中,x1是第一原始数值;x2是第二原始数值;G和H是与椭圆曲线加密函数ECDSA生成的无关的固定值,a,b均为随机盲密钥。
3.根据权利要求2所述的方法,其特征在于,所述对所述差值C进行RangeProof的验签,包括:
以字符串M1,差值C以及签名S1为参数进行RangeProof验签;
其中,M1=hash(string(A)+string(B));
C=(A-B);
签名S1是以字符串M1,P1,Q1为参数,进行RangeProof计算得到的,其中,P1=(a-b),Q1=(x1-x2)。
4.根据权利要求3所述的方法,其特征在于,所述确定所述第一加密数据A大于或等于所述第二加密数据B之后,所述方法还包括:
计算所述第二加密数据B减去第一加密数据A以获取差值D;
对所述差值D进行RangeProof的验签;
如果验签通过,则确定A等于B。
5.根据权利要求4所述的方法,其特征在于,D=(B-A)=(b-a)*G+(x2-x1)*H;
所述对所述差值D进行RangeProof的验签,包括:
以字符串M2,差值D以及签名S2为参数进行RangeProof验签;
其中,M2=hash(string(A)+string(B));
D=(B-A);
签名S2是以字符串M2,P2,Q2为参数,进行RangeProof计算得到的,其中,P2=(b-a),Q2=(x2-x1)。
6.根据权利要求1所述的方法,其特征在于,所述利用所述第二设备的公钥对所述第二设备的数字签名进行验证,包括:
利用所述第二设备的公钥对所述第二设备的数字签名进行解密;
若解密成功,则获取所述数字签名所对应的明文;
将所述第二设备对应的标识信息与所述获取的明文进行匹配;
根据匹配的结果判断是否验证成功。
7.根据权利要求1所述的方法,其特征在于,所述利用所述第二设备的公钥对所述第二设备的数字签名进行验证,包括:
利用所述第二设备的公钥对所述第二设备的数字签名进行解密;
若解密成功,则获取所述数字签名所对应的明文;
将所述第二设备对应的企业的注册信息与所述获取的明文进行匹配;
若匹配成功,则判断当前的时间是否位于所述数字签名对应的有效期内;
根据判断结果确定是否验证成功。
8.一种数据处理的装置,应用于区块链中,其特征在于,所述装置包括:
接收单元,用于接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;
验证单元,用于利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
第一获取单元,用于若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;
所述第一获取单元,还用于计算第一加密数据A减去第二加密数据B以获取差值C;
所述验证单元,用于对所述差值C进行RangeProof的验签;
确定单元,用于如果验签通过,则确定所述第一加密数据A大于或等于第二加密数据B。
9.一种服务器,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。

说明书全文

数据处理的方法及相关装置

技术领域

[0001] 本申请涉及电子设备技术领域,具体涉及一种数据处理的方法及相关装置。

背景技术

[0002] 在链中,因为所有的数据都是加密存储,在保证信息安全性的同时也带来了很多麻烦。
[0003] 在实际的商业案例中,有大量需要比较两笔加密金额大于小于关系的场景。比如:在供应链金融中,上游的生产商可以使用核心企业的订单进行贷款申请,而行接收到申请后,必须能够判断生产商的贷款申请金额,不大于其订单的总金额才能够审批贷款,但是贷款的金额涉及到商业秘密,如果直接给银行提供明文的话,容易导致商业秘密泄露,如果提供密文的话,银行又无法做出该贷款金额是否满足审批条件,从而给银行和商户带来了困扰。
发明内容
[0004] 本申请实施例提供了一种数据处理的方法及相关装置,能够确定密文状态下确定两个数据的大小,从而在保证数据机密性的同时完成数据的计算。
[0005] 第一方面,本申请实施例提供一种数据处理的方法,所述方法包括:
[0006] 接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;
[0007] 利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
[0008] 若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;
[0009] 计算第一加密数据A减去第二加密数据B以获取差值C;
[0010] 对所述差值C进行范围证明RangeProof的验签;
[0011] 如果验签通过,则确定所述第一加密数据A大于或等于所述第二加密数据B的。
[0012] 可选的,所述第一加密数据和第二加密数据B都是密码学中的Perdesen Commitment格式;所述第一加密数据A和第二加密数据B使用椭圆曲线加密法ECC描述如下:
[0013] A=a*G+x1*H;
[0014] B=b*G+x2*H;
[0015] 其中,C=(A-B)=(a-b)*G+(x1-x2)*H;
[0016] 其中,x1是第一原始数值;x2是第二原始数值;G和H是与椭圆曲线加密函数ECDSA生成的无关的固定值,a,b均为随机盲密钥。
[0017] 可选的,所述对所述差值C进行RangeProof的验签,包括:
[0018] 以字符串M1,差值C以及签名S1为参数进行RangeProof验签;
[0019] 其中,M1=hash(string(A)+string(B));
[0020] C=(A-B);
[0021] 签名S1是以字符串M1,P1,Q1为参数,进行RangeProof计算得到的,其中,P1=(a-b),Q1=(x1-x2)。
[0022] 进一步需要指出的是,可通过以下方式确定A是否等于B,具体的,所述方法还包括:
[0023] 计算所述第二加密数据B减去第一加密数据A以获取差值D;
[0024] 对所述差值D进行RangeProof的验签;
[0025] 如果验签通过,则确定A等于B。
[0026] 其中,D=(B-A)=(b-a)*G+(x2-x1)*H;
[0027] 所述对所述差值D进行RangeProof的验签,包括:
[0028] 以字符串M2,差值D以及签名S2为参数进行RangeProof验签;
[0029] 其中,M2=hash(string(A)+string(B));
[0030] D=(B-A);
[0031] 签名S2是以字符串M2,P2,Q2为参数,进行RangeProof计算得到的,其中,P2=(b-a),Q2=(x2-x1)。
[0032] 可选的,所述利用所述第二设备的公钥对所述第二设备的数字签名进行验证,包括:
[0033] 利用所述第二设备的公钥对所述第二设备的数字签名进行解密;
[0034] 若解密成功,则获取所述数字签名所对应的明文;
[0035] 将所述第二设备对应的标识信息与所述获取的明文进行匹配;
[0036] 根据匹配的结果判断是否验证成功。
[0037] 可选的,所述利用所述第二设备的公钥对所述第二设备的数字签名进行验证,包括:
[0038] 利用所述第二设备的公钥对所述第二设备的数字签名进行解密;
[0039] 若解密成功,则获取所述数字签名所对应的明文;
[0040] 将所述第二设备对应的企业的注册信息与所述获取的明文进行匹配;
[0041] 若匹配成功,则判断当前的时间是否位于所述数字签名对应的有效期内;
[0042] 根据判断结果确定是否验证成功。
[0043] 可选的,所述如果验签通过,则确定所述第一加密数据A大于或等于所述第二加密数据B之后,所述方法还包括:
[0044] 向所述第一设备反馈验签成功的消息。
[0045] 本发明第二发明公开了一种数据处理的装置,所述装置应用于区块链中,所述装置包括:
[0046] 接收单元,用于接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;
[0047] 验证单元,用于利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
[0048] 第一获取单元,用于若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;
[0049] 所述第一获取单元,还用于计算第一加密数据A减去第二加密数据B以获取差值C;
[0050] 所述验证单元,用于对所述差值C进行RangeProof的验签;
[0051] 确定单元,用于如果验签通过,则确定所述第一加密数据A大于或等于第二加密数据B。
[0052] 可选的,所述第一加密数据和第二加密数据B都是密码学中的Perdesen Commitment格式;所述第一加密数据A和第二加密数据B使用椭圆曲线加密法ECC描述如下:
[0053] A=a*G+x1*H;
[0054] B=b*G+x2*H;
[0055] 其中,C=(A-B)=(a-b)*G+(x1-x2)*H;
[0056] 其中,x1是第一原始数值;x2是第二原始数值;G和H是与椭圆曲线加密函数ECDSA生成的无关的固定值,a、b均为随机盲密钥。
[0057] 可选的,所述验证单元,具体用于以字符串M1,差值C以及签名S1为参数进行RangeProof验签;
[0058] 其中,M1=hash(string(A)+string(B));
[0059] C=(A-B);
[0060] 签名S1是以字符串M1,P1,Q1为参数,进行RangeProof计算得到的,其中,P1=(a-b),Q1=(x1-x2)。
[0061] 可选的,所述装置还包括第二获取单元;
[0062] 所述第二获取单元,用于计算所述第二加密数据B减去第一加密数据A以获取差值D;
[0063] 所述验证单元,用于对所述差值D进行RangeProof的验签;
[0064] 所述确定单元,用于如果验签通过,则确定A等于B。
[0065] 其中,D=(B-A)=(b-a)*G+(x2-x1)*H;
[0066] 所述验证单元,用于以字符串M2,差值D以及签名S2为参数进行RangeProof验签;
[0067] 其中,M2=hash(string(A)+string(B));
[0068] D=(B-A);
[0069] 签名S2是以字符串M2,P2,Q2为参数,进行RangeProof计算得到的,其中,P2=(b-a),Q2=(x2-x1)。
[0070] 可选的,所述验证单元,具体用于利用所述第二设备的公钥对所述第二设备的数字签名进行解密;若解密成功,则获取所述数字签名所对应的明文;将所述第二设备对应的标识信息与所述获取的明文进行匹配;根据匹配的结果判断是否验证成功。
[0071] 可选的,所述验证单元,具体用于利用所述第二设备的公钥对所述第二设备的数字签名进行解密;若解密成功,则获取所述数字签名所对应的明文;将所述第二设备对应的企业的注册信息与所述获取的明文进行匹配;若匹配成功,则判断当前的时间是否位于所述数字签名对应的有效期内;根据判断结果确定是否验证成功。
[0072] 可选的,所述装置还包括反馈单元;所述反馈单元,用于向所述第一设备反馈验签成功的消息。
[0073] 第三方面,本申请实施例提供一种服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第一方面任一项所述的方法中所描述的部分或全部步骤。
[0074] 第四方面,本申请实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
[0075] 可以看出,本申请实施例中,接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;利用所述第二设备的公钥对所述第二设备的数字签名进行验证;若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;获取第一加密数据A和第二加密数据B之间的差值C;对所述差值C进行范围证明RangeProof的验签;如果验签通过,则确定所述第一加密数据A大于或等于所述第二加密数据B。通过本发明提供的实施例,能够在密文状态下确定两个数据的大小,从而在保证数据机密性的同时完成数据的计算。附图说明
[0076] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0077] 图1是本申请实施例提供的一种区块链分布式存储的示意图;
[0078] 图2是本申请实施例提供的一种数据处理的方法的流程示意图;
[0079] 图2a是本发明实施例提供的一种数据处理方法的系统架构示意图;
[0080] 图3是本申请实施例提供的另一种数据处理的方法的流程示意图;
[0081] 图4是本申请实施例提供的另一种数据处理的方法的流程示意图;
[0082] 图5是本申请实施例提供的一种移动终端的功能单元组成框图
[0083] 图6是本申请实施例提供的另一种移动终端的功能单元组成框图;
[0084] 图7是本申请实施例提供的另一种移动终端的功能单元组成框图;
[0085] 图8是本申请实施例提供的一种移动终端的结构示意图。

具体实施方式

[0086] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0087] 本申请的说明书权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0088] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0089] 如图1所示,图1为区块链分布式存储的示意图,包括第一节点10、第二节点20以及计算节点30。其中第一节点10用于存储第一加密数据,第二节点20用于存储第二加密数据,计算节点30用于进行密文计算以确定第一加密数据和第二加密数据之间的大小关系。
[0090] 请参阅图2,图2是本申请实施例提供了一种数据处理的方法的流程示意图,应用于电子设备;如图所示,本数据处理的方法包括:
[0091] 101、接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;
[0092] 举例来说,如图2a所示,该方法的执行主体可以为银行服务器,该第一设备可以是第一企业的服务器,第二设备为第二企业的服务器。比如该第一企业是生产手机芯片的,第二企业是生产手机的,那么第一企业位于第二企业的产业链上游。比如现在第一企业要扩大生产,但是资金不足需要向银行贷款,在产业链金融中,为了进行抵押贷款,第一企业可以拿第二企业给予的订单来进行贷款。一般来说,第一企业贷款的金额不能够超过第二企业给予的订单的金额。
[0093] 为了进行贷款,第一企业通过该第一设备向银行的服务器发送数据确认消息,该消息中可以包括贷款金额(防止金额泄露,该金额处于密文状态,即第一加密数据A)。当然,为了让银行确认第一企业存在与第二企业的订单,还需要将第二企业的数字签名以及第二设备给的订单信息(当然,也可以是发送的网址,银行服务器可以根据网址获取该订单信息)发送给银行的服务器。可以理解的是,该第二设备是第二企业的服务器,第二企业向第一企业下发订单的时候可以附带自己的数字签名,即利用自己的私钥对身份信息进行签名之后获得的数字签名。身份信息包括该第二企业的名称以及工商注册信息等。
[0094] 进一步需要指出的是,第一设备或第二设备均为包括各种具有通信功能的电子装置,电子装置可以包括手持设备、车载设备、可穿戴设备、计算机设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,UE),移动台(mobile station,MS),终端设备(terminal device)等等。
[0095] 其中,接收第一设备发送的数据确认消息之后,所述方法还可以包括:采集第一设备用户的身份信息;将第一设备用户的身份信息发送至区块链身份认证节点进行身份认证。
[0096] 102、利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
[0097] 需要指出的是,举例来说,第二企业向第一企业下订单,合同中会包括该第二企业的数字签名。第一企业会通过该数字签名来确定该订单是第二企业下的。
[0098] 银行服务器接收到第一设备发送的所述第二设备的数字签名之后,会根据该第二设备的公钥对所述数字签名进行验证,如果验证成功,则说明该第二企业的身份得到验证以及订单情况属实。进一步的,需要从区块链中获取订单的具体的信息,从区块链中获取的信息的正确性可以得到保证。
[0099] 举例来说,所述利用所述第二设备的公钥对所述第二设备的数字签名进行验证,包括:
[0100] 利用所述第二设备的公钥对所述第二设备的数字签名进行解密;若解密成功,则获取所述数字签名所对应的明文;将所述第二设备对应的标识信息与所述获取的明文进行匹配;根据匹配的结果判断是否验证成功。
[0101] 其中,可以理解的是,标识信息是用于指示该第二设备身份的唯一标识。比如可以是该第二设备的在权威机构的注册的序列号等信息。
[0102] 可选的,所述数字签名中还包括该数字签名的有效期。若所述第二设备对应的标识信息与所述获取的明文匹配,还可以判断当前时间是否位于有效期内,如果在有效期内则验证成功。可以理解的是有效期可以是一个时间段,也可以是一个截止的时间点。
[0103] 举例来说,所述利用所述第二设备的公钥对所述第二设备的数字签名进行验证,包括:利用所述第二设备的公钥对所述第二设备的数字签名进行解密;若解密成功,则获取所述数字签名所对应的明文;将所述第二设备对应的企业的注册信息与所述获取的明文进行匹配;若匹配成功,则判断当前的时间是否位于所述数字签名对应的有效期内;根据判断结果确定是否验证成功。
[0104] 可以理解的是,将所述第二设备对应的企业的注册信息与所述获取的明文进行匹配之前,所述方法还包括:登录工商局网站获取所述第二设备对应的企业的注册信息。
[0105] 可以理解的是,常见的工商注册信息(或称为登记信息)包括以下内容:1、企业名称;2、企业住所;3、企业法定代表人姓名;4、企业注册资本数额;5、企业类型;6、企业经营方式和经营范围;7、企业投资人(是公司的就是股东的基本情况,如名称或者姓名、出资额等等);8、企业的分支机构。
[0106] 可以理解的是,明文;将所述第二设备对应的企业的注册信息与所述获取的明文进行匹配的匹配内容可以是上述例举内容的一项或多项。
[0107] 103、若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;
[0108] 其中,可以理解的是,如果利用公钥对所述第二设备的数字签名验证成功,则根据网络地址从区块链中获取第二加密数据B。
[0109] 可以理解的是,网络地址可以是互联网协议地址以及端口号。
[0110] 可以理解的是,该第二加密数据B可以是订单中具体金额的密文。
[0111] 需要指出的是,区块链主要解决交易的信任和安全问题,包含以下四个特性。第一个叫分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。第二个叫做非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。第三个叫做共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。最后一个技术特点叫智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和险发生的信息)都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。在保险公司的日常业务中,虽然交易不像银行和证券行业那样频繁,但是对可信数据的依赖是有增无减。因此,笔者认为利用区块链技术,从数据管理的度切入,能够有效地帮助保险公司提高风险管理能力。具体来讲主要分投保人风险管理和保险公司的风险监督。
[0112] 104、计算第一加密数据A减去第二加密数据B以获取差值C;
[0113] 其中,需要指出的是,所述第一加密数据A和第二加密数据B都是密码学中的Perdesen Commitment格式;所述第一加密数据A和第二加密数据B使用椭圆曲线加密法(ECC,Elliptic Curve Cryptography)进行描述如下:
[0114] A=a*G+x1*H;
[0115] B=b*G+x2*H;
[0116] 其中,x1是第一原始数值;x2是第二原始数值;G和H是与椭圆曲线加密函数ECDSA生成的无关的固定值,a为随机盲密钥。
[0117] 其中,需要指出的是,椭圆加密算法ECC是一种公钥加密体制,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。
[0118] 举例来说,比如生产企业想去银行贷款一笔钱,那么贷款的金额是不能超过他接收到的订单的数值的,那么贷款的金额可以是A,订单的数值可以是B。
[0119] 其中,C=(A-B)=(a-b)*G+(x1-x2)*H。
[0120] 其中,x1是第一原始数值;x2是第二原始数值;G和H是与椭圆曲线加密函数ECDSA生成的无关的固定值,a为随机盲密钥。
[0121] 105、对所述差值C进行RangeProof的验签;
[0122] 其中,需要指出的是,所述对所述差值C进行RangeProof的验签,包括:
[0123] 以字符串M1,差值C以及签名S1为参数进行RangeProof验签;其中,M1可以为message,S1可以为sig;
[0124] 以message,差值C,签名S1为参数,进行RangeProof验签;
[0125] 其中,message=hash(string(A)+string(B));
[0126] C=(A-B);
[0127] 签名Sig是以message,P1,Q1为参数,进行RangeProof计算得到的,其中,P1=(a-b),Q1=(x1-x2)。
[0128] 106、如果验签通过,则确定所述第一加密数据A大于或等于第二加密数据B。
[0129] 可以理解的是,如果验证签名通过,则说明C是一个范围在[0,2^32)的整数,也就是说A是一个大于或等于B的数值。
[0130] 另外,需要指出的是,根据步骤101至104可判断A的数值大于或等于B,那么可对(B-A)的差值进行验签,如果验证通过,就可以证明B的数值大于或等于A。
[0131] 因为A大于或等于B,以及B大于或等于A,所以,可确定A与B的数值相等。具体的,所述方法包括:
[0132] 计算所述第二加密数据B减去第一加密数据A以获取差值D;对所述差值D进行RangeProof的验签;如果验签通过,则确定A等于B。
[0133] 其中,需要指出的是,D=(B-A)=(b-a)*G+(x2-x1)*H;
[0134] 所述对所述差值D进行RangeProof的验签,包括:以字符串M2,差值D以及签名S2为参数进行RangeProof验签;其中,M2可以为message,S2可以为Sig;
[0135] 以message,差值D,签名S2为参数,进行RangeProof验签;
[0136] 其中,message=hash(string(A)+string(B));
[0137] D=(B-A);
[0138] 签名S2是以M2,P2,Q2为参数,进行RangeProof计算得到的,其中,P2=(b-a),Q2=(x2-x1)。
[0139] 可选的,所述步骤106之后,所述方法还可以包括:向所述第一设备反馈验签成功的消息。
[0140] 举例来说,验签成功的消息例如可以指示贷款审批成功。
[0141] 再举例来说,验签成功的消息可以指示贷款金额符合条件,但是并不说明已经贷款成功。此次只能说明通过初步审查,后续的实质审查需要提交其他部审批。
[0142] 可以看出,本申请实施例中,接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;利用所述第二设备的公钥对所述第二设备的数字签名进行验证;若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;计算第一加密数据A减去第二加密数据B以获取的差值C;对所述差值C进行范围证明RangeProof范围证明的验签;如果验签通过,则确定所述第一加密数据A大于或等于所述第二加密数据B,向所述第一设备反馈验签成功的消息。通过本发明提供的实施例,能够在密文状态下确定两个数据的大小,从而在保证数据机密性的同时完成数据的计算。
[0143] 请参阅图3,图3是本申请实施例提供的一种数据处理的方法的流程示意图,本数据处理的方法包括:
[0144] 201、接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;
[0145] 202、与第二设备交互以获取所述第二设备的公钥;
[0146] 203、利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
[0147] 204、若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;
[0148] 205、计算第一加密数据A减去第二加密数据B以获取差值C,以及计算第二加密数据B减去第一加密数据A以获取差值D;
[0149] 206、对所述差值C和D分别进行范围证明RangeProof的验签;
[0150] 207、如果所述差值C验签通过且差值D验签通过,则确定所述第一加密数据A等于所述第二加密数据B;
[0151] 208、向所述第一设备反馈验签成功的消息。
[0152] 另外,相关的描述或解释可参考图上述实施例。
[0153] 可以看出,本申请实施例中,在验证第二设备的身份通过之后,计算第一加密数据A减去第二加密数据B以获取的差值C,以及计算第二加密数据B减去第一加密数据A以获取的差值D,然后对差值C和D分别进行范围证明RangeProof的验签,如果差值C和差值D均通过验签,说明A与B相等。通过本发明提供的实施例,能够验证两个密文数据是否等同。
[0154] 请参阅图4,图4是本申请实施例提供的一种数据处理的方法的流程示意图,本数据处理的方法包括:
[0155] 301、接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二加密数据B,第二设备的数字签名以及网络地址;
[0156] 可以理解的是,数据B是第第二设备发送给第一设备的。
[0157] 302、与第二设备交互以获取所述第二设备的公钥;
[0158] 303、利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
[0159] 304、若验证成功,则从所述第二设备获取第三加密数据T;
[0160] 305、若第三加密数据T与第二加密数据B相同,则判断所述第一加密数据A是否小于所述第二加密数据B;
[0161] 其中,可以理解的是,可通过实施例2提供的判断是否相同的方法判断第三加密数据和第二加密数据是否相同。
[0162] 306、若所述第一加密数据A小于所述第二加密数据B,则向所述第一设备反馈验签成功的消息。
[0163] 其中,可以理解的是,可通过实施例1提供的判断第一加密数据是否小于第二加密数据的方法来判断A与B的关系。
[0164] 另外,相关的描述或解释可参考图上述实施例。
[0165] 可以看出,本申请实施例中,在验证第一设备提供的加密数据A与B之间关系之前,还需要验证下第二设备的身份,如果验证通过,则获取第三数据T,来验证下第二数据B是否真实,如果真实,则说明第一设备提供的数据为真实数据,进一步的,可判断A与B之间的关系。通过本实施例,可验证数据B的可靠性,如果数据B可靠,则进一步判断A与B之间的关系。
[0166] 图5是本申请实施例中所涉及的数据处理装置400的功能单元组成框图。移动终端包括以下功能单元:
[0167] 接收单元401,用于接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;
[0168] 验证单元402,用于利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
[0169] 可选的,所述验证单元402,具体用于利用所述第二设备的公钥对所述第二设备的数字签名进行解密;若解密成功,则获取所述数字签名所对应的明文;将所述第二设备对应的标识信息与所述获取的明文进行匹配;根据匹配的结果判断是否验证成功。
[0170] 可选的,所述验证单元402,具体用于利用所述第二设备的公钥对所述第二设备的数字签名进行解密;若解密成功,则获取所述数字签名所对应的明文;将所述第二设备对应的企业的注册信息与所述获取的明文进行匹配;若匹配成功,则判断当前的时间是否位于所述数字签名对应的有效期内;根据判断结果确定是否验证成功。
[0171] 第一获取单元403,用于若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;
[0172] 第一获取单元403,还用于计算第一加密数据A减去第二加密数据B以获取差值C;
[0173] 验证单元402,用于对所述差值C进行RangeProof的验签;
[0174] 确定单元404,用于如果验签通过,则确定所述第一加密数据A大于或等于第二加密数据B;
[0175] 其中,需要指出的是,所述第一加密数据和第二加密数据B都是密码学中的Perdesen Commitment格式;所述第一加密数据A和第二加密数据B使用椭圆曲线加密法ECC描述如下:
[0176] A=a*G+x1*H;
[0177] B=b*G+x2*H;
[0178] 其中,C=(A-B)=(a-b)*G+(x1-x2)*H;
[0179] 其中,x1是第一原始数值;x2是第二原始数值;G和H是与椭圆曲线加密函数ECDSA生成的无关的固定值,a为随机盲密钥。
[0180] 可选的,验证单元402,具体用于以字符串M1,差值C以及签名S1为参数进行RangeProof验签;其中,M1可以为message,S1可以为sig;
[0181] 其中,message=hash(string(A)+string(B));
[0182] C=(A-B);
[0183] 签名S1是以M1,P1,Q1为参数,进行RangeProof计算得到的,其中,P1=(a-b),Q1=(x1-x2)。
[0184] 可选的,装置400还包括第二获取单元405;
[0185] 所述第二获取单元405,用于计算所述第二加密数据B减去第一加密数据A以获取的差值D;
[0186] 验证单元402,用于对所述差值D进行RangeProof的验签;
[0187] 确定单元404,用于如果验签通过,则确定A等于B。
[0188] 其中,需要指出的是,D=(B-A)=(b-a)*G+(x2-x1)*H;
[0189] 验证单元402,用于以以字符串M2,差值D以及签名S2为参数进行RangeProof验签;其中,M2可以为message,S2可以为Sig;
[0190] 其中,message=hash(string(A)+string(B));
[0191] D=(B-A);
[0192] 签名S2是以M2,P2,Q2为参数,进行RangeProof计算得到的,其中,P2=(b-a),Q2=(x2-x1)。
[0193] 其中,上述单元可以用于执行实施例1中步骤101-106所述的方法,具体描述详见实施例1对所述方法的描述,在此不再赘述。
[0194] 图6是本申请实施例中所涉及的数据处理装置500的功能单元组成框图。移动终端包括以下功能单元:
[0195] 接收单元501,用于接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;
[0196] 通信单元502,用于与第二设备交互以获取所述第二设备的公钥;
[0197] 验证单元503,用于利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
[0198] 获取单元504,用于若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;
[0199] 获取单元504,还用于计算第一加密数据A减去第二加密数据B以获取差值C,以及计算第二加密数据B减去第一加密数据A以获取差值D;
[0200] 验证单元503,还用于对所述差值C和D分别进行范围证明RangeProof的验签;
[0201] 确定单元505,用于如果所述差值C验签通过且差值D验签通过,则确定所述第一加密数据A等于所述第二加密数据B;
[0202] 反馈单元506,用于向所述第一设备反馈验签成功的消息。
[0203] 其中,上述单元可以用于执行实施例2中步骤201-208所述的方法,具体描述详见实施例2对所述方法的描述,在此不再赘述。
[0204] 图7是本申请实施例中所涉及的数据处理装置600的功能单元组成框图。数据处理装置600包括以下功能单元:
[0205] 接收单元601,用于接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二加密数据B,第二设备的数字签名以及网络地址;
[0206] 可以理解的是,数据B是第第二设备发送给第一设备的。
[0207] 通信单元602,用于与第二设备交互以获取所述第二设备的公钥;
[0208] 验证单元603,用于利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
[0209] 通信单元602,用于若验证成功,则从所述第二设备获取第三加密数据T;
[0210] 判断单元604,用于若第三加密数据T与第二加密数据B相同,则判断所述第一加密数据A是否小于所述第二加密数据B;
[0211] 其中,可以理解的是,可通过实施例2提供的判断是否相同的方法判断第三加密数据和第二加密数据是否相同。
[0212] 反馈单元605,用于若所述第一加密数据A小于所述第二加密数据B,则向所述第一设备反馈验签成功的消息。
[0213] 其中,可以理解的是,可通过实施例1提供的判断第一加密数据是否小于第二加密数据的方法来判断A与B的关系。
[0214] 其中,上述单元可以用于执行实施例3中步骤301-306所述的方法,具体描述详见实施例3对所述方法的描述,在此不再赘述。
[0215] 请参阅图8,图8是本申请实施例提供的一种数据处理装置700的结构示意图,如图所示,所述装置700包括应用处理器710、存储器720、通信接口730以及一个或多个程序721,其中,所述一个或多个程序721被存储在上述存储器720中,并且被配置由上述应用处理器710执行,所述一个或多个程序721包括用于执行以下步骤的指令:
[0216] 接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;
[0217] 利用所述第二设备的公钥对所述第二设备的数字签名进行验证;
[0218] 若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;
[0219] 计算第一加密数据A减去第二加密数据B以获取差值C;
[0220] 对所述差值C进行范围证明RangeProof的验签;
[0221] 如果验签通过,则确定所述第一加密数据A大于或等于所述第二加密数据B的。
[0222] 可选的,所述第一加密数据和第二加密数据B都是密码学中的佩德森复数Perdesen Commitment格式;所述第一加密数据A和第二加密数据B使用椭圆曲线加密法ECC描述如下:
[0223] A=a*G+x1*H;
[0224] B=b*G+x2*H;
[0225] 其中,C=(A-B)=(a-b)*G+(x1-x2)*H;
[0226] 其中,x1是第一原始数值;x2是第二原始数值;G和H是与椭圆曲线加密函数ECDSA生成的无关的固定值,a为随机盲密钥。
[0227] 可选的,所述对所述差值C进行RangeProof的验签,包括:
[0228] 以字符串M1,差值C以及签名S1为参数进行RangeProof验签;
[0229] 其中,M1=hash(string(A)+string(B));
[0230] C=(A-B);
[0231] 签名S1是以字符串M1,P1,Q1为参数,进行RangeProof计算得到的,其中,P1=(a-b),Q1=(x1-x2)。
[0232] 可选的,所述执行过程还包括:
[0233] 计算所述第二加密数据B减去第一加密数据A以获取差值D;
[0234] 对所述差值D进行RangeProof的验签;
[0235] 如果验签通过,则确定A等于B。
[0236] 可选的,D=(B-A)=(b-a)*G+(x2-x1)*H;
[0237] 所述对所述差值D进行RangeProof的验签,包括:
[0238] 以字符串M2,差值D以及签名S2为参数进行RangeProof验签;
[0239] 其中,M2=hash(string(A)+string(B));
[0240] D=(B-A);
[0241] 签名S2是以字符串M2,P2,Q2为参数,进行RangeProof计算得到的,其中,P2=(b-a),Q2=(x2-x1);
[0242] 接收第一设备发送的数据确认消息,所述数据确认消息包括第一加密数据A、第二设备的数字签名以及网络地址;利用所述第二设备的公钥对所述第二设备的数字签名进行验证;若验证成功,则根据所述网络地址从区块链中获取第二加密数据B;计算第一加密数据A减去第二加密数据B以获取差值C;对所述差值C进行范围证明RangeProof的验签;如果验签通过,则确定所述第一加密数据A大于或等于所述第二加密数据B,向所述第一设备反馈验签成功的消息。通过本发明提供的实施例,能够在密文状态下确定两个数据的大小,从而在保证数据机密性的同时完成数据的计算。
[0243] 可选的,所述利用所述第二设备的公钥对所述第二设备的数字签名进行验证,包括:
[0244] 利用所述第二设备的公钥对所述第二设备的数字签名进行解密;
[0245] 若解密成功,则获取所述数字签名所对应的明文;
[0246] 将所述第二设备对应的标识信息与所述获取的明文进行匹配;
[0247] 根据匹配的结果判断是否验证成功。
[0248] 可选的,所述利用所述第二设备的公钥对所述第二设备的数字签名进行验证,包括:
[0249] 利用所述第二设备的公钥对所述第二设备的数字签名进行解密;
[0250] 若解密成功,则获取所述数字签名所对应的明文;
[0251] 将所述第二设备对应的企业的注册信息与所述获取的明文进行匹配;
[0252] 若匹配成功,则判断当前的时间是否位于所述数字签名对应的有效期内;
[0253] 根据判断结果确定是否验证成功。
[0254] 可选的,所述如果验签通过,则确定所述第一加密数据A大于或等于所述第二加密数据B之后,该执行过程还包括:
[0255] 向所述第一设备反馈验签成功的消息。
[0256] 上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0257] 本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0258] 本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
[0259] 本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
[0260] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0261] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0262] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0263] 上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0264] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0265] 上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0266] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
[0267] 以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈