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

一种基于格的分布式门限加法同态加密方法与流程

2021-11-03 21:08:00 来源:中国专利 TAG:

技术特征:
1.一种基于格的分布式门限加法同态加密方法,其特征在于,包括:s1.系统初始设置:输入安全参数λ,输出系统参数params={param0,paramss},其中param0是系统初始化相关参数集合,paramss是多秘密共享相关参数集合;s2.用户秘钥生成:输入系统参数params,输出公私钥对(pk
u
,sk
u
);s3.用户私钥份额生成:输入系统参数params、用户u的私钥sk
u0
和用户集合u中的公钥集合{pk
v1
}
v∈u
,输出为加密消息集合{e
uv
}
v∈u
和用户u的公开份额的有序集合s4.系统公钥合成:输入系统参数params,所有用户的公钥集合{pk
u0
}
u∈u
,计算pk=[∑
u∈u
pk
u0
]
q
,输出系统公钥pk;s5.数据加密:输入系统参数params,系统公钥pk,用户u的明文数据m
u
,输出用户u的密文数据c
u
=(c
u0
,c
u1
);s6.加法同态运算:输入系统参数params,用户的密文数据集合{c
u
}
u∈u
,用户的权重系数集合{w
u
}
u∈u
,然后分别计算ct0=[∑
u∈u
c
u0
·
w
u
]
q
、ct1=[∑
u∈u
c
u1
·
w
u
]
q
,最后输出系统密文ct=(ct0,ct1);s7.部分解密:输入系统参数params,系统密文ct,用户u的公钥pk
u
和用户u收到集合u中其他用户的加密消息集合{e
vu
}
v∈u\{u}
,输出用户u的部分解密值pm
u
;s8.最终解密:输入系统参数params,系统密文ct=(ct0,ct1),用户的部分解密值集合p1={pm
u
}
u∈v
,其中|p1|≥th,系统公开份额集合os
sys
,集合u中所有用户公开份额集合和输出由最终解密值组成的多项式m。2.根据权利要求1所述的基于格的分布式门限加法同态加密方法,其特征在于,具体设置多项式次数d、多项式系数模数q、明文多项式模数t、不可约分圆多项式f(x)、整数多项式环rq表示所有元素系数模q的环r、正态分布χ、均匀分布μ、环r上任意元素混合加密体制hpke={hpke.gen,hpke.enc,hpke.dec}和多秘密共享方案multiss={multiss.setup,multiss.split,multiss.recover};其中hpke.gen是密钥生成算法,输入为安全参数,输出为加解密的密钥对;hpke.enc为加密算法,输入为加密密钥和明文,输出为密文;hpke.dec为解密算法,输入为密文和解密密钥,输出为明文;multiss.setup为系统初始化算法,输入为安全参数,输出为系统参数;multiss.split为秘密分发算法,输入为系统参数和有序的秘密集合,输出为秘密份额集合和用户公开份额;multiss.recover为秘密重构算法,输入为系统参数和秘密份额集合,输出为有序的秘密集合;然后随机选择对于paramss={n,th,m,u,v,plist,glist,blist,os
sys
},则执行算法multiss.setup(1
λ
)

paramss可得;其中q为大整数素数,n为参与者的数量,th为门限值,m为一次要共享的秘密数量,要求m≥th;所有参与者的集合为u,满足门限数量的用户集合为v,即n≥|v|≥th;然后在[n 2m th,q

1]中随机选择n个互不相同的整数p1,p2,p3,

,p
n
作为n个参与者的个人身份标识,其集合记为plist;设区间[m,m n

1]中连续n个整数g1,g2,g3,

,g
n
为系统公开份额的标识,其集合记为glist;最后在[0,q

1]范围内随机选择n个随机整数k1,k2,k3,

,k
n
,称其系统公开份额,其集合记为os
sys

3.根据权利要求2所述的基于格的分布式门限加法同态加密方法,其特征在于,所述的秘密分发算法multiss.split由秘密分发者负责执行,输入系统参数paramss和有序的秘密集合mlist,输出秘密份额集合slist和用户公开份额os
u
;设待共享的m个秘密具体为c1,c2,c3,

,c
m
,具体步骤如下:插值生成n m

1次多项式h(x):根据m个秘密组成的数值对(0,c1),(1,c2),(2,c3),

(m

1,c
m
),以及n个系统公开份额的数值对(g1,k1),(g2,k2),(g3,k3),

,(g
n
,k
n
)共n m个数值对,利用拉格朗日多项式插值算法,计算得到n m

1次多项式h(x)=a0 a1x a2x2

a
n m
‑1x
n m
‑1;生成参与者的秘密份额集合slist:利用得到的n m

1次多项式h(x),分别计算参与者的秘密份额;将用户的个人身份标识p
i
作为自变量输入多项式h(x),得到的函数值h(p
i
)即为参与者的秘密份额,设其集合为slist;当m>th时,需生成秘密分发者的公开份额集合os
u
:设区间[m n,m 2n

th

1]中连续m

th个整数b1,b2,b3,

,b
m

th
为秘密分发者公开份额的标识,其集合记为blist;将秘密分发者公开份额的标识集合blist分别输入多项式h(x)得到对应的值h(b
i
),其集合记作os
u
。4.根据权利要求3所述的基于格的分布式门限加法同态加密方法,其特征在于,所述的秘密重构算法multiss.recover由任何有秘密恢复需求的一方执行,输入系统参数paramss、秘密份额集合slist,要求集合中的数量不少于th和秘密分发者的公开份额集合os
u
,输出有序的秘密集合mlist,具体步骤如下:插值恢复n m

1次多项式h(x):根据秘密份额集合slist,得到不少于th个数值对(p
i
,h(p
i
));根据系统公开份额os
sys
,得到n个数值对(g
n
,k
n
);若m>th时,则还需结合秘密分发者的公开份额集合os
u
,得到m

th个数值对(b
i
,h(b
i
));利用一共不少于m n个数值对,使用拉格朗日多项式插值算法,恢复h(x);生成有序的秘密集合mlist:分别计算c
i
=h(i

1)来恢复秘密,其中i=1,2,

,m,该集合记作mlist。5.根据权利要求4所述的基于格的分布式门限加法同态加密方法,其特征在于,所述的步骤s2具体包括:首先从系数是{

1,0,1}的多项式环r3中均匀随机地选择一个多项式然后按照χ分布选择一个噪声多项式设置且运行(pk
u1
,sk
u1
)

hpke.gen(1
λ
)得到hpke体制的加解密密钥对,设置sk
u
=(sk
u0
,sk
u1
)和pk
u
=(pk
u0
,pk
u1
),输出公私钥对(pk
u
,sk
u
)。6.根据权利要求5所述的基于格的分布式门限加法同态加密方法,其特征在于,所述的步骤s3具体包括:首先选择一个噪声对于sk
u0
和中的每m个连续系数,执行秘密分发算法multiss.split,完整共享整个私钥和噪声都是需要分别执行次多秘密共享算法,得到关于用户u的私钥和噪声的秘密份额的有序集合和用户公开份额的有序集合和这四个有序集合中分别都包含个元素;然后以几个集合u中的每一个用户为单位,分别执行如下流程:
a)把发送给用户v的两个秘密份额有序集合{ssk
uv
,seu
uv
}打包为消息s
uv
,其中ssk
uv
为关于私钥的秘密份额集合,seu
uv
为关于噪声的秘密份额集合,假设用户v的身份标识为p0,则则b)利用用户v的公钥pk
v1
,运行加密算法hpke.enc(pk
v1
,s
uv
)获得加密消息e
uv
;最后输出为包含各个用户的加密消息集合{e
uv
}
v∈u
和用户u的公开份额的有序集合其中用户u自己的份额留在本地。7.根据权利要求6所述的基于格的分布式门限加法同态加密方法,其特征在于,所述的步骤s5具体包括:首先将明文数据m
u
作为系数嵌入一个最高次为d的多项式x
u
,然后随机选择两个噪声分别计算输出用户u的密文数据c
u
=(c
u0
,c
u1
)。8.根据权利要求7所述的基于格的分布式门限加法同态加密方法,其特征在于,所述的步骤s7具体包括:首先运行解密算法hpke.dec(sk
u1
,e
vu
),得到消息集合{s
vu
}
v∈u\{u}
,逐个解析消息后,得到关于私钥的秘密份额有序集合的集合{ssk
vu
}
v∈u\{u}
和关于噪声的秘密份额有序集合的集合{seu
vu
}
v∈u\{u}
,两者分别包含n

1个集合元素,每个集合元素又由个秘密份额有序组成;加上用户u共享本地私钥和噪声时保留给自身的两种秘密份额有序集合,对其分别汇总为总份额有序集合;计算ssk
uv
=∑
v∈u
ssk
vu
,seu
uv
=∑
v∈u
seu
vu
,然后执行部分解密值计算方法,将有序集合ssk
u
进行模m间隔嵌入d次多项式得到sk,将有序集合seu
u
进行模m连续嵌入d次多项式得到se;从密文ct中取出ct0,计算pm
u
=[ct0·
sk se]
q
,最后输出用户u的部分解密值pm
u
。9.根据权利要求8所述的基于格的分布式门限加法同态加密方法,其特征在于,所述的步骤s8具体包括:首先对于用户公开份额集合h2和h3,其中分别包含n个集合元素,每个集合元素由个用户公开份额集合有序组成,分别将这n个集合元素按顺序对应相加,即计算和得到用户份额汇总集合:得到用户份额汇总集合:此时sh0和sh1都分别由个份额集合有序组成,每个份额集合包含m

