不经意传输协议-密码学

不经意传输(oblivious transfer)是一个密码学协议,在这个协议中,消息发送者从一些待发送的消息中发送一条给接收者,但事后对发送了哪一条消息仍然oblivious(不知道),这个协议也叫茫然传输协议。

历史
第一种形式的不经意传输(oblivious transfer),最初是在1981由Michael O.Rabin提出,在这种不经意传输中,发送者Alice发送一条消息给接收着Bob,而Bob以1/2的概率接收到信息,在结束后Alice并不知道Bob是否接收到了信息,而Bob能确信地知道自己是否收到了信息。 另一种更实用的不经意传输协议,被称为2选一不经意传输(1 out 2 oblivious transfer)由 Shimon Even, Oded Goldreich, 和Abraham Lempel 在1985年提出,在这种形式的不经意传输模型中,Alice每次发两条信息(m1、m2)给Bob,Bob提供一个输入,并根据输入获得输出信息,在协议结束后,Bob得到了自己想要的那条信息(m1或者m2),而Alice并不知道Bob最终得到的是哪条。

1986年,Brassard等人将2选1不经意传输拓展为n选1。

不经意传输(oblivious transfer)一种实现方式是基于RSA公钥算法,下面就2选1不经意传输的实现做简要介绍:
基于RSA的1 out 2 不经意传输

流程:

  1. 发送者Alice生成两对rsa公私钥,并将两个公钥puk0、puk1发送给接受者Bob。2. Bob生成一个随机数,并用收到的两个公钥之一加密随机数(用哪个秘钥取决于想获取哪条数据,例如如果想要得到消息M0 就用puk0加密随机数,如果想要得到M1就用puk1加密随机数),并将密文结果发送给Alice。3. Alice用自己的两个私钥分别解密收到随机数密文,并得到两个解密结果k0,k1,并将两个结果分别与要发送的两条信息进行异或(k0异或M0,k1异或M1),并将两个结果e0,e1发给Bob。4. Bob用自己的真实随机数与收到的e0、e1分别做异或操作,得到的两个结果中只有一条为真实数据,另外一条为随机数。

分析:

在此过程中第3步最为关键,如果Alice无法从用两条私钥解密得到的结果k0、k1中区分出Bob的真实随机数,则能保证Alice无法得知Bob将要获取的是哪条数据。Bob没有私钥也就无法得出真实的私钥解密结果(如果k0为真实随机数,Bob无法得知k1的值),所以也就只能得到自己想要的那条数据而无法得到另外一条,保障协议能执行成功。同理,1 out n不经意传输也可基于类似原理实现,只需要将2秘钥换成n秘钥。

不经意传输协议-密码学相关推荐

  1. 不经意传输协议快速入门

    不经意传输 一.介绍 不经意传输(oblivious transfer)又简称OT.是一种可保护隐私的双方通信协议.接受者的隐私不被发送者所知道,使通信双方以一种选择模糊化的方式传送消息.抽象地讲,就 ...

  2. MPC系列-不经意传输

    不经意传输(Oblivious transfer,OT,也称茫然传输)是在构建安全多方计算时经常需要使用的一个模块. 情景:Bob有一组数据,alice从中抽取其中一个数据查看.[Alice不想让bo ...

  3. 一文看懂MPC百万富翁问题的两种解法:CG+OT不经意传输解法或者RSA密码学解法

    MPC的数学描述: 有n个参与者P1,P2,-Pn,要以一种安全的方式共同计算一个函数,这里的安全是指输出结果的正确性和输入信息.输出信息的保密性.具体地讲,每个参与者P1,有一个自己的保密输入信息X ...

  4. 超文本传输协议 -- HTTP/1.1(二)

    超文本传输协议 -- HTTP/1.1(二) 13 HTTP中的缓存 13.1 警告模式 13.1.1 缓存正确性 13.1.2 警告 13.1.3 缓存控制机制 13.1.4 显式用户代理警告 13 ...

  5. 隐私安全计算-不经意传输的原理与应用

    不经意传输的原理与应用 一 隐私安全计算派系 1. 隐私计算之少林派 「少林派」:即安全多方计算技术流派.为什么呢?历史最悠久,提供大量底层的安全技术,其他的门派多少会用到安全多方计算的底层技术.多方 ...

  6. 从玩客云到文件传输协议TCFS,迅雷的区块链平台野心

    站在迅雷开发者大赛的决赛现场,浙江大学Designer团队成员王备略微有些紧张.在过去的77天里,Designer团队成员们与来自全球各地的500多支团队.2000余名开发者同台竞技,并最终杀进了这场 ...

  7. 超文本传输协议-HTTP/1.1

    说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善.请参考 "互联网官方协议标准"(STD 1)来了解本协议的标准化状态.本协议不限流传发布. 版权声明 Cop ...

  8. 超文本传输协议HTTP/1.1

    文章来源: http://www.blogjava.net/sunchaojin/archive/2007/08/09/http.html 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以 ...

  9. 超文本传输协议(HTTP/1.1)中文翻译

    超文本传输协议-HTTP/1.1 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善.请参考 "互联网官方协议标准"(STD 1)来了解本协议的标准化状态.本协 ...

最新文章

  1. (0089)iOS开发之iOS应用间相互跳转(URL Scheme)
  2. Google笔试(2015年8月)
  3. 【Python】Pandas中的宝藏函数-rank()
  4. oracle存储过程 ppt,oracle_存储过程培训(动画版本)详解.ppt
  5. Hadoop +x86平台:大数据分析的好拍档
  6. mysql5.6 排序失效_mysql 使用union(all) + order by 导致排序失效
  7. 计算机的桌面图标类型,软件图标的格式 电脑桌面图标是什么格式的文件啊
  8. labelme打开不了jpg格式和其他一些格式的图片
  9. Chapter8(周旭)
  10. 软件架构设计-大型网站技术架构于业务架构融合之道——部分知识点总结【未完】
  11. 岛屿最大面积 leetcode Java_LeetCode刷题记录——岛屿的最大面积
  12. nb信号和4g信号_NB-IoT的同步信号解析
  13. QQ上保险我的QQ密码谁也偷不走
  14. 无线传感网络的自适应协作数据传输方法
  15. 【IVIF:特征聚合网络】
  16. 计算机课程的教案模板,计算机教学设计模板.doc
  17. 计算机设备管理器怎么删鼠标,在电脑的设备管理器中怎么查看鼠标设备
  18. IT的幽默 典型的人傻钱多,地主家的傻儿子系列! 人不学习枉少年
  19. 一个庄稼汉的炒股心得
  20. 趋势预测:基于期货未平仓合约、展期和FII/DII指标【附Python源码】

热门文章

  1. 14-HBase的介绍、数据模型以及架构模型
  2. End-to-End Learning From Spectrum Data: A DL Approach for Wireless Signal Identification(阅读笔记)
  3. “在XML文件中给代码加注释”请注意注释的位置
  4. 【算法设计与分析】-- 分治法
  5. blackbox_exporter的使用
  6. 个人怎么制作微信小程序,微信小程序可以免费制作吗?微信小程序制作教程
  7. 关于Linux的那些事儿--系统状态检测命令
  8. Maven环境配置(本文以“apache-maven-3.8.2”的安装配置为例)
  9. 去掉字符串中的所有空格
  10. 虚拟主机、VPS、云服务器三者的区别