基于Oblivious PRFs的不经意传输协议(OT)

Oblivious PRFs

OPRF protocol

F F F是定义在 ( K , X , Y ) (K,X,Y) (K,X,Y)上的带密钥的安全 P R F PRF PRF。协议的双方是发送者(拥有 k k k)和接收者(拥有 x x x),协议有如下性质,

  1. 接收者可以学习到 y : = F ( k , x ) y:=F(k,x) y:=F(k,x)
  2. 接收者无法学习到其他点 x ′ ≠ x x'\neq x x=x的函数值。
  3. 发送者无法学习到关于 x x x的任何信息。

一种基于CDH的实例

K = Z q K=Z_q K=Zq G G G是生成元为 g g g的素数 q q q阶循环群。令 F : K × X → Y F: K \times X \rightarrow Y F:K×XY是如下形式的 P R F PRF PRF
F ( k , x ) : = H ′ ( x , H ( x ) k ) F(k,x) := H'(x,H(x)^k) F(k,x):=H(x,H(x)k)
其中 H : X → G H:X \rightarrow G H:XG H ′ : X × G → Y H': X \times G \rightarrow Y H:X×GY都是基于 R O M ROM ROM的Hash函数。

发送者的私钥为 k ← R Z q k \leftarrow_R Z_q kRZq,公钥为 u = g k ∈ G u=g^k \in G u=gkG。接收者要计算点 x ∈ X x \in X xX的函数值。协议如下:

  1. 接收者选择 ρ ← R Z q \ { 0 } \rho \leftarrow_R Z_q \backslash\{0\} ρRZq\{0} τ ← R Z q \tau \leftarrow_R Z_q τRZq,计算 v ← H ( x ) ρ ⋅ g τ ∈ G v \leftarrow H(x)^\rho \cdot g^\tau \in G vH(x)ρgτG,发送 v v v给发送者
  2. 发送者计算 w ← v k ∈ G w \leftarrow v^k \in G wvkG,发送 w w w给接收者
  3. 接收者计算 y ← H ′ ( x , ( w ⋅ u − τ ) 1 / ρ ) ∈ Y y \leftarrow H'(x,(w\cdot u^{-\tau})^{1/\rho}) \in Y yH(x,(wuτ)1/ρ)Y

安全性:在恶意发送者存在的情况下, τ \tau τ是均匀的导致 v ∈ G v \in G vG是均匀的,上述协议是安全的。在恶意接收者存在的情况下,在one more Diffie-Hellman assumption下(敌手学习某些 ( v , w : = v α ) (v,w:=v^\alpha) (v,w:=vα)对,然后挑战者发送一些 v v v,敌手同时正确计算出所有的 w = v α w=v^\alpha w=vα的概率可忽略),上述协议是安全的。

基于OPRF的OT协议

F F F是定义在 ( K p r f , [ n ] , K ) (K_{prf},[n],K) (Kprf,[n],K)上的的 P R F PRF PRF,令 Π \Pi Π是计算 F F F的OPRF协议,再令 ( E , D ) (E,D) (E,D)是定义在 ( K , M , C ) (K,M,C) (K,M,C)上的对称加密方案。

发送者拥有 m 1 , ⋯   , m n ∈ M m_1,\cdots,m_n \in M m1,,mnM,接收者希望获得 m i m_i mi。OT协议的流程为:

  1. 发送者选择 k ← R K p r f k \leftarrow_R K_{prf} kRKprf,自行计算 k i ← F ( k , i ) k_i \leftarrow F(k,i) kiF(k,i),然后计算 c i ← R E ( k i , m i ) c_i \leftarrow_R E(k_i,m_i) ciRE(ki,mi),最后发送 C : = ( c 1 , ⋯   , c n ) C:=(c_1,\cdots,c_n) C:=(c1,,cn)给接收者
  2. 接收者根据索引 i i i,利用协议 Π \Pi Π和发送者交互,计算出 k i = F ( k , i ) k_i = F(k,i) ki=F(k,i),最后输出 m i ← D ( k i , c i ) m_i \leftarrow D(k_i,c_i) miD(ki,ci)

上述协议中,发送者只需执行 1 1 1次第一步,接收者可以执行 l l l次第二步来获取至多 l l l个不同的消息。

安全性:在恶意发送者存在的情况下,根据OPRF协议的安全性,发送者无法学习到关于 i i i的任何信息,上述OT协议是安全的。在恶意接收者存在的情况下,根据OPRF协议的安全性,接收者至多解密 l l l个消息(这里 l l l是协议第二步的执行次数),上述OT协议是安全的。

你可能感兴趣的:(密码学,密码学,数学,抽象代数,信息安全,计算机)