一种支持批处理的安全同态计算方法及存储装置、设备制造方法及图纸

技术编号:36977667 阅读:14 留言:0更新日期:2023-03-25 17:57
本发明专利技术公开了一种支持批处理的安全同态计算方法及存储装置、设备,涉及信息安全技术领域。本发明专利技术包括密钥平台和非共谋双服务器架构的两台云服务器ALICE和BOB,提供了支持批处理的安全乘法协议和安全比较协议。本发明专利技术通过密钥平台拆分私钥并分发给云服务器,在密文无法通过部分私钥解密的情况下,云服务器ALICE通过对密文进行随机数致盲,然后根据任务选择安全计算协议和云服务器BOB进行一系列安全同态计算,并对返回结果进行处理得到最终结果。本发明专利技术解决了现有安全同态计算的计算成本高,通信开销大,以及单密钥导致的密文隐私泄露的问题。问题。问题。

【技术实现步骤摘要】
N2),其中,M1、M2是同一密文分别使用密钥λ1、λ2的部分解密结果,
[0017]优选的,所述安全乘法协议SMUL的具体实现步骤如下:
[0018]S1

1、密钥平台初始化生成公私密钥(pk,sk),公钥pk=(g,N),其中N=pq,g=N+1且p、q均为强素数;私钥sk=(λ,μ),其中λ=lcm(p

1,q

1),μ=λ

1 mod N;将私钥sk分成两个部分(λ1,λ2),其中,部分私钥λ1为在区间(0,λμ)中的整数,部分私钥λ2=λμ

λ1;再将密钥组(pk,λ1)和(pk,λ2)分别发送给云服务器ALICE和云服务器BOB;
[0019]S1

2、云服务器ALICE利用随机数和Paillier同态计算方法对密文和进行加性致盲处理,然后将致盲后的密文X、Y合并为密文C,并使用部分私钥λ1对密文C进行部分解密得到密文C1,再将密文对<C,C1>发送给云服务器BOB,即:C=X
L
·
Y、C1=PDec(λ1,C),其中,r1、r2为随机数,且r1、r2∈{0,1}
σ
,σ为安全参数;L是一个常数,且满足L≥2
σ+2

[0020]S1

3、云服务器BOB使用部分λ2对密文C进行部分解密得到密文C2,用阈值解密算法解密密文对&lt;C1,C2&gt;得到明文(x+r1)<br/>·
(y+r2),将加密后得到的发送给云服务器ALICE,计算的流程包括:C2=PDec(λ2,C)、L
·
(x+r1)+y+r2=TDec(C1,C2)、y+r2=(L
·
(x+r1)+y+r2)mod L;
[0021]S1

4、云服务器ALICE通过Paillier同态计算得到根据Pailiier算法“密文乘法等于明文加的特征性”,计算流程为:
[0022][0023][0024]优选的,所述批处理安全乘法协议BatchSMUL的具体实现步骤如下:
[0025]S2

1、密钥平台初始化生成公私密钥(pk,sk),公钥pk=(g,N),其中N=pq,g=N+1且p、q均为强素数;私钥sk=(λ,μ),其中λ=lcm(p

1,q

1),μ=λ

1 mod N;将私钥sk分成两个部分(λ1,λ2),其中,部分私钥λ1为在区间(0,λμ)中的整数,部分私钥λ2=λμ

λ1;再将密钥组(pk,λ1)和(pk,λ2)分别发送给云服务器ALICE和云服务器BOB;
[0026]S2

2、云服务器ALICE有δ个密文对且利用随机数和Paillier同态计算方法对每一个密文对进行加性致盲处理,然后将致盲后的密文X
i
、Y
i
合并为密文c
i
,得到密文组{c1,
···
,c
δ
},将密文组通过积运算聚合成一个单独的密文C,并使用部分私钥λ1对密文C进行部分解密得到C1,再将密文对&lt;C,C1&gt;发送给云服务器BOB,计算流程为:
[0027]C1=PDec(λ1,C),其中,r
i,1
、r
i,2
为随机数,且r
i,1
、r
i,2
∈{0,1}
σ
,σ为安全参数;L是一个常数,
且满足L≥2
σ+2
;i为正整数且i∈[1,δ];
[0028]S2

