【技术实现步骤摘要】
基于多方全同态加密的安全多方计算实现系统及方法
[0001]本专利技术涉及的是一种信息安全领域的技术,具体是一种利用区块链作为可靠交互信道的基于多方全同态加密的安全多方计算实现系统及方法
。
技术介绍
[0002]现有基于全同态加密的安全多方计算分为两大类,即多密钥全同态加密和多方全同态加密
。
其中多密钥全同态加密的密文长度较长,且同态运算过程复杂
。
多方全同态加密则是所有参与方必须在密钥生成阶段确定,并在此阶段参与相关密钥的生成过程,所以无法动态增加参与方
。
现有的基于全同态加密算法实现的多方安全计算需要在密钥生成和聚合阶段或者密钥转换和解密阶段进行交互和计算,其中一种是与同态计算时一样将交互的协调和密钥的聚合过程交给计算方,另一种是各方两两之间进行交互
。
前者需要确保计算方正确执行计算,而后者要求交互双方需要同时在线
。
此外这些方案也都在要求参与方是半诚实的同时要求计算方也是半诚实的,如何在不引入复杂且昂贵的零知识证明的前提下减弱对计算方的安全性假设是一个需要解决的问题
。
技术实现思路
[0003]本专利技术针对现有技术存在的上述不足,提出一种基于多方全同态加密的安全多方计算实现系统及方法,将区块链作为数据传输的通道和计算的平台,在不引入半诚实计算方的前提下,利用区块链解决安全多方计算中要求各个参与方必须同时在线的问题;利用区块链解决安全多方计算中参与者可靠的交互通信问题;利用智能合约解决计
【技术保护点】
【技术特征摘要】
1.
一种基于多方全同态加密的安全多方计算实现系统,其特征在于,包括:合约部署者
、
多方计算参与方
、
数据提供方和区块链共识节点,其中:合约部署者根据应用场景确定计算逻辑,编写和部署合约,提供公共参考多项式
(CRP)
,并在密钥转换后利用本地的私钥解密出结果;多方计算参与方根据区块链状态执行公钥和运算密钥的生成过程中以及密钥转换过程中份额的生成和公布;数据提供方按照需求利用生成的公钥加密本地的数据并公布;区块链共识节点进行公开的公钥的聚合
、
运算密钥的聚合
、
数据的同态计算以及密钥转换的聚合计算
。2.
一种根据权利要求1所述系统的基于多方全同态加密的安全多方计算实现方法,其特征在于,包括:步骤
1)
合约部署者根据需求确定计算逻辑和加密参数,生成公私钥对以及协议需要的公共参考多项式
CRP
,编写并部署包含用同态算法编写的计算逻辑的合约;步骤
2)
多方计算参与方
P
i
从区块链获取相关的加密参数
、CRP
和合约部署者的公钥,生成本地的私钥,并计算出公钥份额和运算密钥的份额,并将两者上链,最后智能合约生成公钥
cpk
和运算密钥
evk
;步骤
3)
数据提供方从区块链获取上一步计算得到的公钥,对本地的隐私数据加密,并将密文上链,具体为:数据提供方
Q
j
调用
GetData("cpk")
得到协议公钥
cpk
,根据需要加密隐私数据
x
r
为
c
r
=
Enc(x
r
,cpk),
并参照
Eval
中同态计算的参数设置数据标识
key
r
并调用
SetData(key
r
,c
r
)
,数据标识由数据提供方
id
与密文
id
连接构成,如设
to_byte()
可将整数转为4字节的字节流,则数据提供方
Q
j
的第
k
个数据可用
to_byte(j)||to_byte(k)
进行标识,智能合约记录已上传的加密数据,当所需加密数据均上传后,触发事件通知合约部署者执行同态运算;步骤
4)
合约部署者调用函数
Eval()
并从链上获取运算密钥
evk
,根据数据标识从链上获取相应密文数据;然后由确定的计算逻辑
f
以及运算密钥
evk
进行同态运算;最后将同态运算结果存储到区块链上并触发事件通知多方计算参与方进行密钥转换;步骤
5)
多方计算参与方从区块链获取计算结果,利用本地的私钥和合约部署者的公钥生成密钥转换的份额,并将其上链,最后智能合约生成密钥转换结果,区块链共识节点利用各方份额完成密钥转换结果的聚合,具体为:多方计算参与方
P
i
调用
GetData("result_before_sw")
得到同态运算结果
result_before_sw
,生成密钥转换份额
swshare
i
并调用
GenKeySwitch(swshare
i
)
参与密钥转换结果的聚合,智能合约同样记录已上传的份额数量,当所有多方计算参与方都上传份额后自动完成聚合,得到
result_after_sw
并在计算完成后触发事件通知合约部署者解密数据,步骤
6)
合约部署者从区块链获取密钥转换结果,并利用本地的私钥解密此密文,得到最后的结果,具体为:合约部署者通过调用函数
GetData("result_after_sw")
得到密钥转换后的结果
result_after_sw
,利用本地的私钥可解密得到
result
=
Dec(result_after_sw,sk)
;所述的智能合约的接口包括:
Init(params,pk,pkcr...
【专利技术属性】
技术研发人员:李聪聪,范磊,王凯,刘杰,
申请(专利权)人:优刻得科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。