混淆电路论文学习笔记——part2

本文深入探讨混淆电路的三大安全性质:隐私性、不经意性和认证性,通过代码游戏阐述其定义和相互关系。隐私性分为不可区分和模拟两种角度,不经意性同样有不可区分和模拟之分,而认证性关注混淆方案的正确性。这些性质的证明通常借助于密码学的安全性归约方法,并通过边际信息函数来量化信息泄露。
摘要由CSDN通过智能技术生成

阅读论文(Foundation of Garbled Circuits)

一、往期回顾

混淆电路论文学习笔记——part1
part1已经简单介绍了混淆方案,电路,边际信息函数以及混淆方案的三个安全性质。接下来进一步介绍三个安全性质以及三个安全性之间的关系。

二、代码游戏

密码学安全性证明大多都是通过游戏归约的方式来进行证明的。因此这里先介绍一下代码游戏
游戏中一般包括三个可选程序,分别是初始化程序,交互程序,最终程序。
一般初始化程序最先执行,进行一系列初始化操作。并且它的输出(如果有输出的话)就是敌手 A \mathcal{A} A的输入(这个时候敌手可能正在和其他程序进行交互)。敌手可以进行产生问询。每次产生问询,交互程序就会启动,然后对敌手的问询进行答复。最终敌手给出一个输出,由最终程序来判断敌手是否在游戏中获胜。

三、隐私性、不经意性、认证性之间的关系

我们接下来从编码游戏的角度来理解这三个性质。下面所有游戏的初始化程序都是初始化一个挑战比特 b b b。最终程序都是检验敌手猜测的比特 b ′ b' b和初始化的挑战比特是否一致。接下来我们详细说明其中的交互程序。

1.隐私性

关于隐私性,我们一共有两种定义方式,一个是不可区分角度(indistinguish),一个是模拟器角度(simulation)。

1.1、不可区分隐私性

我们首先说不可区分角度的交互程序

  1. proc p r v i n d ( f 0 , f 1 , x 0 , x 1 ) : prv_{ind}(f_0,f_1,x_0,x_1): prvind(f0,f1,x0,x1):
  2. if Φ ( f 0 ) ≠ Φ ( f 1 ) \varPhi(f_0)\neq\varPhi(f_1) Φ(f0)=Φ(f1) then return false
  3. if f 0 ( x 0 ) ≠ f 1 ( x 1 ) f_0(x_0) \neq f_1(x_1) f0(x0)=f1(x1) then return false
  4. if x 0 . l e n g t h ( ) ≠ f 0 . n x_0.length() \neq f_0.n x0.length()=f0.n then retuen false
  5. ( F , e , d ) ← G b ( 1 k , f b ) (F,e,d) \leftarrow Gb(1^k,f_b) (F,e,d)Gb(1k,fb) X ← E n ( e , x b ) X \leftarrow En(e,x_b) XEn(e,xb)
  6. retuen ( F , X , d ) (F,X,d) (F,X,d)

代码解释: 这个不可区分角度隐私性游戏要求输入两对 f 0 , x 0 , f 1 , x 1 f_0,x_0,f_1,x_1 f0,x0,f1,x1,并且要求 f 0 ( x 0 ) = f 1 ( x 1 ) f_0(x_0) = f_1(x_1) f0(x0)=f1(x1)。第5行中下标b就是初始化程序选择的挑战比特,为0或者1。
程序理解: 这个游戏就是判断敌手是否能够通过返回的 ( F , X , d ) (F,X,d) (F,X,d)来判断该输出来自于哪一个 f , x f,x f,x

1.2、模拟隐私性

在模拟隐私性游戏中,有一个模拟器 ( S ) \mathcal(S) (S),模拟器的功能就是通过安全参数 k k k f f f泄露的信息 Φ ( f ) \varPhi(f) Φ(f),和计算结果 y y y来获得一个假的 ( F , X , d ) (F,X,d) (F,X,d).

  1. proc p r v s i m ( f , x ) : prv_{sim}(f,x): prvsim(fx):
  2. if x . l e n g t h ( ) ≠ f . n x.length() \neq f.n x.length()=f.n,then return false.
  3. if b=1 then ( F , e , d ) ← G b ( 1 k , f ) (F,e,d)\leftarrow Gb(1^k,f) (F,e,d)Gb(1k,f) X ← E n ( e , x ) X\leftarrow En(e,x) XEn(e,x)
  4. else ( F , X , d ) ← S ( 1 k , X , d ) (F,X,d)\leftarrow S(1^k,X,d) (F,X,d)S(1k,X,d)
  5. return (F,X,d).

