Some Basic Protocol on BLAZE
Published:
关于安全三方计算中的一些基本协议
共享密钥设置
令是一个安全伪随机函数PRF,其值域
- 每个配对之间有一共享密钥,$k_{01}, k_{02}, k_{12}$相对应于$(P_0,P_1),(P_0,P_2),(P_1,P_2)$
- 三方之间共享一个密钥$k_{\mathcal{P}}$
若服务器$P_0,P_1$非交互的采样随机值,他们则调用函数 $ F_{k_{01}}(id_{01}) $,$id_{01}$是服务器每次调用PRF函数后在本地更新的计数器。这里省略选取随机数的密钥。
抗碰撞哈希函数
一个哈希函数簇,若对于所有概率多项式时间敌手,给定,其中,都存在一个可忽略的函数使得,这里。
承若方案
令是$x$的一个承诺方案,它包括两部分:隐藏和盲化。隐藏的功能让承若保证$x$值的隐私性,盲化则让敌手打开承若时不能区分。一般可以通哈希函数构造承若,其安全性依赖于随机语言机(ROM)的证明,比如。
乘法协议
共享的乘法协议,对于的定义如下:。同时给定和的共享计算的共享。
要验证这种方法,要使证明者P在零知识的情况下证明他知道$w$,并且。令是被验证者的电路,使得 当且仅当。两个验证者共享语句$x$,$x_1,x_2$分别对应,显然有。另外若,则$n = n_1 + n_2$,上的乘法门数有$M$。
证明者$P_0$选择三个多项式,分别是乘法门的左、右和输出电路。的常数项分别为环上的随机元素$z_1, z_2$,的常数项则为$z_1z_2$,更详细的如下。$P_0$对多项式进行插值计算,最多$M$次多项式,多项式最多是$2M$次。令是一个证明,其中是多项式$h()$的系数。证明的大小是,$s$是目击者的大小。$P_0$向提供加法共享给验证者,是。若$P_0$是诚实方,则和。
验证者$P_1,P_2$一起随机生成并生成相对应的查询向量。验证者$P_1,P_2$从$q_f,q_g,q_h$中构造三个查询向量。更进一步,相对应于多项式$f()$,验证者$P_1,P_2$从$q_f$中构建向量,这样,前$n_i$个位置被保留给对应于后面是$q_f$的$x_i$项。 然后,验证者$P_1,P_2$本地计算向量和点积并发送给$P_1$。一旦$P_1$接收到$f_i(r)$的共享就计算$f(r) = f_1(r) + f_2(r)$。这是由于每个查询向量定义了输入$x$和证明$\pi$的线形组合。因此,验证者用输入$x_i$和加法共享$\pi_i$的部分,形成查询答案的加法共享,这个答案在随机数$r$处评估的多项式。 相似的步骤,可以让$P_1$获得多项式$g(r),h(r)$,若,则$P_1$中止协议。若一个想作弊的验证者要通过验证的概率最大为,足够大的话,概率可以忽略不计。 对于第二个验证,即$h(M) = 0$,验证者用相同的方式生成查询向量$q$。对于的查询$Q^i$计算$h_i(M)$并发送$h(M)$的共享给$P_1$。若$h(M) \neq h_1(M) + h_2(M) = 0$,则$P_1$中止协议。这种查询采用了2轮的完全显性交互喻示器证明,查询复杂度为,其中$n$是输入的大小。
安全性
文章用标准现实/理想模型证明协议构造的安全性。令是现实世界的敌手,表示各方服务器中中的腐败方。用表示的理想世界的敌手(也就是模拟器),它是一个诚实方的服务器,模拟敌手在执行协议中收到的信息。仿真器初始化布尔变量,它表示诚实方服务器在协议执行期间是否出现中止操作。若协议中止,则。对于电路,仿真器从共享输入阶段开始,将诚实方输入设置为$0$。从共享协议,提取的输入,这使得或得电路的全部输入,这反过来有能让知道所有中间值和电路的输出。通过分别模拟参与方$P_0, P_1$的攻击行为,证明协议的安全性。
共享协议的理想功能实现 $P_0$为腐败方时仿真器执行协议 $P_1$为腐败方时仿真器执行协议