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

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

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

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

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

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

假设的强弱:

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

RSA假设和强RSA假设:

RSA假设是说,给定大整数\((N,e,z\in _{R}\mathbb{Z}_N^*)\),求得一个\(X\) 使得 \(X^e=z\space(mod\space N)\) 是困难的。

强RSA假设是说,给定大整数\((N,z\in _{R}\mathbb{Z}_N^*)\),求得一组\((X,e)\) 使得 \(X^e=z\space(mod\space 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\)构成的\(g^x\)将S的\(c\)分割成两个部分,不论是发送\(g^x\)还是\(c/g^x\),S拿到后都可以复原出另一半,这样做到了保护R方的隐私性,即S不知道R想要解密的消息是哪个。随后因为S只提供了\(g^k\)没有组件\(c^k\),R只能解密由\(g^x\)加密的消息,做到了保护S方的隐私性。

1-out of-n OT 方案

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

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

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

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

posted @ 2022-05-07 15:09  玩剑的Fiora  阅读(323)  评论(0)    收藏  举报