程序理解: 该程序表示敌手输入 f , x f,x f,x,然后获得一个三元组 ( F , X , d ) (F,X,d) (F,X,d)。敌手能不能猜出结果是不是对应输入的 f , x f,x f,x

2、不经意性(obliviousness有的博客把这个翻译为茫然性)

2.1、不可区分不经意性
  1. proc o b v i n d ( f 0 , f 1 , x 0 , x 1 ) : obv_{ind}(f_0,f_1,x_0,x_1): obvind(f0,f1,x0,x1):
  2. if Φ ( f 0 ) ≠ Φ ( f 1 ) \varPhi(f_0)\neq\varPhi(f_1) Φ(f0)=Φ(f1) then return false
  3. if f 0 ( x 0 ) ≠ f 1 ( x 1 ) f_0(x_0) \neq f_1(x_1) f0(x0)=f1(x1) then return false
  4. ( F , e , d ) ← G b ( 1 k , f b ) (F,e,d) \leftarrow Gb(1^k,f_b) (F,e,d)Gb(1k,fb) X ← E n ( e , x b ) X \leftarrow En(e,x_b) XEn(e,xb)
  5. retuen ( F , X ) (F,X) (F,X)
    程序理解: 不可区分不经意性和不可区分隐私性类似。不同之处在于输入的 f 0 ( x 0 ) 与 f 1 ( x 1 ) f_0(x_0)与f_1(x_1) f0(x0)f1(x1)并不要求一定相等了。返回结果少了解码函数d。
2.2、模拟不经意性
  1. proc o b v s i m ( f , x ) : obv_{sim}(f,x): obvsim(fx):
  2. if x . l e n g t h ( ) ≠ f . n x.length() \neq f.n x.length()=f.n,then return false.
  3. if b=1 then ( F , e , d ) ← G b ( 1 k , f ) (F,e,d)\leftarrow Gb(1^k,f) (F,e,d)Gb(1k,f) X ← E n ( e , x ) X\leftarrow En(e,x) XEn(e,x)
  4. else ( F , X ) ← S ( 1 k , X , d ) (F,X)\leftarrow S(1^k,X,d) (F,X)S(1k,X,d)
  5. return (F,X).
    程序理解: 模拟不经意性相比于模拟隐私性来说,少返回了解码函数d。

3.认证性

  1. proc aut(f,x):
  2. if x . l e n g t h ( ) ≠ f . n x.length() \neq f.n x.length()=f.n,then return false
  3. ( F , e , d ) ← G b ( 1 k , f ) (F,e,d)\leftarrow Gb(1^k,f) (F,e,d)Gb(1k,f) X ← E n ( e , x ) X\leftarrow En(e,x) XEn(e,x)
  4. return (F,X)
    认证性的最终程序和上面两个少许不同,这里我们直接给出。
  5. proc finalize(Y):
  6. if D e ( d , Y ) = v a l i d De(d,Y) = valid De(d,Y)=valid and Y ≠ E v ( F , X ) Y \neq Ev(F,X) Y=Ev(F,X)*,then return ture
  7. *else return false

**代码理解:**认证性就是判断敌手在获得F,X的前提下能不能得到一个新的不同于F(X)的合法的Y。

4、边际信息函数

1、常见的集中边际信息函数

Φ c i r c ( f ) \varPhi_{circ}(f) Φcirc(f)表示泄露电路 f f f的全部信息
Φ s i z e ( f ) \varPhi_{size}(f) Φsize(f)表示泄露电路 f f f ( n , m , q ) (n,m,q) (n,m,q)
Φ t o p o ( f ) \varPhi_{topo}(f) Φtopo(f)表示泄露电路 f f f的拓扑结构

2、边际信息函数 Φ \varPhi Φ的逆。