3、云服务器BOB使用部分λ2对密文C进行部分解密得到密文C2,用阈值解密算法解密密文对&lt;C1,C2&gt;得到步骤2

2每个密文对对应的明文(x
i
+r
i,1
)
·
(y
i
+r
i,2
),将加密后得到的批量发送给云服务器
[0029]ALICE;计算的流程包括:
[0030][0031];其中,M、m
i
是计算过程中产生的中间值,没有具体定义;
[0032]S2

4、云服务器ALICE对于收到的每一个密文通过Paillier同态计算得到计算流程为:
[0033][0034][0035]优选的,所述安全比较协议SCMP的具体实现步骤如下:
[0036]S3

1、密钥平台初始化生成公私密钥(pk,sk),公钥pk=(g,N),其中N=pq,g=N+1且p、q均为强素数;私钥sk=(λ,μ),其中λ=lcm(p

1,q

1),μ=λ

1 mod N;将私钥sk分成两个部分(λ1,λ2),其中,部分私钥λ1为在区间(0,λμ)中的整数,部分私钥λ2=λμ

λ1;再将密钥组(pk,λ1)和(pk,λ2)分别发送给云服务器ALICE和云服务器BOB;
[0037]S3

2、云服务器ALICE拥有密文和将两个参与比较的密文合并为密文D,并使用部分私钥λ1对密文D进行部分解密得到密文D1,再将密文对&lt;D,D1&gt;发送给云服务器BOB,计算流程为:D1=PDec(λ1,D);其中,L是一个常数,且满足为安全参数;
[0038]S3

3、云服务器BOB使用部分私钥λ2对密文D解密得到密文D2,再利用阈值解密算法对密文对&lt;D1,D2&gt;解密得到明文d,根据d=L
·
x+y计算的得到明文x和明文y,即:
[0039][0040]云服务器BOB对明文x和y进行比较,并将比较结果传回云服务器ALICE:
[0041]若x≥y,则返回1,即
[0042]若x<y,则返回0,即
[0043]优选的,所述批处理部分解密协议BatchPDec的具体实现步骤如下:
[0044]S4

1、密钥平台初始化生成公私密钥(pk,sk),公钥pk=(g,N),其中N=pq,g=N+1且p、q均为强素数;私钥sk=(λ,μ),其中λ=lcm(p

1,q

1),μ=λ

1 mod N;将私钥sk分成两个部分(λ1,λ2),其中,部分私钥λ1为在区间(0,λμ)中的整数,部分私钥λ2=λμ