th个份额,然后根据i=1,2,

,m

th,每次从sh0和sh1中分别取出集合和然后根据步骤s7中的部分解密方法计算关于用户公开份额的部分解密值,其中有序集合执行模m间隔嵌入,执行模m连续嵌入;执行m

th次后,得到关于用户公开份额的部分解密值集合p2;同样对于系统公开份额集合{k1,k2,k3,

,k
n
},根据i=1,2,

,n,计算k
i
=n*k
i
,构造
元素数量为的两个集合的两个集合根据步骤s7汇总的部分解密方法,计算关于系统公开份额的部分解密值,其中集合执行模m间隔嵌入,执行模m连续嵌入;执行n次后,得到关于系统公开份额的部分解密值集合p3,合并三个部分解密值集合p1、p2、p3得到p={pm
i
},其对应的标识集合简写为a={a1,

,ai},i∈[1,|p|],其中每一项对应的拉格朗日插值基函数为la
ai
(x);对于i=1,2,3,...,|p|,对应的将集合{la
ai
(0),la
ai
(1),...,la
ai
(m

1)}对d次多项式进行模m间隔嵌入得到l
i
;然后计算由最终解密值组成的多项式m,其中:10.根据权利要求10所述的基于格的分布式门限加法同态加密方法,其特征在于,

对于任何集合x,定义|x|为集合x中元素的数量;如果x是一个向量,则|x|是这个向量的维度;

对于给定的最高次为d的不可约分圆多项式f(x),定义一个整数多项式环为环r上所有的元素都是向量,也称为多项式;rq表示所有元素系数模q的环r,其中表示从r
q
上按照均匀分布选择一个环r上任意元素其第i项的系数为a
i
,即满足公式其中x为自变量;其无穷范数满足公式对于r的拓展因子δ
r
满足公式

对于任意整数h>1,定义为整数集合为整数集合表示一个整数环{0,1,2

,q

1},对于任意[x]
h
=x mod h;对于任意h;对于任意意味着向下取整,意味着向上取整,意味着取最近的整数;对于任意x∈r,意味着对中的所有系数都进行模h操作;

对于给定的安全参数λ,如果对于所有都满足negl(λ)=o(1/λ
c
),则称函数negl(λ)是可忽略的;

对于给定的参概率分布使用表示x从中随机采样;对于集合x,用x

x表示x是从集合中均匀采样得到的;对于整数上的分布χ,如果满足取值范围在[

b,b]范围内,则称其界限为b;

对于将元素数量为m的集合set嵌入最高次为d的多项式poly,要求m能被d 1整除,且d≤m2‑
1;包括以下两种方式:1)模m连续嵌入:当多项式poly其中的第i项满足i%m=1(i=1,...,d 1)时,将有序集合set中排在首位的元素嵌入对应项的系数,并在之后的每一项都嵌入相同系数,直到新的项再次满足i%m=1时,从集合删除上一元素,将重新排在首位的元素嵌入对应项,重复执行,直到遍历整个多项式结束;2)模m间隔嵌入:当多项式poly其中的第i项满足i%m=1(i=1,...,d 1)时,将有序集
合set中排在首位的元素嵌入对应项的系数,并从集合删除该元素,重复执行,直到遍历整个多项式结束;

对于整数集合{a,b,c,d},本文约定其对应的拉格朗日基函数,设自变量为x,集合为{la
a
(x),la
b
(x),la
c
(x),la
d
(x)},具体为:(x)},具体为:

技术总结
本发明涉及基于同态加密的安全多方计算技术领域,更具体地,涉及一种基于格的分布式门限加法同态加密方法。包括以下步骤:系统初始设置、用户密钥生成、用户私钥份额生成、系统公钥合成、数据加密、加法同态运算、部分解密和最终解密。发明提供的一种基于格的分布式门限加法同态加密方法,减少了用户端本地的份额数量,进一步减小了整个协议的通信量,同时减少了用户端算法的计算时间,允许用户端利用轻量级计算设备参与整个协议。级计算设备参与整个协议。级计算设备参与整个协议。


技术研发人员:田海博 林会智 李茂楠
受保护的技术使用者:中山大学
技术研发日:2021.06.25
技术公布日:2021/11/2
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献