一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自主可控的密文数据安全计算方法和系统与流程

2023-01-15 05:07:05 来源:中国专利 TAG:


1.本发明涉及加密技术领域,具体地,涉及自主可控的密文数据安全计算方法和系统及其电子设备。


背景技术:

2.专利文献cn107592195a公开了一种准全同态密文数据操作方法和系统,部署在本地数据中心的私有云平台,建立本地数据中心与第三方公有云平台的连接;采用分类字段扩展模式,对数值型数据和字符型数据进行字段扩展,结合基于功能需求的密文服务策略实现对数值型数据的准全同态密文常规算术运算。
3.现有同态密文计算方案中,大多数计算使用可信第三方公钥进行加密,需要用户信任一个第三方。


技术实现要素:

4.针对现有技术中的缺陷,本发明的目的是提供一种自主可控的密文数据安全计算方法和系统及其电子设备。
5.根据本发明提供的一种自主可控的密文数据安全计算方法,包括:
6.步骤s1:令数据所有者对明文数据mi进行同态加密,得到密文数据ci;
7.步骤s2:令数据使用方根据所述密文数据ci和选取的随机数,通过智能合约计算得到可验证秘钥结果的密文c
ver
,并通过智能合约向所述数据所有者发起解密请求;
8.步骤s3:令所述数据所有者根据所述可验证秘钥结果的密文c
ver
,使用同态解密得到明文m
ver
作为解密结果,并将所述解密结果发送给所述数据使用方;
9.步骤s4:令所述数据使用方根据所述解密结果,对数据所有者是否正确解密进行判断。
10.优选地,所述步骤s1包括:
11.步骤s1.1:数据所有者生成对应的同态加密公私钥(pka,ska);其中,pka表示数据所有者生成的公钥,ska表示数据所有者生成的私钥;
12.步骤s1.2:数据所有者使用同态加密算法e(
·
)将明文数据mi进行加密,得到密文ci=然后将密文数据ci公开;其中,表示使用数据所有者生成的公钥pka对明文数据进行加密。
13.优选地,所述步骤s2包括:
14.步骤s2.1:数据使用方选取计算函数f()与参与计算的密文数据ci;
15.步骤s2.2:数据使用方通过智能合约执行计算得到密文计算结果c
result
,其中,c
result
=f(ci);
16.步骤s2.3:数据使用方选取一个素数随机数a,与一个随机数b,通过智能合约计算,得到可验证密钥结果的密文c
ver
,其中,c
ver
=e(ac
result
b);然后,通过智能合约向数据所有者发起解密请求。
17.优选地,在所述步骤s3中,数据所有者接收到解密请求,得到可验证密钥结果的密文c
ver
,使用同态解密通过私钥解密得到明文m
ver
,其中,将解密结果发送给数据使用方;其中,表示使用数据所有者生成的私钥ska对密文数据进行解密;
18.在所述步骤s4中,数据使用方得到解密结果m
ver
,验证mi=(m
ver-b)/a是否为整数;如果结果为整数,则认为数据所有者正确解密结果mi=(m
ver-b)/a;否则,则认为数据所有者未正确解密结果,数据使用方没有得到正确结果。
19.根据本发明提供的一种自主可控的密文数据安全计算系统,包括:
20.模块m1:令数据所有者对明文数据mi进行同态加密,得到密文数据ci;
21.模块m2:令数据使用方根据所述密文数据ci和选取的随机数,通过智能合约计算得到可验证秘钥结果的密文c
ver
,并通过智能合约向所述数据所有者发起解密请求;
22.模块m3:令所述数据所有者根据所述可验证秘钥结果的密文c
ver
,使用同态解密得到明文m
ver
作为解密结果,并将所述解密结果发送给所述数据使用方;
23.模块m4:令所述数据使用方根据所述解密结果,对数据所有者是否正确解密进行判断。
24.优选地,所述模块m1包括:
25.模块m1.1:数据所有者生成对应的同态加密公私钥(pka,ska);其中,pka表示数据所有者生成的公钥,ska表示数据所有者生成的私钥;
26.模块m1.2:数据所有者使用同态加密算法e(
·
)将明文数据mi进行加密,得到密文进行加密,得到密文然后将密文数据ci公开;其中,表示使用数据所有者生成的公钥pka对明文数据进行加密。
27.优选地,所述模块m2包括:
28.模块m2.1:数据使用方选取计算函数f()与参与计算的密文数据ci;
29.模块m2.2:数据使用方通过智能合约执行计算得到密文计算结果c
result
,其中,c
result
=f(ci);
30.模块m2.3:数据使用方选取一个素数随机数a,与一个随机数b,通过智能合约计算,得到可验证密钥结果的密文c
ver
,其中,c
ver
=e(ac
result
b);然后,通过智能合约向数据所有者发起解密请求。
31.优选地,在所述模块m3中,数据所有者接收到解密请求,得到可验证密钥结果的密文c
ver
,使用同态解密通过私钥解密得到明文m
ver
,其中,将解密结果发送给数据使用方;其中,表示使用数据所有者生成的私钥ska对密文数据进行解密;
32.在所述模块m4中,数据使用方得到解密结果m
ver
,验证mi=(m
ver-b)/a是否为整数;如果结果为整数,则认为数据所有者正确解密结果mi=(m
ver-b)/a;否则,则认为数据所有者未正确解密结果,数据使用方没有得到正确结果。
33.根据本发明提供的一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现所述的自主可控的密文数据安全计算方法的步骤。
34.根据本发明提供的一种电子设备,包括所述的自主可控的密文数据安全计算系
统,或者包括所述的存储有计算机程序的计算机可读存储介质。
35.与现有技术相比,本发明具有如下的有益效果:
36.1、本发明通过由数据所有者完成结果数据解密的方式,保证数据所有者对于数据使用的监督权。
37.2、本发明通过增加随机数的方式,解决了解密方伪造解密结果判断的问题。
38.3、本发明以智能合约的方式完成密文计算的方式,解决数据使用方伪造计算公式、滥用私用数据的问题。
附图说明
39.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
40.图1为本发明的流程步骤示意图。
具体实施方式
41.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
42.本发明在不需要可信第三方协助的情况下,令隐私数据在流转使用过程中保持密文状态,同时数据具备可计算性,通过协议算法赋予数据所有者对于数据的完全控制权。
43.根据本发明提供的一种自主可控的密文数据安全计算方法,包括:
44.步骤s1:令数据所有者对明文数据mi进行同态加密,得到密文数据ci;所述步骤s1包括如下步骤:
45.步骤s1.1:数据所有者生成对应的同态加密公私钥(pka,ska)。
46.pka表示数据所有者生成的公钥;
47.ska表示数据所有者生成的私钥;
48.步骤s1.2:数据所有者使用同态加密算法e(
·
)将明文数据mi进行加密,得到密文进行加密,得到密文然后将密文数据ci公开;
49.表示使用数据所有者生成的公钥pka对明文数据进行加密。
50.步骤s2:令数据使用方根据所述密文数据ci和选取的随机数,通过智能合约计算得到可验证秘钥结果的密文c
ver
,并通过智能合约向所述数据所有者发起解密请求;所述步骤s2包括如下步骤:
51.步骤s2.1:数据使用方选取计算函数f()与参与计算的密文数据ci。
52.步骤s2.2:数据使用方通过智能合约执行计算得到密文计算结果c
result
,其中,c
result
=f(ci)。
53.步骤s2.3:数据使用方选取一个素数随机数a,与一个随机数b,通过智能合约计算,得到可验证密钥结果的密文c
ver
,其中,c
ver
=e(ac
result
b)。然后,通过智能合约向数据所有者发起解密请求。由于本发明通过增加随机数的方式,避免了解密方伪造解密结果的
问题。
54.步骤s3:令所述数据所有者根据所述可验证秘钥结果的密文c
ver
,使用同态解密得到明文m
ver
作为解密结果,并将所述解密结果发送给所述数据使用方;在所述步骤s3中:数据所有者接收到解密请求,得到可验证密钥结果的密文c
ver
,使用同态解密通过私钥解密得到明文m
ver
,其中,将解密结果发送给数据使用方。表示使用数据所有者生成的私钥ska对密文数据进行解密。
55.步骤s4:令所述数据使用方根据所述解密结果,对数据所有者是否正确解密进行验证。在所述步骤s4中:数据使用方得到解密结果m
ver
,验证mi=(m
ver-b)/a是否为整数。
56.如果结果为整数,则认为数据所有者正确解密结果mi=(m
ver-b)/a,
57.否则,则认为数据所有者未正确解密结果,数据使用方没有得到正确结果。
58.由于随机数a与b的加入,数据所有者在不知道a和b的情况下无法正确的伪造解密结果;如果数据所有者以倍数n的形式伪造结果m
ver’=n*m
ver
=anmi bn,由于存在随机数b,则m
i’=(m
ver
’-b)/a=(anmi bn-b)/a、其中m
i’结果不为整数,无法通过验证;如果数据所有者将结果中加入其他数值k,得到m
ver’=k m
ver
=ami b k,由于随机数a与b的存在,则m
i’=(m
ver
’-b)/a=(ami b k-b)/a、其中m
i’结果不为整数,无法通过验证。如果没有随机数a与b,则无法保证数据所有者正确的解密结果。
59.本发明中,数据所有者需要针对数据使用方进行数据的隐藏,也就是说数据使用方不能解密知道数据所有者提供的数据。为此,数据所有者将数据以密文形态公开,供数据使用方进行计算,数据的解密只能由数据所有者完成。如果数据使用方想获得解密结果,则需要向数据所有者发起请求。由数据所有者根据智能合约查看数据使用方的计算方式是否合规,然后决定是否解密,同时,数据使用方通过加入随机数的方式来认定数据所有者的正确解密。
60.本发明还提供一种自主可控的密文数据安全计算系统,本领域技术人员可以通过执行所述自主可控的密文数据安全计算方法的步骤流程实现所述自主可控的密文数据安全计算系统,即可以将所述自主可控的密文数据安全计算方法理解为所述自主可控的密文数据安全计算系统的优选实施方式。具体地,根据本发明提供的一种自主可控的密文数据安全计算系统,包括:
61.模块m1:令数据所有者对明文数据mi进行同态加密,得到密文数据ci;
62.模块m2:令数据使用方根据所述密文数据ci和选取的随机数,通过智能合约计算得到可验证秘钥结果的密文c
ver
,并通过智能合约向所述数据所有者发起解密请求;
63.模块m3:令所述数据所有者根据所述可验证秘钥结果的密文c
ver
,使用同态解密得到明文m
ver
作为解密结果,并将所述解密结果发送给所述数据使用方;
64.模块m4:令所述数据使用方根据所述解密结果,对数据所有者是否正确解密进行判断。
65.所述模块m1包括:
66.模块m1.1:数据所有者生成对应的同态加密公私钥(pka,ska);其中,pka表示数据所有者生成的公钥,ska表示数据所有者生成的私钥;
67.模块m1.2:数据所有者使用同态加密算法e(
·
)将明文数据mi进行加密,得到密文
然后将密文数据ci公开;其中,表示使用数据所有者生成的公钥pka对明文数据进行加密。
68.所述模块m2包括:
69.模块m2.1:数据使用方选取计算函数f()与参与计算的密文数据ci;
70.模块m2.2:数据使用方通过智能合约执行计算得到密文计算结果c
result
,其中,c
result
=f(ci);
71.模块m2.3:数据使用方选取一个素数随机数a,与一个随机数b,通过智能合约计算,得到可验证密钥结果的密文c
ver
,其中,c
ver
=e(ac
result
b);然后,通过智能合约向数据所有者发起解密请求。
72.在所述模块m3中,数据所有者接收到解密请求,得到可验证密钥结果的密文c
ver
,使用同态解密通过私钥解密得到明文m
ver
,其中,将解密结果发送给数据使用方;其中,表示使用数据所有者生成的私钥ska对密文数据进行解密;
73.在所述模块m4中,数据使用方得到解密结果m
ver
,验证mi=(m
ver-b)/a是否为整数;如果结果为整数,则认为数据所有者正确解密结果mi=(m
ver-b)/a;否则,则认为数据所有者未正确解密结果,数据使用方没有得到正确结果。
74.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
75.根据本发明提供的一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现所述的自主可控的密文数据安全计算方法的步骤。
76.根据本发明提供的一种电子设备,包括所述的自主可控的密文数据安全计算系统,或者包括所述的存储有计算机程序的计算机可读存储介质。
77.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献