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

基于秘密分享协议的安全高效数学除法计算的优化方法与流程

2021-10-24 03:55:00 来源:中国专利 TAG:除法 高效 优化 协议 秘密


1.本发明属于网络空间安全技术领域,具体涉及一种基于秘密分享协议的安全高效数学除法计算的优化方法。


背景技术:

2.安全多方计算(mpc:secure multi

party computation)[1]是密码学的一个子领域,最初起源于图灵奖获得者姚期智教授在1982年提出的百万富翁问题,即两个百万富翁都想比较到底谁更富有,但是都不想让别人知道自己有多少财产,那么如何在没有可信的第三方的情况下比较出他们谁更富有就成了一个问题。而安全多方计算正是为这类问题提供了解决方法,它旨在解决一组互不信任的参与方之间保护隐私的协同计算问题。简单来说,其允许多个数据所有者在互不信任的情况下进行协同计算,输出计算结果,并保证任何一方均无法得到除应得的计算结果之外的其他任何信息。因此,安全多方计算技术可以获取数据使用价值,却不泄露原始数据内容。
[0003]
bgw协议[3]是在shamir协议[2]的基础上拓展的协议,其在shamir的t阈值秘密分享之上,进一步提供了有限域中的加法、乘法等线性运算的方案。shamir秘密共享的核心思想在于构造一个随机的t阶多项式f(x)=a0 a1x a2x2 ... a
t
x
t
,其中a0为秘密数据,基于上述多项式构造n个点{i,f(i)|i=1,...,n},即为此秘密的分享,只有持有多于t个的分享才可以解出多项式并恢复秘密。由多项式的性质可知,两个秘密之间的加法,秘密和常数的乘法,都可以在本地直接进行运算:假设秘密s1,s2分别由t阶多项式f(x)和g(x)进行秘密分享,那么各参与方只需要直接将各自持有的分享[s1]
i
和[s2]
i
相加,就可以得到s1 s2的秘密分享;相似地,要计算秘密s1与明文常数a的乘法,只需在将[s1]
i
与a相乘,结果即为a*s1的秘密分享。
[0004]
两个秘密分享值相乘需要多方之间的通信才能得到计算结果。bgw协议中假设要计算s1*s2的秘密分享,首先所有参与方各自计算h(i)=f(i)*g(i)。可以知道,{i,h(i)|i=1,...,n}为多项式h(x)=f(x)*g(x)上的点,其中h(x)为2t阶的多项式且h(0)=s1*s2。由于shamir秘密共享的要求是给定任意t 1个秘密分享都能重新计算出多项式的系数并重构被分享的秘密,显然2t阶的多项式不满足这一要求,因此接下来还需要对多项式h(x)进行降阶操作得到t阶多项式h

(x),并保证h

(x)常数项仍为s1*s2。
[0005]
假设向量s=(h(i),...,h(n)),r=(h

(i),...,h

(n)),要将s转换为r还需要执行一系列操作。令矩阵b为n
×
n维的范德蒙矩阵,t是一个n
×
n维的对角矩阵,其中对于i=j≤t,t(i,j)=1,其余的t(i,j)=0。基于以上条件,可以推算出r=btb
‑1s,由此就完成了降阶操作。


技术实现要素:

[0006]
本发明的目的在于提供基于bgw秘密分享协议的安全高效的除法计算的优化方法。
[0007]
本发明提供的基于bgw秘密分享协议的安全高效的除法计算的优化方法,能够在除数较大的情况下,以高精度计算得到除法结果。给定密文输入[x]作为被除数,明文b作为除数,输出密文[y],计算过程可以公式化地表示为[y]

[x]/b;
[0008]
在bgw秘密分享协议中,我们考虑以定点数统一编码计算数据,使用k表示数据的比特位数,f表示小数点后的精度,m表示输入x的最高有效位;同时以小数点后固定f比特位数表示精度2

f

[0009]
通常的常数除法会先计算常数b的倒数再乘以2
f
,即2
f
/b,再利用bgw协议的乘法方案计算出密文与常数倒数的乘法,最终就可以得到[x]/b的结果。然而当除数b>2
f
时,2
f
/b的结果会输出0,因此在本发明的明文常数除法协议优化算法中,将会根据除数b的大小,将明文除法分为两种情况,具体步骤如下:
[0010]
(1)针对明文除数b,如果b≤2
f
,直接计算b在域中的倒数inverse=2
f
/b,并令trunc
bits
=f。由于在进行乘法运算后,小数点后的位数会发生越界超过f,因此还需对计算结果进行截断,这里就用trunc
bits
表示之后需要截断的位数;
[0011]
(2)如果b≥2
f
,则需要将其表示成b=c*2
l
,其中c≤2
f
。直接对明文b计算以2为底的对数得到l=log
2 b,并进一步计算c=b/2
l
。此时令inverse=2
f
/c,以及trunc
bits
=f l;
[0012]
(3)计算[y]=[x]*inverse/trunc
bits
,即可以得到最后结果[y]=[x]/b。
[0013]
本发明中,进一步利用随机数盲化隐私数据,实现密态除法(即用于解决密文与密文间的除法运算),仅需3个通信回合数即可完成计算,带来较大的效率提升。具体地,给定密文输入[x]作为被除数,密文[y]作为除数,输出密文除法结果[z],其计算过程可以公式化地表示为[z]

[x]/[y],算法的主要思想为,利用随机数r盲化密文[y]得到[y]*[r],将其还原为明文后,计算结果[z]=[x]/(y*r)*r;算法具体步骤如下:
[0014]
(1)各参与方在本地生成随机数r的秘密共享[r],其中[r]
i
∈f
p

