如何在手机上做自己的网站,网页设计实训3000字,百度网站外链发布平台,建筑工程论坛网文章目录 不经意传输#xff08;oblivious transfer#xff09;定义不经意传输的实例#xff08;1 out 2#xff0c;二选一不经意传输#xff09;基于RSA的1 out 2 不经意传输疑问 不经意传输#xff08;oblivious transfer#xff09;定义
不经意传输#xff08;obli… 文章目录 不经意传输oblivious transfer定义不经意传输的实例1 out 2二选一不经意传输基于RSA的1 out 2 不经意传输疑问 不经意传输oblivious transfer定义
不经意传输oblivious transfer是一个密码学协议在这个协议中消息发送者从一些待发送的消息中发送数据给接收者但事后对发送了哪一条消息仍然oblivious不知道同时接受者对自己想要接受外的数据一无所知这个协议也叫茫然传输协议。
不经意传输的实例1 out 2二选一不经意传输
在二选一形式的不经意传输模型中Alice每次发两条信息m1、m2给BobBob提供一个输入并根据输入获得输出信息在协议结束后Bob得到了自己想要的那条信息m1或者m2而Alice并不知道Bob最终得到的是哪条同时Bob不知道自己想要的那条信息之外的数据信息。 1986年Brassard等人将2选1不经意传输拓展为n选1。
基于RSA的1 out 2 不经意传输
不经意传输oblivious transfer一种实现方式是基于RSA公钥算法下面就2选1不经意传输的实现做简要介绍。 基于RSA的1 out 2 不经意传输 流程
发送者Alice生成两对rsa公私钥并将两个公钥puk0、puk1发送给接受者Bob。Bob生成一个随机数b并用收到的两个公钥之一加密随机数用哪个秘钥取决于想获取哪条数据例如如果想要得到消息M0 就用puk0加密随机数如果想要得到M1就用puk1加密随机数并将密文结果c发送给Alice。Alice用自己的两个私钥分别解密收到随机数密文c并得到两个解密结果k0k1并将两个结果分别与要发送的两条信息进行异或k0异或M0k1异或M1并将两个结果e0e1发给Bob。Bob用自己的真实随机数b与收到的e0、e1分别做异或操作得到的两个结果中只有一条为真实数据另外一条为随机数。
分析 在此过程中第3步最为关键如果Alice无法从用两条私钥解密得到的结果k0、k1中区分出Bob的真实随机数c则能保证Alice无法得知Bob将要获取的是哪条数据。Bob没有私钥也就无法得出真实的私钥解密结果如果k0为真实随机数Bob无法得知k1的值所以也就只能得到自己想要的那条数据而无法得到另外一条保障协议能执行成功。
同理1 out n不经意传输也可基于类似原理实现只需要将2秘钥换成n秘钥。
疑问
在第一步中Bob端在没有知道所有数据的情况下如何知道自己想要的数据是什么在第四步中Bob端的b与收到的e0、e1分别做异或操作后如何辨别哪个结果是自己想要的数据