CN114444069A - 一种恶意模型下高效的阈值安全多方计算方法 - Google Patents
一种恶意模型下高效的阈值安全多方计算方法 Download PDFInfo
- Publication number
- CN114444069A CN114444069A CN202111551172.4A CN202111551172A CN114444069A CN 114444069 A CN114444069 A CN 114444069A CN 202111551172 A CN202111551172 A CN 202111551172A CN 114444069 A CN114444069 A CN 114444069A
- Authority
- CN
- China
- Prior art keywords
- participant
- secret
- participants
- shares
- share
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种恶意模型下高效的阈值安全多方计算方法,其步骤包括:预处理阶段,每一参与方选取秘密信息a、b、全局密钥α以及随机数r的秘密份额,广播各秘密份额的密文;每个参与方生成乘法三元组<a>,<b>,<ab>和r的认证阈值秘密份额<r>;在线阶段1:针对参与方的输入xi,响应的参与方共同消耗一<r>与参与方运算得到r;全体参与方计算得到xi的份额<xi>;在线阶段2:每个参与方对各自持有的认证阈值秘密份额<x>,<y>求和;响应的参与方共同消耗一乘法三元组协同打开并认证d=<x‑a>和e=<y‑b>,每个参与方对各自<x>、<y>进行更新;在线阶段3:响应的参与方广播各自计算的认证秘密份额,诚实的参与方根据收到的份额恢复正确的计算结果。
Description
技术领域
本发明属于计算机应用技术领域,尤其涉及一种恶意模型下高效的阈值安全多方计算方法。
背景技术
安全多方计算(Multi-Party Computation,MPC)协议允许一组互不信任的参与方(且没有可信第三方)以各自的秘密为输入联合完成某个事先约定好的函数计算,保证了各个参与方除计算结果外无法获得其他任何信息,在技术层面上真正实现了数据的可用不可见。安全多方计算的思想由姚期智院士在1982年提出,在提出之后的20年内,MPC协议还只停留在理论研究。直到21世纪,协议的不断改进才让使用一般电路的MPC构建具体的隐私保护应用系统成为可能。MPC协议的经典应用场景包括:安全拍卖、电子投票、隐私保护的机器学习以及隐私保护基因工程等。
简单回顾一下,传统MPC将参与方全体划分为诚实的参与方和被敌手攻陷的参与方,然后按照攻陷参与方的行为划分为半诚实的和恶意的。其中,半诚实模型是指攻陷参与方会诚实地执行协议,但可能会尝试从其他参与方接收到的消息尽可能获得更多的信息(当然多个攻陷参与方可以合谋)。恶意模型是指攻陷参与方任意偏离协议规则执行协议,以破坏协议的安全性。例如在基于秘密分享的MPC中,提供错误的打开值的秘密份额,使得诚实参与方计算的并不是事先约定好的函数;或者最后输出时,提供错误的秘密份额,使得诚实参与方接受错误的函数计算结果。因此,抗恶意安全的MPC协议的一般设计思想是认证参与方在每一轮中的行为,一旦发现错误,直接中止协议。
这种思想允许了敌手做恶意的行为(如发送错误的信息或者不响应),使得协议直接中止,即整个协议无法实现输出交付保证(Guaranteed Output Delivery)。这种协议在很多应用中是不适用的,例如基于权益证明(Proof of Stake,POS)的区块链。区块链需要具有活性(Liveness),即在一定的时间内,会有一个唯一的秘密领导人(Leader)被选定作为下一个区块的发布者,因此需要设计一个单一的秘密领导人选举协议,这个协议要求满足输出交付保证,即不能被敌手一直恶意中止,使得没有领导人被选出来。
此外,在阈值MPC中,本发明希望从恶意的参与方中分割出不响应的参与方。换句话说,诚实的参与方在协议执行中可能会离线(由于断开网络连接或在进行其他计算任务而不响应),但并不代表它会和其他攻陷参与方合谋。
绝大部分的MPC应用场景希望直接计算大整数或者模素数p上的算术电路,这是因为算术电路的表示比在布尔电路上进行按比特位操作要简单得多。现有的MPC设计框架分为:基于混淆电路(Garbled Circuit,GC)和基于秘密分享(Secret Sharing,SS)两种。本发明专注于后一种基于秘密分享的,因为它是目前针对算术电路最高效的(尽管基于算术的混淆电路有了一些理论上的提升)。另一方面,本发明的目标是恶意模型下扩展性能比较好的MPC系统,这里的扩展性能是指协议的开销随着参与方数量的增加不会膨胀地过快,如呈线性关系,因此,本发明专注于改进恶意模型下基于秘密分享的经典方案SPDZ,得到本发明高效的支持算术电路的阈值MPC协议。
发明内容
本发明设计了一种恶意模型下高效的阈值安全多方计算方法,它支持一般的算术电路。本发明的协议运行中只要一定数量的参与方诚实地响应,那么事先约定好的函数计算的结果一定会正确地输出。
本发明设计了一种阈值MPC协议,假设参与方全体的数量为n,攻陷参与方的数量小于某个阈值t(则整个诚实参与方的数量大于等于n-t)。协议执行中只要诚实响应的参与方数量大于或等于阈值t,在常数轮的交互后,协议总能够输出正确的函数计算结果。
本发明的技术方案为:
一种恶意模型下高效的阈值安全多方计算方法,其步骤包括:
预处理阶段:
每一参与方Pi选取秘密信息a的秘密份额ai、秘密信息b的秘密份额bi、全局密钥α的秘密份额αi以及随机数r的秘密份额ri,广播ai、bi、αi、ri对应的同态密文;
每个参与方Pi在本地进行同态计算和阈值解密,生成乘法三元组<a>,<b>,<ab>和随机数r的认证阈值秘密份额<r>;其中,i=1,…n,n为参与方总数;
在线阶段1:
针对每个参与方Pi的输入xi,响应的参与方{Pj}j=1,…,m共同消耗一个认证阈值秘密份额<r>与参与方Pi进行运算,使得参与方Pi得到所述随机数r;然后全体参与方{Pi}i=1,…n计算得到xi对应的认证阈值秘密份额<xi>;其中,m≤n;
在线阶段2:
每个参与方Pi对各自持有的认证阈值秘密份额<x>,<y>进行本地求和:<x+y>=<x>+<y>;其中,<x>为输入x对应的认证阈值秘密份额,<y>为输入y对应的认证阈值秘密份额;x,y为参与方Pi进行本地计算的电路门的两条输入导线输入信息;
响应的参与方{Pj}j=1,…,m共同消耗一个乘法三元组<a>,<b>,<ab>,协同打开并认证d=<x-a>和e=<y-b>,每个参与方Pi对各自持有的认证阈值秘密份额<x>、<y>进行本地更新:<x·y>=<ab>+d<b>+e<a>+de;
在线阶段3:
响应的参与方{Pj}j=1,…,m广播各自计算的认证秘密份额,诚实的参与方根据收到的所述认证秘密份额本地恢复正确的计算结果。
进一步的,全体参与方{Pi}i=1,…n计算得到xi对应的认证阈值秘密份额<xi>的方法为:参与方Pi得到所述随机数r后广播xi-r,各个参与方用认证阈值秘密份额<r>和xi-r本地计算得到xi的认证阈值秘密份额<xi>。
进一步的,所述预处理阶段,每一参与方Pi广播ai、bi、αi、ri对应的同态密文,并附上所述同态密文正确性和对应明文知识的零知识证明。
进一步的,所述乘法三元组<a>,<b>,<ab>为Beaver乘法三元组。
进一步的,在线阶段2中,全体参与方{Pi}i=1,…n计算得到xi对应的认证阈值秘密份额<xi>的方法为:通过属于参与方Pi的输入导线,各个参与方得到一个随机的可认证阈值秘密份额<r>={r1,…rn;(αr)1,…,(αr)n};当参与方Pi通过自己的输入导线输入xi后,参与方Pi向其他所有参与方广播δ=xi-r;每个参与方更新自己的秘密份额为(δ,[r]),其对应的可认证秘密份额<xi>为{(δ,[r]);α1δ+(αr)1,…,αnδ+(αr)n}。
进一步的,所述认证阈值秘密份额<x>={(δ1,[r1]);α1δ1+(αr1)1,…,αnδ1+(αr1)n},所述认证阈值秘密份额<y>={(δ2,[r2]);α1δ2+(αr2)1,…,αnδ2+(αr2)n};其中,δ1+r1=x,δ2+r2=y。
进一步的,协同打开并认证打开值d=<x-a>、打开值e=<y-b>的方法,以d为例:
本发明设计的阈值MPC协议分为预处理阶段和尤其高效的在线阶段。在线阶段是信息论安全的,而预处理阶段是基于阈值类同态加密方案的,是计算安全的。事实上,本发明扩展了Brakerski等人的类同态加密方案,允许进行阈值解密且在一个密文中并行处理多个明文值。由于在线阶段不涉及公钥操作,所以当选定函数计算的输入后,协议的运行尤其高效。
与现有技术相比,本发明的积极效果为:
本发明能够在允许攻陷参与方进行任意偏离协议规范的恶意模型下,高效地实现安全多方计算结果的正确性和诚实参与方输入的隐私性,甚至保证了敌手不能恶意地中止协议。
附图说明
图1为本发明的整体方法流程图。
具体实施方式
下面对本发明进行进一步详细描述。
本发明包括预处理阶段和尤其高效的在线阶段:
1.预处理阶段:本发明扩展了Brakerski等人的类同态加密方案,允许进行阈值解密,方法整体描述如下:
(1)预处理阶段1
每个参与方Pi,其中1≤i≤n,独立随机地选取a,b的秘密份额ai,bi和全局密钥α的秘密份额αi,其中a=a1+…+an,b=b1+…+bn,α=α1+…αn,广播对应的同态密文(Enc(ai),Enc(bi),Enc(αi))。
(2)预处理阶段2
参与方Pi同态计算(Enc(a),Enc(b),Enc(αa),Enc(αb),Enc(ab),Enc(αab));参与方Pi对上述密文进行阈值解密得到a,b,ab,αa,αb,αab的阈值秘密份额,即在线阶段进行一次乘法门需要消耗的Beaver乘法三元组<a>,<b>,<ab>。
同理,可以生成在线阶段认证每个参与方Pi的输入xi(其中1≤i≤n)需要消耗的随机数r的认证阈值秘密份额<r>。
2.在线阶段:本发明扩展了SPDZ的在线阶段,方法整体描述如下:
(1)在线阶段1
针对每个参与方Pi(1≤i≤n)的输入xi,响应的参与方{Pj}j=1,…,m(m≤n)共同消耗1个预处理阶段得到的随机数r的认证阈值秘密份额<r>,之后,全体参与方{Pi}i=1,…n得到xi对应的认证阈值秘密份额<xi>。描述如下:
对于属于参与方Pi的输入导线i,在线阶段的各个参与方消耗1个预处理阶段得到的随机数r的认证阈值秘密份额<r>,由一组阈值数量的响应参与方帮助Pi打开r,即响应的参与方将自己持有的秘密份额发送到Pi,Pi在本地恢复r。然后Pi广播xi-r,各个参与方用<r>和xi-r本地计算xi的认证阈值秘密份额<xi>。
(2)在线阶段2
当所有参与方的输入的认证阈值秘密份额都生成后,响应的参与方协同计算电路。一般的算术电路由加法门和乘法门组成,不失一般性,假定每个电路门的两条输入导线对应的值分别为x,y。其中,x,y可以是在线阶段1中认证过的参与方输入,也可以是上一层电路门运算的输出。具体如下:
·加法门:每个参与方Pi对各自持有的认证阈值秘密份额<x>,<y>进行本地求和:
<x+y>=<x>+<y>。
·乘法门:响应的参与方{Pj}j=1,…,m(m≤n)共同消耗1个预处理阶段得到的Beaver乘法三元组<a>,<b>,<ab>,协同打开并认证d=<x-a>和e=<y-b〉,然后,每个参与方Pi对各自持有的认证阈值秘密份额<x>,<y>进行本地更新:<x·y>=<ab>+d<b>+e<a>+de。最后输出时,响应的参与方提供自己的认证秘密份额,诚实的参与方恢复正确的函数计算结果。
(3)在线阶段3
响应的参与方{Pj}j=1,…,m(m≤n)提供各自关于算术电路输出的认证阈值秘密份额,诚实的参与方本地恢复正确的算术电路输出,即正确的函数计算结果。
值得注意的是,本发明的预处理阶段与待计算的函数以及各参与方的输入完全无关,仅为在线阶段产生计算耗材,包括乘法门所需的Beaver三元组<a>,<b>,<ab>和认证各参与方的输入所需的随机数认证阈值秘密份额<r>。在线阶段开始时,各参与方选定各自的隐私输入,共同决定计算函数。显然,在线阶段是信息论安全的,而基于阈值类同态加密方案的预处理阶段是计算安全的。
本发明预处理阶段和在线阶段具体分析如下:
1.计算安全的预处理阶段
毫无疑问,全同态加密可以帮助实现支持任意算术电路的安全多方计算。但是,当恶意敌手存在时,则需要借助零知识证明技术保证每个参与方提供的密文的正确性,这些证明的代价相对于信息论安全的MAC较高。另外,全同态加密方案一般是通过层次型(支持有限电路深度的)同态加密和自举算法结合得到,随着计算电路深度的增加,全同态加密方案的参数以及计算代价会快速膨胀。已知构造NP语言的零知识证明和公钥加密至少需要单向函数,即依赖于公钥密码学中的计算困难假设,因此,这些方案只能是计算安全的,且为了协议的效率,本发明尽可能地减少这些公钥操作的数量。
本发明延续SPDZ的思想,将这些公钥操作放在安全多方计算的预处理阶段,用来生成在线阶段需要的计算耗材。另一方面,本发明扩展了底层的类同态加密方案,使得其支持阈值为t的解密(任意1≤t≤n)。
预处理阶段由多个参与方P1,…,Pn协同进行,输出为:1)为在线阶段认证每个参与方的输入导线提供随机数r的认证秘密分享<r>={r1,…rn;(αr)1,…,(αr)n},2)为在线阶段每次乘法门运算提供Beaver随机数三元组(<a>,<b>,<ab>)。值得注意地是,预处理阶段的参与方与在线阶段的参与方不必相同,即由预处理阶段的参与方使用PKI向在线阶段的参与方进行安全的秘密份额转交,因此,预处理阶段和在线阶段是可以并行的。
本发明按照敌手的行为模型对预处理阶段进行阐述如下:
A.半诚实的敌手模型
(1)首先,参与方广播自己随机独立选取的a,b的秘密份额ai,bi和全局密钥α的秘密份额αi的同态加密。接着,只要底层的同态加密支持乘法深度为2,则参与方在本地对这些密文做同态加法和同态乘法,生成a,b,ab,αa,αb,αab的密文。
(2)在阈值同态加密中,密钥生成算法输出(sk1,…,skn,pk),其中(sk,pk)←KeyGen(1λ),(sk1,…,skn)←SecretShare(sk),即sk1,…,skn是公钥pk对应的私钥sk的阈值为t的秘密分享。最后,每个参与方用自己持有的ski对上述同态计算完的密文进行阈值解密,得到的是a,b,ab,αa,αb,αab阈值加法秘密分享。当然,本发明可以延续SPDZ的思想,扩展阈值解密对αb的密文进行误差控制,得到新鲜的密文,然后再与α的密文进行同态乘法运算,这样本发明底下的同态加密方案只需支持乘法深度为1的电路即可,可以进一步降低方案的参数。
B.恶意的敌手模型
(1)首先,本发明要保证攻陷参与方提供的密文是正确的且与诚实参与方的输入无关,因此,要求每个参与方提供自己独立随机选取的ai,bi,αi的同态密文时,附上明文知识(即ai,bi,αi)的零知识证明和密文正确性的零知识证明。
(2)接着,阈值解密其实允许敌手增加误差e,即参与方获得的乘法三元组为<a>,<b>,<ab+e>。这里,引入了SPDZ的牺牲,牺牲一个三元组去保证在线阶段真实使用的三元组的正确性。考虑两组可能有误差的三元组<a>,<b>,<ab+e>和<f>,<g>,<fg+e′>,随机地选择打开一个元素[t],由于t(ab+e)-(fg+e′)-(ta-f)b-f(b-g)=te-e′,打开[ta-f]和[b-g],每个参与方可以本地计算<te-e′>。然后,参与方共同打开te-e′,由于随机选的元素t=e′/e的概率是可忽略的,且MAC保证了打开值的正确性,所以,如果打开值等于0,则说明e=0且e′=0。
2.信息论安全的在线阶段
给定域F中元素v,记[v]表示各个参与方持有v的阈值秘密份额。具体地,某一参与方Pi首先选择一个阶最高为t-1的域F上的随机多项式pv,令pv(0)=v,然后分发给每个参与方Pj(其中1≤j≤n)关于v的阈值秘密份额是pv(j)。本发明称t为秘密分享的阈值,即任意t-1个秘密份额不会泄露与v相关的任何信息,任意大于等于t个正确的秘密份额可以完整地恢复v。
本发明按照敌手的行为模型对在线阶段进行阐述如下:
A.半诚实的敌手模型
(1)生成每个参与方输入的秘密份额
对于属于参与方Pi的输入导线,各个参与方可以得到一个随机数r的阈值秘密份额[r],秘密份额[r]对于除Pi的所有参与方来说都是随机的,只有Pi知道r。在协议执行过程中,当Pi为此条输入导线选择好输入值x后,Pi可以向其他所有参与方广播δ=x-r,这并不会泄露x的任何信息。每个参与方更新自己的秘密份额为(δ,[r]),显然(δ,[r])为x的阈值秘密份额。
(2)各参与方协同计算任意的算术电路
一般的算术电路由加法门和乘法门组成,不失一般性,假定每个电路门的两条输入导线对应的值分别为x,y。其中,x,y可以是在线阶段1中认证过的参与方输入,也可以是上一层电路门运算的输出。
记参与方共同持有x,y的阈值秘密份额为[x],[y],Beaver乘法三元组为([a],[b],[ab])。设输入x的阈值秘密份额为[x]=(δ1,[r1]),输入y的阈值秘密份额为[y]=(δ2,[r2]),其中δ1+r1=x,δ2+r2=y,算术电路的运算具体描述如下:
·加法门:每个参与方在本地计算(δ1+δ2,[r1]+[r2]=[r1+r2])。由于[r1+r2]为x+y-(δ1+δ2)的阈值秘密份额,显然,(δ1+δ2,[r1]+[r2])为x+y的阈值秘密份额。
·乘法门:每个参与方希望更新xy的阈值秘密份额为(δ1δ2,[r1r2+δ1r2+δ2r1])。显然,[r1r2+δ1r2+δ2r1]=[r1r2]+δ1[r2]+δ2[r1]。计算[r1r2]调用原始的乘法门(即需要一轮通信和一组Beaver随机数三元组([a],[b],[ab])):打开d=r1-a,e=r2-b,有[r1r2]=[(r1-a+a)(r2-b+b)]=(de,d[b]+e[a]+[ab]),则xy的阈值秘密份额为(δ1δ2+de,δ1[r2]+δ2[r1]+d[b]+e[a]+[ab])。
(3)各参与方协同恢复正确的算术电路输出
参与方{Pi}i=1,…,n提供各自关于算术电路输出的阈值秘密份额,诚实的参与方本地恢复正确的算术电路输出,即正确的函数计算结果。
B.恶意的敌手模型
针对恶意的敌手行为,本发明延续SPDZ的核心思想:采用信息论安全的消息认证码(Message Authentication Code,MAC),使用一个全局MAC密钥α,这个全局Mac密钥同样由n个参与方共同持有,满足阈值秘密分享,即[α]={α1,…,αn}。这里,记输入x的可认证阈值秘密份额为<x>={x1,…xn;(αx)1,…,(αx)n},其中x1,…xn构成x的阈值秘密分享,(αx)1,…,(αx)n构成αx的阈值秘密分享。
(1)在线阶段1(生成每个参与方输入的认证阈值秘密份额)
对于属于参与方Pi的输入导线,各个参与方可以得到一个随机的可认证阈值秘密份额<r>={r1,…rn;(αr)1,…,(αr)n},秘密份额[r]={r1,…,rn}对于除Pi的所有参与方来说都是随机的,只有Pi知道r。在协议执行过程中,当Pi为此条输入导线选择好自己的输入值x后,Pi可以向其他所有参与方广播δ=x-r,这并不会泄露x的任何信息。每个参与方更新自己的秘密份额为(δ,[r]),其对应的可认证秘密份额应该为{(δ,[r]);α1δ+(αr)1,…,αnδ+(αr)n}。
(2)在线阶段2(响应的参与方协同计算任意的算术电路)
算术电路由加法门和乘法门组成,不失一般性,假定每个电路门的两条输入导线对应的值分别为x,y。其中,x,y可以是在线阶段1中认证过的参与方输入,也可以是上一层电路门运算的输出。
记参与方共同持有x,y的认证阈值秘密份额为<x>,<y>。设输入x的认证阈值秘密份额为<x>={(δ1,[r1]);α1δ1+(αr1)1,…,αnδ1+(αr1)n},输入y的认证阈值秘密份额为<y>={(δ2,[r2]);α1δ2+(αr2)1,…,αnδ2+(αr2)n},其中δ1+r1=x,δ2+r2=y,算术电路的运算具体描述如下:
·认证的加法门:每个参与方Pi在本地计算:{(δ1+δ2,[r1]+[r2]);α1δ1+(αr1)1+α1δ2+(αr2)1,…,αnδ1+(αr1)n+αnδ2+(αr2)n}。
·认证的乘法门:
1)如果d和e的打开正确:则xy的秘密份额为(δ1δ2+de,δ1[r2]+δ2[r1]+d[b]+e[a]+[ab]),其认证的秘密份额应该为:
{(δ1δ2+de,δ1[r2]+δ2[r1]+d[b]+e[a]+[ab]);
α1(δ1δ2+de)+δ1(αr2)1+δ2(αr1)1+d(αb)1+e(αa)1+(αab)1,…,αn(δ1δ2+de)+δ1(αr2)n+δ2(αr1)n+d(αd)n+e(αa)n+(αab)n}。
2)验证打开值d,e的正确性:如(1)所示,每个乘法门的运算需要打开两个值d,e,当且仅当d,e的打开是正确的,诚实参与方根据d,e在本地对持有的秘密份额的更新操作才是正确的。这就引导出一个问题:如何验证d,e打开的正确性,同时不泄露全局Mac密钥α。
下面将具体描述本发明的解决方案:
首先,回顾一下SPDZ原始的思想:将整个MPC协议运行中所有中间打开值的正确性的验证推迟到函数结果输出之前一次进行。即当且仅当所有中间公开的值的正确性验证通过后,参与方才打开自己持有的认证秘密份额。流程如下:1)所有参与方对自己持有的打开值的MAC值的秘密分享和MAC密钥的秘密分享进行承诺,如Com((αd)i;αi),同时对自己持有的输出导线对应的值y的秘密分享及其MAC值的秘密分享进行承诺,如Com(yi;(αy)i)。2)参与方共同释放打开值的MAC值的承诺,验证∑(αd)i=d∑αi是否成立。3)如果成立,再打开Com(yi;(αy)i);并验证∑(αy)i=∑yi∑αi是否成立。如果成立,诚实的参与方接收∑yi作为函数的输出值,否则,可能敌手获得了函数输出,而诚实的参与方没有。
接着,介绍本发明的阈值MPC要求:如果n个参与方中至少有t个参与方诚实地执行协议,则诚实的参与方能够获得正确的函数计算结果。换句话说,诚实的参与方在MPC协议执行每次乘法运算时,必须获得正确的打开值,并用该打开值去更新其本地持有的秘密份额。假设打开阶段响应的参与方数量为m,t≤m≤n,打开值的候选数量为显然,如果诚实方无法在这一轮认证唯一的正确打开值,而是延续SPDZ的思想将打开值的正确性认证放在最后输出前,为了确保能够输出正确的函数计算结果,则必须每一层乘法运算时,诚实参与方用所有的打开值的候选去更新其本地持有的秘密份额,即得到xy的全体候选值的秘密份额(打开一个值的候选的计算代价为O(t),假设m=t+1,其中一个是恶意的敌手,打开该值的全体候选共t+1个的代价为O(t2)),一次乘法运算需要打开两个值d,e,如果d,e的全体候选数量至少为t+1,则xy的全体候选值至少为O(t2)。那么深度为2的乘法门的输出的候选值可能有O(t4),显然,如果上一层乘法运算没有认证打开值的正确性,会导致诚实参与方在下一层乘法运算时的计算开销大大增加,且最终输出的打开值的候选也会大幅增多。因此,本发明希望诚实参与方实时地对打开值的正确性进行认证,然后选择正确的打开值去更新其本地持有的秘密份额。
但是,SPDZ原始的打开全局MAC密钥进行认证的方式是不可取的,因为一旦获取MAC密钥,敌手就能对接下来的秘密份额的打开进行伪造。
本发明提出的解决方法为3轮交互的子协议,可用于在不泄露全局MAC密钥的前提下对打开值的正确性进行认证,不失一般性,以某一中间打开值d具体描述如下:
b)每个参与方Pi本地计算随后广播{αidj-(αd)i}的承诺值,即com({αidj-(αd)i})。注意,这里的承诺方案必须是非同态的,即不允许敌手看到其他参与方的输入的承诺值,再选择相关的输入的承诺值。
(3)在线阶段3(响应的参与方协同恢复正确的算术电路输出)
响应的参与方{Pi}i=1,…,m(m≤n)提供各自关于算术电路输出的认证阈值秘密份额,诚实的参与方本地恢复正确的算术电路输出,即正确的函数计算结果。
尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (7)
1.一种恶意模型下高效的阈值安全多方计算方法,其步骤包括:
预处理阶段:
每一参与方Pi选取秘密信息a的秘密份额ai、秘密信息b的秘密份额bi、全局密钥α的秘密份额αi以及随机数r的秘密份额ri,广播ai、bi、αi、ri对应的同态密文;
每个参与方Pi在本地进行同态计算和阈值解密,生成乘法三元组<a>,<b>,<ab>和随机数r的认证阈值秘密份额<r>;其中,i=1,…n,n为参与方总数;
在线阶段1:
针对每个参与方Pi的输入xi,响应的参与方{Pj}j=1,…,m共同消耗一个认证阈值秘密份额<r>与参与方Pi进行运算,使得参与方Pi得到所述随机数r;然后全体参与方{Pi}i=1,…n计算得到xi对应的认证阈值秘密份额<xi>;其中,m≤n;
在线阶段2:
每个参与方Pi对各自持有的认证阈值秘密份额<x>,<y>进行本地求和:<x+y>=<x>+<y>;其中,<x>为输入x对应的认证阈值秘密份额,<y>为输入y对应的认证阈值秘密份额;x,y为参与方Pi进行本地计算的电路门的两条输入导线输入信息;
响应的参与方{Pj}j=1,…,m共同消耗一个乘法三元组<a>,<b>,<ab>,协同打开并认证d=<x-a>和e=<y-b>,每个参与方Pi对各自持有的认证阈值秘密份额<x>、<y>进行本地更新:<x·y>=<ab>+d<b>+e<a>+de;
在线阶段3:
响应的参与方{Pj}j=1,…,m广播各自计算的认证秘密份额,诚实的参与方根据收到的所述认证秘密份额本地恢复正确的计算结果。
2.根据权利要求1所述的方法,其特征在于,全体参与方{Pi}i=1,…n计算得到xi对应的认证阈值秘密份额<xi>的方法为:参与方Pi得到所述随机数r后广播xi-r,各个参与方用认证阈值秘密份额<r>和xi-r本地计算得到xi的认证阈值秘密份额<xi>。
3.根据权利要求1所述的方法,其特征在于,所述预处理阶段,每一参与方Pi广播ai、bi、αi、ri对应的同态密文,并附上所述同态密文正确性和对应明文知识的零知识证明。
4.根据权利要求1或2或3所述的方法,其特征在于,所述乘法三元组<a>,<b>,<ab>为Beaver乘法三元组。
5.根据权利要求1或2或3所述的方法,其特征在于,在线阶段2中,全体参与方{Pi}i=1,…n计算得到xi对应的认证阈值秘密份额<xi>的方法为:通过属于参与方Pi的输入导线,各个参与方得到一个随机的可认证阈值秘密份额<r>={r1,…rn;(ar)1,…,(ar)n};当参与方Pi通过自己的输入导线输入xi后,参与方Pi向其他所有参与方广播δ=xi-r;每个参与方更新自己的秘密份额为(δ,[r]),其对应的可认证秘密份额<xi>为{(δ,[r]);α1δ+(ar)1,…,αnδ+(ar)n}。
6.根据权利要求5所述的方法,其特征在于,所述认证阈值秘密份额<x>={(δ1,[r1]);α1δ1+(αr1)1,…,αnδ1+(αr1)n},所述认证阈值秘密份额<y>={(δ2,[r2]);α1δ2+(αr2)1,…,αnδ2+(αr2)n};其中,δ1+r1=x,δ2+r2=y。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111551172.4A CN114444069B (zh) | 2021-12-17 | 2021-12-17 | 一种恶意模型下高效的阈值安全多方计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111551172.4A CN114444069B (zh) | 2021-12-17 | 2021-12-17 | 一种恶意模型下高效的阈值安全多方计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114444069A true CN114444069A (zh) | 2022-05-06 |
CN114444069B CN114444069B (zh) | 2023-04-07 |
Family
ID=81363753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111551172.4A Active CN114444069B (zh) | 2021-12-17 | 2021-12-17 | 一种恶意模型下高效的阈值安全多方计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114444069B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865311A (zh) * | 2022-09-16 | 2023-03-28 | 河南理工大学 | 一种高效恒定轮次安全多方计算协议的优化方法和系统 |
CN116938455A (zh) * | 2023-09-15 | 2023-10-24 | 山东师范大学 | 基于秘密分享大小比较的数据处理方法及系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449177B1 (en) * | 2013-03-13 | 2016-09-20 | Hrl Laboratories, Llc | General protocol for proactively secure computation |
CN110557245A (zh) * | 2018-06-04 | 2019-12-10 | 罗伯特·博世有限公司 | 用于spdz的容错和安全多方计算的方法和系统 |
CN110800252A (zh) * | 2019-03-18 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 防止安全多方计算中参与者错误表示输入数据 |
US20200228325A1 (en) * | 2017-12-14 | 2020-07-16 | Robert Bosch Gmbh | Method for Faster Secure Multiparty Inner Product with SPDZ |
CN111813544A (zh) * | 2020-06-19 | 2020-10-23 | 华控清交信息科技(北京)有限公司 | 计算任务的处理方法、装置、调度及管理系统和介质 |
CN111832074A (zh) * | 2020-07-14 | 2020-10-27 | 西安电子科技大学 | 基于spdz安全多方计算的安全验证协作学习方法及系统 |
CN112149160A (zh) * | 2020-08-28 | 2020-12-29 | 山东大学 | 基于同态伪随机数的联邦学习隐私保护方法及系统 |
CN112631552A (zh) * | 2020-12-31 | 2021-04-09 | 中国科学院信息工程研究所 | 基于不均匀随机源的随机数生成、再生方法及电子装置 |
CN112865953A (zh) * | 2021-02-01 | 2021-05-28 | 浙江大学 | 基于辅助服务器的安全多方计算方法、装置和系统 |
CN112889047A (zh) * | 2018-10-04 | 2021-06-01 | 维萨国际服务协会 | 利用多个装置以增强生物计量认证安全 |
CN113111373A (zh) * | 2021-05-13 | 2021-07-13 | 北京邮电大学 | Vbft共识机制的随机数生成方法和共识机制系统 |
CN113169859A (zh) * | 2019-04-05 | 2021-07-23 | 谷歌有限责任公司 | 用于保护隐私的方法 |
CN113507374A (zh) * | 2021-07-02 | 2021-10-15 | 恒生电子股份有限公司 | 门限签名方法、装置、设备以及存储介质 |
-
2021
- 2021-12-17 CN CN202111551172.4A patent/CN114444069B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449177B1 (en) * | 2013-03-13 | 2016-09-20 | Hrl Laboratories, Llc | General protocol for proactively secure computation |
US20200228325A1 (en) * | 2017-12-14 | 2020-07-16 | Robert Bosch Gmbh | Method for Faster Secure Multiparty Inner Product with SPDZ |
CN110557245A (zh) * | 2018-06-04 | 2019-12-10 | 罗伯特·博世有限公司 | 用于spdz的容错和安全多方计算的方法和系统 |
CN112889047A (zh) * | 2018-10-04 | 2021-06-01 | 维萨国际服务协会 | 利用多个装置以增强生物计量认证安全 |
CN110800252A (zh) * | 2019-03-18 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 防止安全多方计算中参与者错误表示输入数据 |
CN113169859A (zh) * | 2019-04-05 | 2021-07-23 | 谷歌有限责任公司 | 用于保护隐私的方法 |
CN111813544A (zh) * | 2020-06-19 | 2020-10-23 | 华控清交信息科技(北京)有限公司 | 计算任务的处理方法、装置、调度及管理系统和介质 |
CN111832074A (zh) * | 2020-07-14 | 2020-10-27 | 西安电子科技大学 | 基于spdz安全多方计算的安全验证协作学习方法及系统 |
CN112149160A (zh) * | 2020-08-28 | 2020-12-29 | 山东大学 | 基于同态伪随机数的联邦学习隐私保护方法及系统 |
CN112631552A (zh) * | 2020-12-31 | 2021-04-09 | 中国科学院信息工程研究所 | 基于不均匀随机源的随机数生成、再生方法及电子装置 |
CN112865953A (zh) * | 2021-02-01 | 2021-05-28 | 浙江大学 | 基于辅助服务器的安全多方计算方法、装置和系统 |
CN113111373A (zh) * | 2021-05-13 | 2021-07-13 | 北京邮电大学 | Vbft共识机制的随机数生成方法和共识机制系统 |
CN113507374A (zh) * | 2021-07-02 | 2021-10-15 | 恒生电子股份有限公司 | 门限签名方法、装置、设备以及存储介质 |
Non-Patent Citations (2)
Title |
---|
熊露: "基于属性加密的访问结构隐藏技术研究" * |
窦家维 等: "高效的集合安全多方计算协议及应用" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865311A (zh) * | 2022-09-16 | 2023-03-28 | 河南理工大学 | 一种高效恒定轮次安全多方计算协议的优化方法和系统 |
CN115865311B (zh) * | 2022-09-16 | 2023-09-26 | 河南理工大学 | 一种恒定轮次安全多方计算协议的优化方法和系统 |
CN116938455A (zh) * | 2023-09-15 | 2023-10-24 | 山东师范大学 | 基于秘密分享大小比较的数据处理方法及系统 |
CN116938455B (zh) * | 2023-09-15 | 2023-12-12 | 山东师范大学 | 基于秘密分享大小比较的数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114444069B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684855B (zh) | 一种基于隐私保护技术的联合深度学习训练方法 | |
US11979507B2 (en) | Computer implemented method and system for transferring access to a digital asset | |
CN114444069B (zh) | 一种恶意模型下高效的阈值安全多方计算方法 | |
CN108667625B (zh) | 协同sm2的数字签名方法 | |
CN109547199B (zh) | 一种多方联合生成sm2数字签名的方法 | |
CN113591146A (zh) | 基于合作的高效安全两方计算系统及计算方法 | |
CN117118617B (zh) | 一种基于模分量同态的分布式门限加解密方法 | |
Wang et al. | Randchain: Practical scalable decentralized randomness attested by blockchain | |
Yang et al. | Efficient and secure federated learning with verifiable weighted average aggregation | |
CN113132104A (zh) | 一种主动安全的ecdsa数字签名两方生成方法 | |
Enos et al. | An ID-based signcryption scheme with compartmented secret sharing for unsigncryption | |
CN112152808B (zh) | 一种基于sm2算法的多方协同数字签名方法 | |
CN117353912A (zh) | 基于双线性映射的三方隐私集合交集基数计算方法及系统 | |
CN115473633B (zh) | 一种多方协同产生sm2数字签名的方法及装置 | |
CN110740034A (zh) | 基于联盟链的qkd网络认证密钥生成方法及系统 | |
Wong et al. | Secure Multiparty Computation of Threshold Signatures Made More Efficient | |
Steinwandt et al. | Attribute-based group key establishment | |
Wang et al. | A Signature Scheme Applying on Blockchain Voting Scene Based on the Asmuth-Bloom Algorithm | |
CN113486368A (zh) | 一种基于区块链技术的输入数据可信性验证方法及装置 | |
CN114358323A (zh) | 联邦学习环境中基于第三方高效皮尔森系数计算方法 | |
Li et al. | Completely anonymous certificateless multi-receiver signcryption scheme with sender traceability | |
Shin et al. | A verifier-based password-authenticated key exchange using tamper-proof hardware | |
Liu et al. | Secure judgment of point and line relationship against malicious adversaries and its applications | |
CN114337994A (zh) | 数据处理方法、装置及系统 | |
Wüller et al. | Privacy-preserving two-party bartering secure against active adversaries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |