记一节有关“OT不经意传输”的课

常见的几种诚实与恶意的分类:

honest:严格按照协议去执行,不做多余的事情。

honest but curious:按照协议执行,但是会多“看”或者说询问一些东西。比如,询问一个有效的签名。

malicious:不按照协议执行,并可能做一些主动攻击。

malicious but passive:不按照协议执行,但是不会“闹出动静”让别人知道,只会偷着坏。比如它可以在生成参数时放入陷门,但是不会去做主动询问之类的让人发现它有异的事情,类似于被动攻击。

假设的强弱:

​ 从DDH→CDH→DL假设,是一个假设弱化的过程(困难性增强的过程),没错DL离散对数假设是最弱的假设。因为越强的假设,条件给的越具体,限制越多,能成立的情况或者场合就是受限的。即是说,强的假设更具象但泛用性就差,在很多场合不一定成立。如DDH假设,在普通的素数阶循环群上是成立的,但是在双线性群上则不再是困难问题,假设不成立。但是弱的假设,如最基础的DL假设,则很难动摇它的困难性,它在绝大部分场景下都是成立的。

RSA假设和强RSA假设:

RSA假设是说,给定大整数(N,e,zRZN),求得一个X 使得 Xe=z (mod N) 是困难的。

强RSA假设是说,给定大整数(N,zRZN),求得一组(X,e) 使得 Xe=z (mod N) 是困难的。

​ 很显然这里的RSA假设例子就很好的映照了上面对强弱假设的说明,强RSA假设它相较于RSA假设更”容易“去做到,即困难性不如RSA假设。即问题越困难,假设越弱。假设越强,困难性越得不到稳固的保证。

不经意传输 oblivious transfer:

​ 我们先从一个实际的场景来介绍不经意传输,省教育厅想要调查大学教师A需要调取他的档案,大学则需要提供教师A的档案。那么要保护教师A的隐私,省教育厅不想让学校知道它调取了谁的档案,学校需要提供很多份档案供教育厅调取其中之一,教育厅不能获得除了教师A以外的其他档案的查看权。

不经意传输协议运行在两个互相不信任的实体Sender,Receiver之间,因此协议要满足对双方的隐私性要求,根据上述例子可以提炼出以下两个要求。

对于Sender(学校),它要求Receiver除了能够解密自己想要的信息(A教师的档案)以外不能获得别的信息。

对于Receiver(教育厅),它要求Sender不能知道自己解密了哪一个信息。

​ 那么如何实现不经意传输OT呢?从最简单的1-out of-2 OT 方案开始,即Sender提供两条消息Receiver解密其中之一。

​ 这样做R随机选择的x构成的gx将S的c分割成两个部分,不论是发送gx还是c/gx,S拿到后都可以复原出另一半,这样做到了保护R方的隐私性,即S不知道R想要解密的消息是哪个。随后因为S只提供了gk没有组件ck,R只能解密由gx加密的消息,做到了保护S方的隐私性。

1-out of-n OT 方案

总的来说1-outof-n方案并不是1-outof-2方案的简单扩展。虽然1-n的方案原理也很简单,但是1-2问题到1-n问题自己去思考时容易犯一些错误导致无法保证OT的两个基本要求。

错误1:S方选择两个群中随机值,c1c2,R方收到后随机选择x产生gx并通过它产生两个c1/gxc2/gx,然后将gx回复给S,S自然是可以计算另外两个,但是用于加密的是gx,这样很显然犯了基本的错误,就是让S方知道了R方想要得到的文件是哪个,没有保护R方的隐私性。

错误2:S方选择两个群中随机值,c1c2,R方收到后随机选择x产生gx并通过它产生两个c1/gxc2/gx,但是想要隐藏R方希望解密哪个文件必须要隐藏gx不能直接发送,故通过等式关系c1c2=g2x(c1/gx)(c2/gx),知c1c2是三个组件的乘积,故R方发送三组件中的任意两组件给S,来达到隐藏gx的目的,S方通过等式自然可以由两组件计算出剩下一个组件。但是这样做,比如说R发送的组件是(gx,c1/gx),这样导致的问题是,R如果恶意不安协议流程,自己选择随机值y发送的是(gx,gy),这样R方可以解密的不只是由gx加密的信息,没有保护S方的隐私性。评注:c1/gx本应由S自己来计算产生,现由R来计算,R权力过大,告诉了S两个加密组件,自然在恶意的情况下,可以解密其中两条消息。

*1-outof-n参考网址:http://blog.nsfocus.net/ot-1/

posted @   玩剑的Fiora  阅读(277)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示