茫然传输(0T)协议最早在1981年提出,作为密码学领域的一个基础协议,在安全两(多)方计算领域有着广泛应用。
OT协议是一个涉及两个参与方的协议,即发送方S和接收方R,安全性要求发送方不能知道接收方的选择信息,且接收方仅得到自己选择的值。
在最初的1-out-of-2茫然传输()协议中,发送方有两个秘密输入
,接收方有一个选择比特
。双 方执行完协议之后,接收方得到输出
。
更一般性, 可扩展为1-out-of-n(
)和k-out-of-n(
)。
Naor-Pinkas茫然传输协议
Naor和Pinkas通过三次公钥密码学操作实现了半诚实模型下的1-out-of-2茫然传输协议 。
系统参数: p、q为素数,且满足q|p-1,为q阶群,
是
的q阶子群,g是
的生成元
输入参数:发送者S输入字符串,接受者R通过输入一个比特r,得到输出
(在此过程中,S无法确定R输入的比特r等于0或1,而R输入比特r,只能得到,无法得到
)
step1:S生成并公开随机数,生成随机数a,并计算
step2: R选择随机数k(),并计算
,R将
发送给S
step3: S计算,然后执行加密计算,并将加密结果
发送给R
step4:R计算得到
,然后计算下面等式得到
分析:如果R输入的比特r=0,那么
Step2中:
Step3中:,那么
Step4中:R拥有,因此可以计算
,而无法计算
R输入的比特r=1,同理