λ1;再将密钥组(pk,λ1)和(pk,λ2)分别发送给云服务器ALICE和云服务器BOB;
[0045]S4<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持批处理的安全同态计算方法,包括密钥平台、云服务器ALICE和云服务器BOB,其中,所述密钥平台使用Paillier密码系统,其特征在于,所述云服务器ALICE和云服务器BOB为非共谋双服务器架构;所述密钥平台用于给云服务器ALICE和云服务器BOB分发公、私密钥;所述Paillier密码系统包括加密算法、部分解密算法和阈值解密算法;所述安全同态计算方法还包括安全乘法协议SMUL、批处理安全乘法协议BatchSMUL、安全比较协议SCMP和批处理部分解密协议BatchPDec;所述安全乘法协议SMUL为即通过对密文的一系列计算得到明文xy对应的密文所述批处理安全乘法协议BatchSMUL是所述安全乘法协议SMUL的拓展,用于实现对加密数据的批量乘法运算和传输;所述安全比较协议SCMP为即在密文状态下实现对明文x、y的比较;所述批处理部分解密协议BatchPDec是所述安全比较协议SCMP的扩展,用于实现对密文状态下的数据的批量比较和传输。2.根据权利要求1所述的一种支持批处理的安全同态计算方法,其特征在于,所述Paillier密码系统的加密算法为Enc(pk,m)=(1+mN)
·
r
N
mod N2,其中,m为待加密的明文,r为小于N的随即正整数。3.根据权利要求2所述的一种支持批处理的安全同态计算方法,其特征在于,所述Paillier密码系统的部分解密算法为其中,λ
i
为部分密钥,是明文m的密文。4.根据权利要求3所述的一种支持批处理的安全同态计算方法,其特征在于,所述Paillier密码系统的阈值解密算法为TDec(M1,M2)=L(M1.M2mod N2),其中,M1、M2是同一密文分别使用密钥λ1、λ2的部分解密结果,5.根据权利要求4所述的一种支持批处理的安全同态计算方法,其特征在于,所述安全乘法协议SMUL的具体实现步骤如下:S1

1、密钥平台初始化生成公私密钥(pk,sk),公钥pk=(g,N),其中N=pq,g=N+1且p、q均为强素数;私钥sk=(λ,μ),其中λ=lcm(p

1,q

1),,=λ
‑1mod N;将私钥sk分成两个部分(λ1,λ2),其中,部分私钥λ1为在区间(0,λμ)中的整数,部分私钥λ2=λμ

λ1;再将密钥组(pk,λ1)和(pk,λ2)分别发送给云服务器ALICE和云服务器BOB;S1

2、云服务器ALICE利用随机数和Paillier同态计算方法对密文和进行加性致盲处理,然后将致盲后的密文X、Y合并为密文C,并使用部分私钥λ1对密文C进行部分解密得到密文C1,再将密文对&lt;C,C1&gt;发送给云服务器BOB,即:C=X
L
·
Y、C1=PDec(λ1,C),其中,r1、r2为随机数,且r1、r2∈{0,1}
σ
,σ为安全参数;L是一个常数,且满足L≥2
σ+2
;S1

3、云服务器BOB使用部分私钥λ2对密文C进行部分解密得到密文C2,用阈值解密算法
解密密文对&lt;C1,C2&gt;得到明文(x+r1)
·
(y+r2),将加密后得到的发送给云服务器ALICE,计算的流程包括:C2=PDec(λ2,C)、L
·
(x+r1)+y+r2=TDec(C1,C2)、y+r2=(L
·
(x+r1)+y+r2)mod L;S1

4、云服务器ALICE通过Paillier同态计算得到计算流程为:计算流程为:6.根据权利要求4所述的一种支持批处理的安全同态计算方法,其特征在于,所述批处理安全乘法协议BatchSMUL的具体实现步骤如下:S2

1、密钥平台初始化生成公私密钥(pk,sk),公钥pk=(g,N),其中N=pq,g=N+1且p、q均为强素数;私钥sk=(λ,μ),其中λ=lcm(p

1,q

1),μ=λ
‑1mod N;将私钥sk分成两个部分(λ1,λ2),其中,部分私钥λ1为在区间(0,λμ)中的整数,部分私钥λ2=λμ

λ1;再将密钥组(pk,λ1)和(pk,λ2)分别发送给云服务器ALICE和云服务器BOB;S2

2、云服务器ALICE有δ个密文对且利用随机数和Paillier同态计算方法对每一个密文对进行加性致盲处理,然后将致盲后的密文X
i
、Y
i
合并为密文c
i
,得到密文组{c1,

,c
δ
},将密文组通过积运算聚合成一个单独的密文C,...

【专利技术属性】
技术研发人员:赵搏文吴旻哲肖阳裴庆祺
申请(专利权)人:广州链融信息技术有限公司
类型:发明
国别省市:

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

1