一种支持打包的门限全同态数据封装方法技术

技术编号:31312089 阅读:25 留言:0更新日期:2021-12-12 21:46
本发明专利技术公开了一种支持打包的门限全同态数据封装方法,其特点在于采用任意的单向陷门置换和任意哈希函数的外包计算,实现对密文计算结果的门限解密,具体包括:系统初始化、密钥生成、数据打包、数据加密、数据外包计算和数据解密等步骤。本发明专利技术与现有技术相比具有支持门限解密,即不少于门限个授权接收方可通过部分解密后联合恢复原始明文计算结果,保证用户数据隐私和计算结果隐私可达到适应性选择密文安全(CCA),方法简单、易行,更具灵活性,不但满足了多用户多数据安全外包计算的高效性和隐私性需求,而且还节省了计算开销与通信开销,较好的解决了私钥仅由单个授权接收方秘密保存容易成为敌手攻击目标导致单点失败的问题。存容易成为敌手攻击目标导致单点失败的问题。存容易成为敌手攻击目标导致单点失败的问题。

【技术实现步骤摘要】
一种支持打包的门限全同态数据封装方法


[0001]本专利技术涉及安全外包计算及同态加密
,尤其是一种支持打包的门限全同态数据封装方法。

技术介绍

[0002]随着计算机应用的蓬勃发展,越来越多的有价值的数据从各个终端产生,而受设备本身存储、计算能力的限制,无法在本地通过有效的处理发挥数据的价值。越来越多的数据拥有者将数据外包给资源丰富的云服务器来存储与处理。然而在现实应用中,云服务器往往工作在不可信的环境中。出于商业利益等目的,半可信的云服务器虽然通常会诚实地进行数据处理,并将正确的结果返回给外包计算结果接收方,但同时尝试在数据处理过程中或与用户交互过程中窥探用户的隐私数据,恶意云服务器则会通过任意行为来破坏外包计算协议的正确执行。另一方面,即使云服务器本身没有恶意行为,公开在网络上的服务器仍易遭受到黑客的渗透,每年因服务器被攻击或出现漏洞导致的用户隐私数据泄露不计其数。因此,如何在保护用户数据隐私的前提下实现高效正确的密文域数据处理和外包计算成为了当前云计算安全领域的研究热点之一。
[0003]为了防止用户数据隐私泄露,保障信息安全,最直接的方法就是在将数据外包给云服务器之前,通过各种加密方法来保护数据的机密性,以往工作主要通过公钥全同态实现安全外包计算。公钥全同态加密由于其具有对密文执行的计算操作保持对相应明文执行相同计算操作的性质,可实现在密文域上的各类安全外包计算功能,从而在云计算领域得到广泛应用。具体地说,数据拥有者使用外包计算结果接收方的公钥,利用公钥全同态加密对本地用于外包计算的每一个输入数据加密后发送给云服务器,云服务器在密文域上进行各类外包函数计算并将密文计算结果发送给接收方,接收方用其私钥解密明文计算结果。
[0004]安全外包计算需要满足以下两点基本隐私保护需求:1)输入隐私:即数据拥有者的输入数据隐私能抵抗半可信或恶意云服务器攻击;2)计算结果隐私:即外包计算结果只能由授权的接收方解密得到。
[0005]现有技术的安全外包计算工作尚存在以下不足与缺陷:1)公钥全同态加密虽然在功能上可实现密文域上的函数计算,用户本地的公钥加密算法使用次数复杂度为O(n),其中n是每个输入数据集的大小,计算复杂度和通信复杂度过高,无法满足存储、计算资源受限的本地设备的客观性能需求;2)基于公钥全同态加密实现的安全外包计算协议,无法实现基于多个输入数据集的密态函数计算的轻量级打包处理,服务器端的密态函数计算次数复杂度为O(n
d
),其中n
d
为数据集的个数,计算、通信效率有待进一步提高;3)公钥全同态加密方案的私钥通常由单个授权接收方秘密保存,容易招致单点失败与安全威胁,成为敌手攻击的目标。因此,不依赖传统的公钥全同态加密,寻求一种支持打包的门限全同态数据封装新方法是一项亟待解决的挑战性公开研究问题。

