通用的半诚恳公钥 OT 协定
之前曾经介绍过 Naor-Pinkas 不经意传输协定,Naor-Pinkas 不经意传输协定基于离散对数艰难问题,这次介绍一个通用的基于公钥的半诚恳平安的不经意传输协定和 Beaver 的非黑盒结构。
有一个发送方 Alice 和一个接管方 Bob,这个协定的前提条件是可能在公钥空间里随机采样取得一个公钥。而不是先取得私钥,再通过私钥产生公钥。
简略的说就是可能随机生成一个和公钥格局雷同的随机数。Alice 在协定中的输出为机密值 \(𝑥_0,𝑥_1 \),Bob 在协定的输出为抉择比特𝑏∈{0,1}。
协定开始时,Bob 首先生成一个公私钥对 (\( 𝑝𝑘_{Bob},𝑠𝑘_{Bob} \)),并在公钥空间里进行随机采样,再生成一个随机公钥 \(𝑝𝑘′_{Bob} \),Bob 依据本人输出的抉择比特 b,如果抉择比特𝑏=0,那么 Bob 将(\( 𝑝𝑘_{Bob}, 𝑝𝑘′_{Bob} \)) 发送给 Alice;如果抉择比特𝑏=1,那么 Bob 将 (\( 𝑝𝑘′_{Bob}, 𝑝𝑘_{Bob} \)) 发送给 Alice。
将 Alice 从 Bob 那收到的公钥记为(\( 𝑝𝑘_0,𝑝𝑘_1 \)),Alice 收到 Bob 发来的公钥对后,向 Bob 发送两个密文(\( 𝑒_0,𝑒_1 \)),其中
$$
𝑒_0=𝐸𝑛𝑐_{𝑝𝑘0}(𝑥_0),𝑒_1=𝐸𝑛𝑐_{𝑝𝑘1}(𝑥_1)
$$
\(𝐸𝑛𝑐_y(𝑥) \)指用加密算法 Enc 和加密秘钥 y 加密 x。
Bob 接管到 (\( 𝑒_0,𝑒_1 \)) 后,应用本人的私钥 \(𝑠𝑘_{Bob} \)解密密文 \(𝑒_𝑏 \)。
该不经意传输协定基于半诚恳的,即 Bob 和 Alice 都不会违反协定,恪守协定的规定,Bob 产生的公钥 \(𝑝𝑘′_{Bob} \)是随机产生的,Bob 无奈得悉公钥 \(𝑝𝑘′_{Bob} \)所对应的私钥。
如果 Bob 是歹意的用户,不恪守协定规定,先产生一个私钥 \(𝑠𝑘′_{Bob} \)后再依据 \(𝑠𝑘′_{Bob} \)产生对应的公钥 \(𝑝𝑘′_{Bob} \),则 Alice 发送过去的 (\( 𝑒_0,𝑒_1 \))Bob 均可解密,所以协定前提是半诚恳的。
Bob 不晓得 \(𝑝𝑘′_{Bob} \) 所对应的私钥,也就只能解密 (\( 𝑒_0,𝑒_1 \)) 其中之一,无奈解密 Alice 应用 \(𝑝𝑘′_{Bob} \)加密的 \(𝑥_{1-b} \)。
Beaver 的非黑盒结构
之前介绍过的多个混同电路估值协定都须要应用到不经意传输协定,Beaver 提出了一种自举姚氏混同电路协定(bootstrapping Yao’s GC protocol),能够用大量的公钥密码学操作生成多项式数量级的不经意传输协定。
假如 Alice 是发送方,Bob 是接管方。有一个布尔电路 C,该电路可能实现不经意传输函数 F,函数 F 的输出是加密过的 Bob 的抉择比特串以及 Alice 的机密值对,输入是 OT 协定的执行后果。有一个伪随机函数𝐺(𝑥),能够将𝑘比特的输出𝑥扩大到𝑚比特。
Bob 产生𝑚比专长的抉择比特串𝑏,和𝑘比专长的随机比特串𝑟,利用伪随机函数𝐺(𝑟)来将𝑟扩大到𝑚比专长,之后 Bob 向 Alice 发送𝐺(𝑟)⨁𝑏。
Alice 收到𝐺(𝑟)⨁𝑏后,将收到的𝐺(𝑟)⨁𝑏和本人持有的机密值对
$$
{(𝑥_{10},𝑥_{11}),(𝑥_{20},𝑥_{21}),…,(𝑥_{m0},𝑥_{m1})}
$$
作为函数 F 的输出。之后 Bob 再向函数 F 输出𝑟,函数 F 会通过由 Bob 输出的𝑟计算出𝐺(𝑟)后对𝐺(𝑟)⨁𝑏进行解密失去𝑏,再利用抉择比特串𝑏从 Alice 的机密值对中进行抉择,并输入抉择后果。
即对于函数 F 而言,它只须要 Bob 的𝑘比特的输出𝑟。函数 F 的实现能够通过混同电路,在 Alice 因为不晓得𝑟,因而无奈解密出𝑏。Alice 计算函数 F 对应的布尔电路后,对其进行混同。
之后 Alice 将混同电路以及𝐺(𝑟)⨁𝑏和 \({(𝑥_{10},𝑥_{11}),(𝑥_{20},𝑥_{21}),…,(𝑥_{m0},𝑥_{m1})} \)对应的导线加密值发送给 Bob,Bob 则通过𝑘次 OT 协定获取对应的输出导线的加密值,进行电路估值。
若𝐺(𝑟)⨁𝑏曾经在协定开始之前发送给了 Alice,那么 Bob 在协定中须要输出的只有𝑘比特随机比特串𝑟,因为混同电路的输出比特数量和须要执行的 OT 次数相关联,Alice 事后生成混同电路后发送给 Bob,Bob 通过𝑘次 OT 获取输出𝑟的各个比特对应的混同秘钥,进行电路估值。
若不应用这种构造间接进行 OT 协定,因为抉择比特串𝑏是𝑚比专长,因而须要𝑚个 OT 协定。通过这种结构胜利将𝑚个 OT 协定降为了𝑘个 OT 协定。