定义:边际函数 Φ ( f ) \varPhi(f) Φ(f)的逆函数 Φ − i n v e r t e r ( ) \varPhi-inverter() Φinverter()的输入是 ϕ \phi ϕ,输出是 Φ \varPhi Φ函数的原项 f f f,即 Φ ( f ) = ϕ \varPhi(f) = \phi Φ(f)=ϕ
定义:如果对于特定的求值函数 e v ev ev,我们也可以定义 ( Φ , e v ) − i n v e r t e r ( ) (\varPhi,ev)-inverter() (Φev)inverter().该函数输入是 ( ϕ , y ) (\phi,y) (ϕ,y),输出是 ( f , x ) (f,x) (f,x)。即满足 Φ ( f ) = ϕ \varPhi(f) = \phi Φ(f)=ϕ, e v ( f , x ) = y ev(f,x) = y ev(f,x)=y
定理1:对于 Φ c i r c ( f ) \varPhi_{circ}(f) Φcirc(f), Φ s i z e ( f ) \varPhi_{size}(f) Φsize(f), Φ t o p o ( f ) \varPhi_{topo}(f) Φtopo(f)都存在多项式时间下的 Φ − i n v e r t e r ( ) \varPhi-inverter() Φinverter()函数。
定理2:对于, Φ s i z e ( f ) \varPhi_{size}(f) Φsize(f), Φ t o p o ( f ) \varPhi_{topo}(f) Φtopo(f)都存在多项式时间下的 ( Φ , e v ) − i n v e r t e r ( ) (\varPhi,ev)-inverter() (Φev)inverter()函数。
定理理解
对于定理1来说, Φ c i r c \varPhi_{circ} Φcirc泄露了电路的所有信息,因此很容易恢复线路。 Φ t o p o ( f ) \varPhi_{topo}(f) Φtopo(f)泄露了电路 f f f的拓扑结构,因此我们可以对电路门进行随意赋值操作,比如,我们把所有的门电路都赋值为与门,得到的电路就是输出电路。 Φ s i z e ( f ) \varPhi_{size}(f) Φsize(f),我们可以进行随意的连线操作。比如,我们把所有门电路的输入线都连接电路输入线1和2,那么我们就得到了拓扑电路,然后我们由前面可知,我们可以得到原项。
对定理二来说,, Φ t o p o ( f ) \varPhi_{topo}(f) Φtopo(f)泄露了电路 f f f的拓扑结构,已知结果 y y y,那么我们把所有输出为电路输出的门电路设置为常量电路,常量就是 y i y_i yi。前面的门电路我们随意设置即可。例如:我们可以设置为与门。对于 Φ s i z e ( f ) \varPhi_{size}(f) Φsize(f),我们前面已经描述了由size信息怎么构造拓扑电路的方法,则我们就可以找到 Φ s i z e ( f ) \varPhi_{size}(f) Φsize(f)的逆。

4、相互关系(证明见论文)

1、包含关系
  1. 若一个混淆方案具有模仿隐私性,则它一定具有不可区分隐私性。
  2. 若一个混淆方案具有不可区分隐私性,且要求 e v ( f , x ) ev(f,x) ev(f,x)对于 Φ \varPhi Φ是可逆的(如果不可逆,则不一定),则该混淆方案也具有模仿隐私性。
  3. 若一个混淆方案具有模仿不经意性,则它一定具有不可区分隐私性。
  4. 若一个混淆方案具有不可区分不经意性,且要求 e v ( f , x ) ev(f,x) ev(f,x) Φ \varPhi Φ是可逆的(如果不可逆,则不一定),则该混淆方案也具有模仿隐私性。
    关于证明部分相对繁琐,我们这里就不直接给出,如有感兴趣可以私聊我,我可以把论文原文分享一下。
2、不包含关系

1.一个混淆方案具有不可区分隐私性,该方案不一定具有模拟不可区分不经意性。
2.一个混淆方案具有不可区分不经意性,该方案不一定具有模拟不可区分隐私性。
3.一个混淆方案具有模拟隐私性和模拟不经意性,该方案不一定具有认证性。
4.一个混淆方案具有认证性,该方案不一定具有模拟隐私性或者模拟不经意性。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值