自主可控的密文数据安全计算方法和系统技术方案

技术编号:36341057 阅读:14 留言:0更新日期:2023-01-14 17:54
本发明专利技术提供了一种自主可控的密文数据安全计算方法和系统及其电子设备,包括:令数据所有者对明文数据m

【技术实现步骤摘要】
自主可控的密文数据安全计算方法和系统


[0001]本专利技术涉及加密
,具体地,涉及自主可控的密文数据安全计算方法和系统及其电子设备。

技术介绍

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

技术实现思路

[0004]针对现有技术中的缺陷,本专利技术的目的是提供一种自主可控的密文数据安全计算方法和系统及其电子设备。
[0005]根据本专利技术提供的一种自主可控的密文数据安全计算方法,包括:
[0006]步骤S1:令数据所有者对明文数据m
i
进行同态加密,得到密文数据c
i

[0007]步骤S2:令数据使用方根据所述密文数据c
i
和选取的随机数,通过智能合约计算得到可验证秘钥结果的密文c
ver
,并通过智能合约向所述数据所有者发起解密请求;
[0008]步骤S3:令所述数据所有者根据所述可验证秘钥结果的密文c
ver
,使用同态解密得到明文m
ver
作为解密结果,并将所述解密结果发送给所述数据使用方;
>[0009]步骤S4:令所述数据使用方根据所述解密结果,对数据所有者是否正确解密进行判断。
[0010]优选地,所述步骤S1包括:
[0011]步骤S1.1:数据所有者生成对应的同态加密公私钥(PK
A
,SK
A
);其中,PK
A
表示数据所有者生成的公钥,SK
A
表示数据所有者生成的私钥;
[0012]步骤S1.2:数据所有者使用同态加密算法E(
·
)将明文数据m
i
进行加密,得到密文c
i
=然后将密文数据c
i
公开;其中,表示使用数据所有者生成的公钥PK
A
对明文数据进行加密。
[0013]优选地,所述步骤S2包括:
[0014]步骤S2.1:数据使用方选取计算函数f()与参与计算的密文数据c
i

[0015]步骤S2.2:数据使用方通过智能合约执行计算得到密文计算结果c
result
,其中,c
result
=f(c
i
);
[0016]步骤S2.3:数据使用方选取一个素数随机数a,与一个随机数b,通过智能合约计算,得到可验证密钥结果的密文c
ver
,其中,c
ver
=E(ac
result
+b);然后,通过智能合约向数据所有者发起解密请求。
[0017]优选地,在所述步骤S3中,数据所有者接收到解密请求,得到可验证密钥结果的密文c
ver
,使用同态解密通过私钥解密得到明文m
ver
,其中,将解密结果发送给数据使用方;其中,表示使用数据所有者生成的私钥SK
A
对密文数据进行解密;
[0018]在所述步骤S4中,数据使用方得到解密结果m
ver
,验证m
i
=(m
ver

b)/a是否为整数;如果结果为整数,则认为数据所有者正确解密结果m
i
=(m
ver

b)/a;否则,则认为数据所有者未正确解密结果,数据使用方没有得到正确结果。
[0019]根据本专利技术提供的一种自主可控的密文数据安全计算系统,包括:
[0020]模块M1:令数据所有者对明文数据m
i
进行同态加密,得到密文数据c
i

[0021]模块M2:令数据使用方根据所述密文数据c
i
和选取的随机数,通过智能合约计算得到可验证秘钥结果的密文c
ver
,并通过智能合约向所述数据所有者发起解密请求;
[0022]模块M3:令所述数据所有者根据所述可验证秘钥结果的密文c
ver
,使用同态解密得到明文m
ver
作为解密结果,并将所述解密结果发送给所述数据使用方;
[0023]模块M4:令所述数据使用方根据所述解密结果,对数据所有者是否正确解密进行判断。
[0024]优选地,所述模块M1包括:
[0025]模块M1.1:数据所有者生成对应的同态加密公私钥(PK
A
,SK
A
);其中,PK
A
表示数据所有者生成的公钥,SK
A
表示数据所有者生成的私钥;
[0026]模块M1.2:数据所有者使用同态加密算法E(
·
)将明文数据m
i
进行加密,得到密文进行加密,得到密文然后将密文数据c
i
公开;其中,表示使用数据所有者生成的公钥PK
A
对明文数据进行加密。
[0027]优选地,所述模块M2包括:
[0028]模块M2.1:数据使用方选取计算函数f()与参与计算的密文数据c
i

