我对不经意传输(OT)很陌生,在使用OT扩展(仅用于被动安全)时,我很难找到是否/何时/如何在计算中重用baseOTs的明确答案。
假设双方正在运行一个安全功能评估(SFE)协议,并且需要对其中的某些部分使用多轮不经意传输(例如,对GMW协议中的每个协议和门进行1-out-4 OT评估)。我的理解是,各方可以使用“脱机”阶段的k=128个baseOTs交换对称密钥,然后使用这些baseOTs来传输“联机”阶段的实际输入。
对于SFE协议所要求的每一轮OT,各方是否需要再次运行baseOTs,还是可以为每个SFE OT循环重新使用一组初始的基OT?
现在说,在计算了安全功能评估协议之后,双方都断开了连接,然后离线。稍后,他们回到网上,希望对SFE协议进行另一次评估(例如,通过一组不同的输入)。
再一次,各方是否需要再次运行baseOTs,还是可以在这里重复使用以前相同的baseOTs?
最后,假设各方希望评估一种也使用OT的不同类型的安全功能评估协议。同样的基托能在这里重复使用吗?
我的直觉是,所有这些问题的答案都是肯定的,但我找不到任何证实。我认为,对于各方来说,重复baseOT的步骤可能是好的,除非种子受到损害,但我主要想知道,以这种方式重用baseOT理论上是否是安全的。
发布于 2022-08-02 14:52:15
一旦你和我做了128个真正的基础of,我们就再也不需要再做这些了。所谓“真正的基本OTs”,我指的是使用公钥加密技术实现的OT。
下面是一个简单的方法:每次我们的协议从OT扩展中调用一批n OT实例时,我们都会生成n+128 OT实例。我们像往常一样使用n,并将其他128保存为下一批OT扩展的“基本OT”。我称它们为基OT,因为它们被用作OT扩展的种子,但它们不需要任何公钥操作,因此它们不是“真”基OT。
在实践中,由于IKNP风格的OT扩展协议与基本OT相比,交换发送方和接收方的角色,因此这种方法有些不雅观。因此,您可能必须在这个应用程序中做两次扩展,以保持OTs的“方向”,这是您想要的。
通过查看IKNP扩展的细节,有一种更直接的方法可以看到您可以重用基本OT。在基本OTs之后,IKNP协议让所有各方使用PRG扩展其OT值。扩展后的OT值的每个位将导致扩展OT实例。换句话说,如果我想要n OT实例,那么我需要一个从128位种子扩展到n-bit输出的PRG。
这些扩展的OT值不能在协议中重用,但您可以使用无限期的长PRG继续扩展原始种子/基OT值。因此,如果您想运行OT扩展,但已经使用了这些基本OT来生成n扩展OT实例,您可以运行IKNP,用PRG展开种子,但忽略这些扩展的第一个n位。您将以这种方式获得一批新的/安全的扩展of。在实践中,最好用PRF替换PRG或将PRG组合起来,这样您就可以随机访问这个伪随机的位流。
发布于 2022-08-02 03:30:27
许多OT扩展协议为您提供了所谓的“随机OT”,这与OT类似,但是不能选择消息,而是将它们设置为随机的。为了从随机OT中得到“选择的输入”OT,执行了一个简单的去随机化协议。
考虑到这一点,您可以使用随机OT的单个实例(可能是通过OT扩展生成的),然后对其进行去随机化,可能在多轮的情况下得到OT。
https://crypto.stackexchange.com/questions/101310
复制相似问题