一种具有隐私保护属性的多方矩阵乘法计算方法与流程

文档序号:33629850发布日期:2023-03-28 22:29阅读:23来源:国知局
一种具有隐私保护属性的多方矩阵乘法计算方法与流程

1.本发明涉及密码学与信息安全技术领域,具体是一种具有隐私保护属性的多方矩阵乘法计算方法。


背景技术:

2.矩阵在人工智能、密码学、数值分析等科学领域发挥着关键作用。矩阵乘法是矩阵运算不可或缺的一部分,许多科学计算问题需要使用到矩阵乘法。例如在机器学习领域将数据输入至神经网络中需要使用矩阵乘法;在密码学领域将原始矩阵乘以可逆矩阵用于对原始矩阵进行隐藏;此外,向量内积也是一种特殊的矩阵乘法。近期,随着数据安全和隐私保护相关法律法规的颁布和实际应用场景中的隐私保护需求,具有隐私保护属性的多方矩阵乘法成为安全多方计算的重要课题。
3.现有技术存在以下问题:必须依赖外包服务器或可信第三方进行多方隐私计算,计算效率低等。


技术实现要素:

4.为克服现有技术的不足,本发明提供了一种具有隐私保护属性的多方矩阵乘法计算方法,解决现有技术存在的必须依赖外包服务器或可信第三方进行多方隐私计算、计算效率低等问题,在不借助外包服务器或可信第三方的情况下,用户与多个参与者之间通过交互方式进行多方隐私计算。
5.本发明解决上述问题所采用的技术方案是:
6.一种具有隐私保护属性的多方矩阵乘法计算方法,应用于隐私计算的数据交互系统,数据交互系统包括一个拥有由明文数据组成矩阵a的用户n个拥有由明文数据组成矩阵b(i)的参与者用户与n个参与者交互时,在不泄露各方组成矩阵的数据信息的情况下由用户获得数据矩阵ab的元素信息;其中,n≥1且n为整数,i表示参与者的编号,i∈{1,2,...,n},矩阵a是d行e列,矩阵b(i)是e行f列,
7.作为一种优选的技术方案,用户与n个参与者交互时,使用同态加密和引入盲化因子,在不泄露数据矩阵a及b(i)的元素信息情况下,由用户获得数据矩阵ab的明文结果;包括以下步骤:
8.s1,系统初始化:用户选择支持加法同态的加密算法并公布算法参数,每个参与者生成一组盲化参数并公布;
9.s2,用户矩阵元素处理:用户将数据a映射为一个e维的行向量a,对其加密得到密文文表示对向量a中每一个元素{a1,a2,
…ae
}使用s1中选择的同态加密算法加密之后的密文向量,表示使用s1中选择的同态加密算法加密之后a1的密文,即
10.s3,隐私保护的矩阵乘法计算:参与者计算新密文以及盲化因子ηi,并将发送给用户,其中表示表示
11.s4,矩阵乘法结果获取:用户聚合所有参与者发来的数据得到解密后获得ab。
12.作为一种优选的技术方案,步骤s1包括以下步骤:
13.s11,用户选择支持加法同态的加密算法,公布有限循环群及的群生成元g;
14.s12,每个参与者在群随机生成一组盲化参数并公布。
15.作为一种优选的技术方案,步骤s2包括以下步骤:
16.s21,用户使用中国剩余定理映射将矩阵a的每列中所有元素映射成一个元素值,得到行向量a;
17.s22,用户加密行向量a中的每一个元素,得到密文
18.作为一种优选的技术方案,步骤s3包括以下步骤:
19.s31,用户发送给每个参与者
20.s32,参与者根据矩阵乘法规则和加密系统加法同态性质,使用矩阵b(i)的元素与进行计算获得新密文
21.s33,参与者根据公布的盲化参数计算一组盲化因子ηi,其中ηi中的元素个数和向量a的维度一致;
22.s34,参与者计算将结果发送给用户
23.作为一种优选的技术方案,步骤s4包括以下步骤:
24.s41,用户通过收集所有参与者发来的数据,对数据实施聚合操作获取
25.s42,解密并使用中国剩余定理将ab映射到ab。
26.作为一种优选的技术方案,其特征在于:
27.步骤s11中,加法同态加密算法具备以下同态性质:步骤s11中,加法同态加密算法具备以下同态性质:其中,a表示明文,表示a加密之后的密文;
28.步骤s12中,每个参与者随机选择然后公布其中,表示随机数,表示随机数生成的盲化参数。
29.作为一种优选的技术方案:
30.步骤s21中,用户选择中国剩余定理参数,将矩阵a的矩阵元素{a
rk
}按列映射到数据mk,将矩阵a编码成行向量a=(m1,m2,...,me),其中r={1,2,...,d},k={1,2,...,e};
31.步骤s22中,用户使用加密算法对数据(m1,m2,...,me)分别进行加密,得到密文
32.作为一种优选的技术方案:
33.步骤s32中,每个参与者接收到后,使用自身矩阵
中的元素依次计算和得到计算公式为:
[0034][0035][0036]
步骤s33中,基于一个两轮匿名投票协议生成盲化因子,根据盲化参数计算每个参与者计算盲化因子其中,表示更新后的盲化参数,则等式恒成立;
[0037]
步骤s34中,参与者使用盲化因子对新密文盲化的计算公式为:
[0038]
作为一种优选的技术方案:
[0039]
步骤s41中,用户根据盲化技术和同态加密系统的性质计算:根据盲化技术和同态加密系统的性质计算:其中j={1,2,...,f};
[0040]
步骤s42中,用户使用解密算法获得
[0041]
根据步骤s21中中国剩余定理参数,将映射到{c
1j
,c
2j
,...,c
dj
},j={1,2,...,f}),从而获得明文数据c;其中c=ab是一个d行f列的矩阵。
[0042]
本发明相比于现有技术,具有以下有益效果:
[0043]
本发明在确保用户和参与者矩阵元素信息不被泄露的情况下实现矩阵乘法的计算,无需外包服务器或可信第三方,而且在实现过程中通过中国剩余定理映射实现了对明文空间的高效利用,提高了计算效率,具有很高的实用性。
附图说明
[0044]
图1为本发明的步骤示意图;
[0045]
图2为本发明的流程图。
具体实施方式
[0046]
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述。应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
[0047]
实施例1
[0048]
本发明是针对矩阵的特点和数据隐私保护的需要,结合同态加密算法、匿名投票协议的一种高效且具有隐私保护属性的多方矩阵乘法计算方法。
[0049]
如图1、图2所示,一种高效且具有隐私保护属性的多方矩阵乘法计算方法,其特征在于:所述方法内包含一个拥有d
×
e矩阵a的用户个拥有e
×
f矩阵b(i)的参与者所述用户与n个参与者交互,在不泄露矩阵元素信息的情况下用户获得矩阵ab的明文结果,其中包括以下步骤:
[0050]
s1:系统初始化;
[0051]
s2:用户矩阵元素处理;
[0052]
s3:隐私保护的矩阵乘法计算;
[0053]
s4:矩阵乘法结果获取。
[0054]
作为优选,步骤s1的具体实现包括以下子步骤:
[0055]
s11:用户选择支持加法同态的加密系统,公开循环群和群生成元。
[0056]
s12:每个参与者随机生成一组盲化参数并公布。
[0057]
作为优选,步骤s2的具体实现包括以下子步骤:
[0058]
s21:用户使用中国剩余定理映射将矩阵a的每列中所有元素映射成一个元素值,得到e维的行向量a。
[0059]
s22:用户加密行向量a中的每一个元素。表示对向量a中每一个元素加密之后的密文向量,即
[0060]
作为优选,步骤s3的具体实现包括以下子步骤:
[0061]
s31:用户发送给每个参与者
[0062]
s32:参与者根据矩阵乘法规则和加密系统加法同态性质,使用矩阵b(i)的元素与进行计算获得新密文
[0063]
s33:参与者根据公开的盲化参数计算一组盲化因子ηi,ηi中的元素个数和向量a的维度一致;
[0064]
s34:参与者计算将结果发送给用户将结果发送给用户表示
[0065]
作为优选,步骤s4的具体实现包括以下子步骤:
[0066]
s41:用户通过收集所有参与者发来的数据。对数据实施聚合操作获取
[0067]
s42:解密并使用中国剩余定理将ab映射到ab。
[0068]
实施例2
[0069]
如图1、图2所示,作为实施例1的进一步优化,本实施例还包括以下技术特征:
[0070]
本发明提供一种高效且具有隐私保护属性的多方矩阵乘法计算方法,所述方法内包含一个拥有d
×
e矩阵a的用户个拥有e
×
f矩阵b(i)的参与者其中i={1,2,...,n}。所述用户与n个参与者交互,在不泄露矩阵元素信息的情况下用户获得矩阵ab的明文结果,
[0071]
请见图1,本发明提供一种高效且具有隐私保护属性的多方矩阵乘法计算方法,包括四个部分:系统初始化、用户矩阵元素处理、隐私保护的矩阵乘法计算、矩阵乘法结果获取。
[0072]
系统初始化包含下面两部分:
[0073]
步骤1.1:用户选择支持加法同态加密算法,公开循环群和群生成元g。用户任意选择一个加法同态加密算法(例如paillier算法、bgn算法等)并确定加密算法的明文空间空间表示小于n的非负整数集合。加密系统须具备下列同态性质:表示小于n的非负整数集合。加密系统须具备下列同态性质:表示a加密之后的密文。将加密系统所使用有限循环群和群生成元g向参与者进行公开。对于负数加密,需将加密函数的明文空间{0,1,...,n-1}划分为三部分:0;{1,2,...,(n-1)/2}表示正整数;{(n-1)/2,(n-1)/2+1,...,n-1}表示负整数。如果解密获得一个数据m∈{0,1,2,...,(n-1)/2},那么解密结果就是m本身,如果m∈{(n-1)/2,(n-1)/2+1,...,n-1},那么解密结果需要进行一个映射即m=m-n。
[0074]
步骤1.2:每个参与者随机生成一组盲化参数并公布。如果只有一个参与者,本部分可以略去。每个参与者在群中随机选择f个元素,即然后发布盲化参数
[0075]
用户矩阵元素处理具体实现包括以下子步骤:
[0076]
步骤2.1:用户使用中国剩余定理映射将矩阵a的每列中所有元素映射成一个元素值,得到行向量a。由于加密系统一般仅对整数进行加解密并且有固定的明文空间,因此设矩阵元素为整数。若待加密数据包含小数,可以在方案开始前将其映射到整数空间,方案结束后逆映射回原始空间。此外还需要对矩阵元素的取值范围进行确定,可以是预先已知的,也可以执行操作前确定的。用户选取d个随机数uj,满足a
jk
∈{-uj,1-uj,...,uj},其中j={1,2,...,d},k={1,2,...,e}。参与者协商一个随机数v并发布,满足取值时可以和最大元素保持一致也可以任选大于最大元素的数值,为了提高算法效率应尽量选取接近最大元素的数值。
[0077]
用户使用中国剩余定理将矩阵元素{a
ji
}按列映射到数据mi,将矩阵a编码成行向量a=(m1,m2,...,me)。行向量a的第k个元素mk=∑
j=1ajkhj
tj(mod h),k={1,2,...,e},其
中h表示d个两两互素的正整数的乘积,即h=h1h2...hd,{h1,h2,...,hd}两两互素,hj的取值范围为hj》e
·
2uj·
2v,h需满足h
·
2v
·e·
n《n-1;hj表示除hj外d-1个两两互素的正整数的乘积,即tj表示hj模hj时的逆元,即hjtj≡1(mod hj),j={1,2,...,d};根据中国剩余定理,通过计算mk(mod hj)可以恢复单个数据a
jjk
。当矩阵较大时,由于h
·
2v
·e·
n《n-1的限制,可能要封装成多个数据,这里依然把多个数据抽象的看作一个,处理的方式是一致的。
[0078]
步骤2.2:用户加密行向量a中的每一个元素。用户使用加密系统的加密算法对数据(m1,m2,...,me)分别进行加密得到密文
[0079]
隐私保护的矩阵乘法计算具体实现包括以下子步骤:
[0080]
步骤3.1:用户发送给每个参与者
[0081]
步骤3.2:参与者根据矩阵乘法规则和加密系统加法同态性质,使用矩阵b(i)的元素与进行计算获得新密文每个参与者接收到后,使用持有矩阵中的元素依次计算和得到根据加密技术的同态性,
[0082][0083]
步骤3.3:参与者根据公开的盲化参数计算一组盲化因子ηi。基于一个两轮匿名投票协议生成盲化因子,根据初始化阶段的盲化参数计算每个参与者计算盲化因子计算盲化因子所有参与者的第j个盲化因子乘积为1,即
[0084]
步骤3.4:参与者计算将结果发送给用户每个参与者计算并发送给用户
[0085]
矩阵乘法结果获取具体实现包括以下子步骤:
[0086]
步骤4.1:用户通过收集所有参与者发来的数据。对数据实施聚合操作获取
用户根据盲化技术和加密系统的性质计算
[0087]
步骤4.2:解密并使用中国剩余定理将ab映射到ab。用户使用解密算法获得根据中国剩余定理的性质,计算根据中国剩余定理的性质,计算可以得到d
×
f矩阵c。
[0088]
如上所述,可较好地实现本发明。
[0089]
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
[0090]
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1