[0015]
(2)根据bgw协议的乘法计算方案,计算密文乘法[c]=[y]*[r],各方互相发送所持有的[c],还原出明文c=y*r,并对c的后2f位进行截断:c

=c/2
2f

[0016]
(3)利用优化协议一中的明文常数除法协议,计算[z

]=[x]/c

,则z

=x/(y*r);
[0017]
(4)由于z=x/(y*r)*r,因此需要令上一步的计算结果[z

]再进行一次与[r]的密文乘法,即[z]=[z

]*[r];
[0018]
(5)同样地,为消除乘法导致的小数位数越界的影响,还需要截断[z]的后f位。这样,便得到了密态除法的结果[z]。
[0019]
上述的基于随机数盲化隐私数据优化密态除法的方法,随机数的生成并不依赖于输入,因此可以在线下阶段预计算,减少在线阶段的开销,提高计算效率。参见下表1。
[0020]
表1
[0021]
协议通信回合数通信量大小常数除法(constant division)11密态除法(secretdivision)33。
[0022]
本发明中,计算协议输入的密文即为秘密分享。持有私密数据的参与方将在执行计算前,基于shamir秘密共享协议将私密数据拆分成n份发送给其余参与方。
[0023]
本发明中,定点数都会被映射到域中进行运算。映射构造过程如下:假设为有理
数域q
<k,f>
中的有理数,其中k表示的比特位数,f为小数点后的精度。需要将映射到整数域,令则可以得到q
<k,f>

z
<k>
的映射;接着对进行运算,使得则完成了z
<k>

f
p
的映射,其中p为域f
p
的大小且p>2
k
。上述协议中的所有运算都是在域f
p
上完成的。
[0024]
本发明中,采用的安全模型的是半诚实敌手模型,即假设各敌手不会偏离规定的协议,但会尝试收集和推导其收到的中间信息。
[0025]
本发明中,若t<n/2,则协议可以保证信息论安全,此结论在bgw协议的证明中可以得到。
[0026]
本发明提供的基于bgw秘密分享协议的明文除法和密态除法的优化方法,能使使用者高效地计算出计算结果:
[0027]
(1)明文除法计算协议在基本的明文除法方法上进行扩展,考虑到了当除数较大导致计算结果不准确的情况,能在除数较大的情况下仍以高精度计算得到除法结果;
[0028]
(2)密态除法协议使用随机数盲化隐私数据,利用了随机数可以在线下阶段预计算生成的特点,减少了各参与方在线阶段的计算开销,提高计算效率。
附图说明
[0029]
图1为参与方共同进行常数除法和密态除法计算的流程图示。
具体实施方式
[0030]
下面结合附图详细描述本发明。
[0031]
(1)首先各参与方将自己手中所持有的私密数据通过上文提到的秘密分享的方法,交互分享给其余参与方,这样每个参与方都将会持有私密数据的秘密分享。后续将在此基础上执行计算,以达到保护数据隐私的目的。此外,在计算过程中,我们考虑以定点数统一编码计算数据,使用k表示数据的比特位数,f表示小数固定的精度。
[0032]
(2)各参与方执行明文常数除法时,执行以下步骤:
[0033]
输入秘密分享[x]作为被除数,明文b作为除数,如果b≤2
f
,直接计算b在域中的倒数inverse=2
f
/b,并定义trunc
bits
=f,trunc
bits
为[x]与b的倒数相乘后需要截断的比特位数。
[0034]
(2.1)如果b≥2
f
,则在此情况下不能直接求取b在域中的倒数,需要将其表示成b=c*2
l
,其中c≤2
f
。接着直接对明文b计算以2为底的对数得到l=log
2 b,进一步计算c=b/2
l
。此时定义inverse=2
f
/c,trunc
bits
=f l。
[0035]
(2.2)利用上述计算得到的中间结果,计算[x]*inverse,并调用协议div2mp截断trunc
bits
个比特,得到最终结果[y]=[x]/b。
[0036]
(3)各参与方执行密态除法时,执行以下步骤:
[0037]
(3.1)在离线阶段,各参与方首先共同生成随机数r的秘密分享[r]
i
∈f
p
,用于在后续计算中盲化私密数据。
[0038]
(3.2)由bgw协议提供的乘法方案,计算密文乘法[c]=[y]*[r],并对结果解密出明文数据c。接着对明文c截断2f个比特,得到c

=c/2
2f

[0039]
(3.3)再利用本发明中提供的明文除法协议,计算得出[z

]=constantdiv([x],
c

)。
[0040]
(3.4)由z=x/(y*r)*r,可以最后计算出最终结果[z]=[z

]*[r]。同样地,由于在进行乘法操作后,精度会翻倍,所以仍需调用div2mp协议对[z

]*[r]进行截断,即[z]=div2mp([z

]*[r],k f,f)。
[0041]
通过本发明提出的数学计算协议的优化方法,各参与方可以在不暴露各自隐私数据的情况下,安全高效地协同运算出常数除法、密态除法的计算结果。
[0042]
算法伪代码见附录1、2。
[0043]
附录1:
[0044]
安全常数除法协议
[0045][0046][0047]
附录2:
[0048]
安全密态除法协议
[0049][0050]
参考文献
[0051]
[1]a.c.yao,"protocols for secure computations,"23rd annual symposium on foundations of computer science(sfcs 1982),1982,pp.160

164.
[0052]
[2]shamir,a.(1979).how to share a secret.communications of the acm,22(11),612

613.
[0053]
[3]ben

or,m.,goldwasser,s.,&wigderson,a.(2019).completeness theorems for non

cryptographic fault

tolerant distributed computation.in providing sound foundations for cryptography:on the work of shafi goldwasser and silvio micali(pp.351

371).。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