记一节有关“OT不经意传输”的课
常见的几种诚实与恶意的分类:
honest:严格按照协议去执行,不做多余的事情。
honest but curious:按照协议执行,但是会多“看”或者说询问一些东西。比如,询问一个有效的签名。
malicious:不按照协议执行,并可能做一些主动攻击。
malicious but passive:不按照协议执行,但是不会“闹出动静”让别人知道,只会偷着坏。比如它可以在生成参数时放入陷门,但是不会去做主动询问之类的让人发现它有异的事情,类似于被动攻击。
假设的强弱:
从DDH→CDH→DL假设,是一个假设弱化的过程(困难性增强的过程),没错DL离散对数假设是最弱的假设。因为越强的假设,条件给的越具体,限制越多,能成立的情况或者场合就是受限的。即是说,强的假设更具象但泛用性就差,在很多场合不一定成立。如DDH假设,在普通的素数阶循环群上是成立的,但是在双线性群上则不再是困难问题,假设不成立。但是弱的假设,如最基础的DL假设,则很难动摇它的困难性,它在绝大部分场景下都是成立的。
RSA假设和强RSA假设:
RSA假设是说,给定大整数,求得一个 使得 是困难的。
强RSA假设是说,给定大整数,求得一组 使得 是困难的。
很显然这里的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随机选择的构成的将S的分割成两个部分,不论是发送还是,S拿到后都可以复原出另一半,这样做到了保护R方的隐私性,即S不知道R想要解密的消息是哪个。随后因为S只提供了没有组件,R只能解密由加密的消息,做到了保护S方的隐私性。
1-out of-n OT 方案
总的来说1-outof-n方案并不是1-outof-2方案的简单扩展。虽然1-n的方案原理也很简单,但是1-2问题到1-n问题自己去思考时容易犯一些错误导致无法保证OT的两个基本要求。
错误1:S方选择两个群中随机值,和,R方收到后随机选择产生并通过它产生两个和,然后将回复给S,S自然是可以计算另外两个,但是用于加密的是,这样很显然犯了基本的错误,就是让S方知道了R方想要得到的文件是哪个,没有保护R方的隐私性。
错误2:S方选择两个群中随机值,和,R方收到后随机选择产生并通过它产生两个和,但是想要隐藏R方希望解密哪个文件必须要隐藏不能直接发送,故通过等式关系,知是三个组件的乘积,故R方发送三组件中的任意两组件给S,来达到隐藏的目的,S方通过等式自然可以由两组件计算出剩下一个组件。但是这样做,比如说R发送的组件是,这样导致的问题是,R如果恶意不安协议流程,自己选择随机值发送的是,这样R方可以解密的不只是由加密的信息,没有保护S方的隐私性。评注:本应由S自己来计算产生,现由R来计算,R权力过大,告诉了S两个加密组件,自然在恶意的情况下,可以解密其中两条消息。
*1-outof-n参考网址:http://blog.nsfocus.net/ot-1/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】