[0029]模块M2.2:数据使用方通过智能合约执行计算得到密文计算结果c
result
,其中,c
result
=f(c
i
);
[0030]模块M2.3:数据使用方选取一个素数随机数a,与一个随机数b,通过智能合约计算,得到可验证密钥结果的密文c
ver
,其中,c
ver
=E(ac
result
+b);然后,通过智能合约向数据所有者发起解密请求。
[0031]优选地,在所述模块M3中,数据所有者接收到解密请求,得到可验证密钥结果的密文c
ver
,使用同态解密通过私钥解密得到明文m
ver
,其中,将解密结果发送给数据使用方;其中,表示使用数据所有者生成的私钥SK
A
对密文数据进行解密;
[0032]在所述模块M4中,数据使用方得到解密结果m
ver
,验证m
i
=(m
ver

b)/a是否为整数;如果结果为整数,则认为数据所有者正确解密结果m
i
=(m
ver

b)/a;否则,则认为数据所有者未正确解密结果,数据使用方没有得到正确结果。
[0033]根据本专利技术提供的一本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种自主可控的密文数据安全计算方法,其特征在于,包括:步骤S1:令数据所有者对明文数据m
i
进行同态加密,得到密文数据c
i
;步骤S2:令数据使用方根据所述密文数据c
i
和选取的随机数,通过智能合约计算得到可验证秘钥结果的密文c
ver
,并通过智能合约向所述数据所有者发起解密请求;步骤S3:令所述数据所有者根据所述可验证秘钥结果的密文c
ver
,使用同态解密得到明文m
ver
作为解密结果,并将所述解密结果发送给所述数据使用方;步骤S4:令所述数据使用方根据所述解密结果,对数据所有者是否正确解密进行判断。2.根据权利要求1所述的自主可控的密文数据安全计算方法,其特征在于,所述步骤S1包括:步骤S1.1:数据所有者生成对应的同态加密公私钥(PK
A
,SK
A
);其中,PK
A
表示数据所有者生成的公钥,SK
A
表示数据所有者生成的私钥;步骤S1.2:数据所有者使用同态加密算法E(
·
)将明文数据m
i
进行加密,得到密文进行加密,得到密文然后将密文数据c
i
公开;其中,表示使用数据所有者生成的公钥PK
A
对明文数据进行加密。3.根据权利要求2所述的自主可控的密文数据安全计算方法,其特征在于,所述步骤S2包括:步骤S2.1:数据使用方选取计算函数f()与参与计算的密文数据c
i
;步骤S2.2:数据使用方通过智能合约执行计算得到密文计算结果c
result
,其中,c
result
=f(c
i
);步骤S2.3:数据使用方选取一个素数随机数a,与一个随机数b,通过智能合约计算,得到可验证密钥结果的密文c
ver
,其中,c
ver
=E(ac
result
+b);然后,通过智能合约向数据所有者发起解密请求。4.根据权利要求3所述的自主可控的密文数据安全计算方法,其特征在于,在所述步骤S3中,数据所有者接收到解密请求,得到可验证密钥结果的密文c
ver
,使用同态解密通过私钥解密得到明文m
ver
,其中,将解密结果发送给数据使用方;其中,表示使用数据所有者生成的私钥SK
A
对密文数据进行解密;在所述步骤S4中,数据使用方得到解密结果m
ver
,验证m
i
=(m
ver

b)/a是否为整数;如果结果为整数,则认为数据所有者正确解密结果m
i
=(m
ver

b)/a;否则,则认为数据所有者未正确解密结果,数据使用方没有得到正确结果。5.一种自主可控的密文数据安全计算系统,其特征在于,包括:模块M1:令数据所有者对明文数据m
i
进行同态加密,得到密文数据c
i

【专利技术属性】
技术研发人员:蒋玉章
申请(专利权)人:上海万向区块链股份公司
类型:发明
国别省市:

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

1