技术实现思路

[0006]本专利技术的目的是针对现有安全外包计算的不足而设计的一种支持打包的门限全同态数据封装方法,采用任意的单向陷门置换和任意哈希函数的数据封装方法,可以在用户具有多个输入数据的单云服务器模型场景下,通过打包技术,在密文域上实现由加法、乘法组成的各类复杂外包函数的打包批量密态计算,随后将批量处理后的输入数据进行加密,使得云服务器在密文域上执行一次外包函数计算就能让授权的接收方获得多个输入数据集对应的多个函数计算结果,从而大大降低外包计算的计算开销和通信开销,同时实现了对密文计算结果的门限解密,即不少于门限个授权接收方可通过部分解密后联合恢复原始明文计算结果,保证用户数据隐私和计算结果隐私可达到适应性选择密文安全(CCA),方法简单、易行,更具灵活性,不但满足了多用户多数据安全外包计算的高效性和隐私性需求,而且还节省了计算开销与通信开销,较好的解决了私钥仅由单个授权接收方秘密保存容易成为敌手攻击目标导致单点失败的问题。
[0007]本专利技术的目的是这样实现的:一种支持打包的门限全同态数据封装方法,其特点是采用任意的单向陷门置换和任意哈希函数的外包计算方法,实现对密文计算结果的门限解密,外包计算及解密具体包括下述步骤:
[0008](一)系统初始化阶段
[0009]系统在给定安全参数λ下,将陷门置换发生器生成的一对单向陷门置换及逆置换和n对陷门置换的公私钥分别发送给n个数据接收方,生成一个哈希函数,并将安全参数、一个哈希函数以及n个公钥作为公开参数PPR和n个私钥作为私钥SK分别由n个数据接收方保存。
[0010](二)密钥生成阶段
[0011]算法输入公开参数PPR,生成一对数据拥有者的公私钥pbk以及pvk。
[0012](三)数据打包阶段
[0013]输入一串消息分片m=(m1,

,m
num
),其中m
s
=(m
1,s
,

,m
J,s
),算法将{m
j,1
,

,m
j,num
}进行打包得到x
j
,其中j=1,2

,J,输出打包后的数据x=(x1,

,x
J
)。
[0014](四)数据加密阶段
[0015]数据拥有者运行一个多项式时间的加密算法,输入公开参数PPR、公私钥(pbk,pvk),以及打包后的数据x和输出加密数据C
x

[0016](五)数据外包计算阶段
[0017]云服务器接收所有数据拥有者发送的加密数据C
x
,输入外包函数F(x),数据拥有者的公钥pbk,在密文域上对数据进行以加法、乘法为基础的任意计算,并将密文计算结果C
F(x)
发给送接收方。
[0018](六)数据解密阶段
[0019]接收方利用单向陷门置换的私钥SK解密C
u
进行验证,验证通过后使用私钥对密文上的外包计算结果进行初步解密,达到阈值t的多个接收方,共同对计算结果进行解密,得到解包结果F(m
s
)(s=1,..,num)。
[0020]所述系统初始化阶段的具体操作如下:
[0021]a)输入1
λ
,其中λ是安全参数;
[0022]b)系统(可信第三方)运行概率多项式时间算法输出一组在{0,1}
λ
上的函数
(f,f
‑1)、n对公私钥(pk
f,i
,sk
f,i
)每个数据接收者R
i
(i=1,2,

,n)和三个哈希函数H0,H1,H2,其映射范围为{0,1}
*

