当前位置:网站首页>不经意传输协议OT

不经意传输协议OT

2022-08-09 18:50:00 糖葫芦零零七

概述

  不经意传输(Oblivious Transfer,OT)是一种密码学协议,被广泛应用于多方安全计算等领域。其核心是 Alice 虽然不知道 Bob 想要哪一个信息,但能保证 Bob 只获得其中一个信息。
在这里插入图片描述

OT协议类型

  • 1选1不经意传输:Alice给Bob发送一条消息,Bob只有1/2的概率能够接受到真正的消息,且Alice不知道Bob是否真正接受了消息。
  • 2选1不经意传输:Alice 给 Bob发送两条消息 ( m 1 , m 2 ) (m_1, m_2) (m1,m2),Bob能够在不知道另外一条消息的内容的情况下得知其中一条消息的内容,且Alice不知道Bob选择的哪条消息。
  • n选1不经意传输: 是2选1不经意传输的一般推广。效果可以类比2选1不经意传输协议进行联想。
  • n选m不经意传输:更加一般化的一种情形, Bob 从 Alice的n个输入中得到m个。

基于RSA的1-out-of-2 OT

协议流程

在这里插入图片描述

  1. 发送者 Alice 生成两对 RSA 公私钥( k p u b 0 、 k p r 0 k_{pub0}、k_{pr0} kpub0kpr0 k p u b 1 、 k p r 1 k_{pub1}、k_{pr1} kpub1kpr1), 并将两个公钥 k p u b 0 , k p u b 1 k_{pub0}, k_{pub1} kpub0,kpub1 发送给接收者Bob。
  2. Bob 生成一个随机数 b b b, 并用收到的两个公钥之一加密随机数(用哪个秘钥取决于 Bob 想要获取哪条数据,如果 Bob 想要得到消息 M 0 M_0 M0 就用 k p u b 0 k_{pub0} kpub0加密随机数,如果想要得到 M 1 M_1 M1就用 k p u b 1 k_{pub1} kpub1加密随机数)得到密文 k k k, 并将密文结果发送给Alice。
  3. Alice 用自己的两个私钥 k p r 0 、 k p r 1 k_{pr0}、k_{pr1} kpr0kpr1分别解密收到随机数密文 k k k,并得到两个解密结果 k 0 , k 1 k_0,k_1 k0k1。并将两个结果分别与要发送的两条信息进行异或( k 0 ⊕ M 0 = e 0 k_0 \oplus M_0 = e_0 k0M0=e0 k 1 ⊕ M 1 = e 1 k_1 \oplus M_1 = e_1 k1M1=e1),并将两个结果 e 0 , e 1 e_0,e_1 e0e1发给 Bob。
  4. Bob用自己的真实随机数 b b b与收到的 e 0 、 e 1 e_0、e_1 e0e1分别做异或操作,得到的两个结果中只有一条为真实数据,另外一条为随机数。

基于DH密钥协商的 1-out-of-2 OT(SimpleOT)

在这里插入图片描述

参考网页链接

  1. 多方安全计算-不经意间传输
  2. MPC–不经意传输(Oblivious Transfer)算法及使用Demo
  3. 不经意传输协议-OT(MPC)
  4. 不经意传输协议快速入门
  5. “我知道这是二分之一的机会”——1/2不经意传输协议介绍
  6. SimpleOT
原网站

版权声明
本文为[糖葫芦零零七]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_43751200/article/details/126232276