{0,1}
λ
,生成公共参数PPR=(λ,H0,pk
f,i
(i=1,2,

,n)),秘密参数SK=(sk
f,i
(i=1,2,
...

【技术保护点】

【技术特征摘要】
1.一种支持打包的门限全同态数据封装方法,其特征在于采用任意的单向陷门置换和任意哈希函数的外包计算方法,实现对密文计算结果的门限解密,外包计算及解密具体包括下述步骤:(一)系统初始化阶段系统在给定安全参数λ下,将陷门置换发生器生成的一对单向陷门置换及逆置换和n对陷门置换的公私钥分别发送给n个数据接收方,生成一个哈希函数,并将安全参数、一个哈希函数以及n个公钥作为公开参数PPR和n个私钥作为私钥SK分别由n个数据接收方保存;(二)密钥生成阶段算法输入公开参数PPR,生成一对数据拥有者的公私钥pbk以及pvk;(三)数据打包阶段输入一串消息分片m=(m1,...,m
num
),其中m
s
=(m
1,s
,...,m
J,s
),算法将{m
j,1
,...,m
j,num
}进行打包得到x
j
,其中j=1,2...,J,输出打包后的数据x=(x1,...,x
J
);(四)数据加密阶段数据拥有者运行一个多项式时间的加密算法,输入公开参数PPR、公私钥(pbk,pvk),以及打包后的数据x和输出加密数据C
x
;(五)数据外包计算阶段云服务器接收所有数据拥有者发送的加密数据C
x
,输入外包函数F(x),数据拥有者的公钥pbk,在密文域上对数据进行以加法、乘法为基础的任意计算,并将密文计算结果C
F(x)
发给送接收方;(六)数据解密阶段接收方利用单向陷门置换的私钥SK解密C
u
进行验证,验证通过后使用私钥对密文上的外包计算结果进行初步解密,达到阈值t的多个接收方,共同对计算结果进行解密,得到解包结果F(m
s
)(s=1,...,num)。2.根据权利要求1所述支持打包的门限全同态数据封装方法,其特征在于所述系统初始化阶段的具体操作如下:a)输入1
λ
,其中λ是安全参数;b)系统(可信第三方)运行概率多项式时间算法输出一组在{0,1}
λ
上的函数(f,f
‑1)、n对公私钥(pk
f,i
,sk
f,i
)每个数据接收者R
i
(i=1,2,

,n)和三个哈希函数H0,H1,H2,其映射范围为{0,1}
*

{0,1}
λ
,生成公共参数PPR=(λ,H0,pk
f,i
(i=1,2,

,n)),秘密参数SK=(sk
f,i
(i=1,2,

,n))由数据接收方R
i
保管。3.根据权利要求1所述支持打包的门限全同态数据封装方法,其特征在于所述密钥生成阶段的具体操作如下:a)系统选择n*k个俩俩互质的正整数p
i,k
且有相同长度其中K=deg
F
,i=1,2,

,n;k=1,2,

,K,deg
F
表示函数F的度数,且p
i,k
满足满足使得p0<p1<

<p
n
且p0·
p
n

t+2
·
...
·
p
n
<p1·
p2·
...
·
p
t
。其中p0为中随机选取的正整数;b)t

门限范围为(a,b],其中c)系统随机选取n*k个俩俩互质的正整数u
i
(i∈{1,2,

,n}),且有相同长度|u
i
|=λ,
并满足gcd(u
i
,p
i
)=1;d)系统计算u
i
为秘密参数,随机选取大质数δ满足|δ|=λ,计算M

=δ
·
M并公开,公钥为pbk=(p0,p1,

,p
n
,p
1,1


,p
n,K
,M

),私钥为pvk=(u1,

,u
n
,M)发给数据拥有者。4.根据权利要求1所述支持打包的门限全同态数据封装方法,其特征在于所述数据打包阶段的具体操作如下:a)数据拥有者选择一个长度为的正整数p,且满足gcd(p,p
i
)=1,(i=1,

,n);b)...

【专利技术属性】
技术研发人员:周俊周恬慧
申请(专利权)人:华东师范大学
类型:发明
国别省市:

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

1