【隐私计算篇】多方安全计算之函数秘密共享(FSS)

1. 函数秘密共享(FSS)定义  

        秘密共享是一种将一个值拆分为多个份额的方法,形式有多种,可以参考《安全多方计算(MPC)矩阵乘法算子的原理分析》。这里主要提及加法秘密共享,使得:这些份额可以重新组合以还原出秘密值;任意严格的份额子集都无法泄露秘密值的任何信息。使用方括号表示法[v]_i来表示值 v 的第 i个秘密份额。使用 "+" 表示重新组合:[v]_1 + [v]_2 = v

        函数秘密【1,3】共享具有一个额外的要求,即可以在输入 x 上对函数 f 的份额进行计算,以得到 f(x) 的份额。给定[f]_i,可以高效地计算出任意 x 对应的[f(x)]_i。使用 [f(x)]_i 表示在输入 x上评估份额[f]_i​。使用 "+" 表示重新组合:[f(x)]_1 + [f(x)]_2 = f(x)

        对于函数 f : \{0, 1\}^n \to \{0, 1\}^*p \geq 2 个评估者,函数秘密共享(Function Secret Sharing, FSS)通过以下(可能是随机的)算法来描述:

  • Gen(1^\lambda, f) → ([f]_1, \cdots, [f]_p)
    将函数分割成一组紧凑的秘密份额 [f]_1, \cdots, [f]_p​。

  • Eval([f]_i, x) → [f(x)]_i
    使用秘密份额[f]_i 和输入 x,输出 f(x) 的秘密份额 [f(x)]_i

  • Recover([f(x)]_1, \cdots, [f(x)]_p) → f(x)
    从 p 个秘密份额中恢复出 f(x)。

2. 为什么函数秘密共享(FSS)有用

        假设一个客户端希望在云端存储的数据上运行某个函数,但不想将该函数暴露给云服务器,该怎么办?

解决方案:


假设服务器之间没有串通行为,并使用 FSS 来隐藏函数。

  1. 客户端使用 FSS 将函数 f 进行秘密共享,分发给云服务器。
  2. 云服务器在秘密共享的函数 f 上进行计算,并将(秘密共享的)结果 f(x) 返回给客户端。
  3. 客户端在本地重新组合这些份额以获得 f(x)。

此外,FSS 在构建隐私保护系统中非常有用:

  • 私密读取分布式数据库(私密信息检索)
    例如:在远程数据库上进行私密关键字搜索【2, 4】。

  • 私密写入分布式数据库(私密信息写入)
    例如:匿名通信【5, 6, 7, 8】。

  • 多方计算
    例如:为多方计算生成预处理(Silent OT extension)【9】。

3. FSS与DPF关系

        上述内容介绍了FSS ,其是一种通用的技术,用于将任意函数分割为多个秘密份额,使得这些份额能够在不泄露函数本身的情况下在分布式环境中进行计算。每个参与者持有函数的一部分份额,通过本地计算和通信,可以计算函数在某个输入值上的结果,并最终组合这些结果还原出函数的输出。

        而DPF(分布式点函数) 是 FSS 的一种特定形式,专门用于分享点函数。点函数是一种非常简单的函数,形式为:

\begin{cases} v & \text{if } x = x_0 \\ 0 & \text{otherwise} \end{cases}

        其中 x_0 是一个特定的输入值,v 是在 x_0​ 处的输出值。在 DPF 中,函数的秘密共享特别针对这种形式的点函数。DPF 可以让多个参与者在不泄露 x_0 和 v 的情况下对函数进行计算,并在需要时重新组合得到正确的点函数输出。由于点函数非常简单,DPF 通常有更高的效率和更小的计算开销,尤其适合需要查询特定位置或值的应用场景,如私密信息检索(PIR)等。

【10】中描述了PCG for tensor product from LPN and FSS过程。

【11】中给出了基于DPF给出了多服务器PIR(私有信息检索)的解决方案。分布式点函数包含两个算法(Gen 和 Eval):

  • Gen(y) → (k_a, k_i):为 y 生成点函数的密钥
  • Eval(k_a, x') → y':在输入 x 上评估点函数

此外,【12】给出了FSS for Multi-point Funciton的应用

4. 参考材料

【1】Private Access Control for Function Secret Sharing

【2】Elette Boyle, Niv Gilboa, and Yuval Ishai. “Function secret sharing”. In: Annual international conference on the theory and applications of cryptographic techniques. Springer. 2015, pp. 337–367.

【3】Elette Boyle, Niv Gilboa, and Yuval Ishai. “Function secret sharing: Improvements and extensions”. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. 2016, pp. 1292–1303.

【4】Emma Dauterman et al. “DORY: An encrypted search system with distributed trust”. In: Proceedings of the 14th USENIX Conference on Operating Systems Design and Implementation. 2020, pp. 1101–1119.

【5】Henry Corrigan-Gibbs, Dan Boneh, and David Mazières. “Riposte: An anonymous messaging system handling millions of users”. In: 2015 IEEE Symposium on Security and Privacy. IEEE. 2015, pp. 321–338.

【6】Saba Eskandarian et al. “Express: Lowering the cost of metadata-hiding communication with cryptographic privacy”. In: 30th USENIX Security Symposium (USENIX Security 21). 2021, pp. 1775–1792.

【7】Adithya Vadapalli, Kyle Storrier, and Ryan Henry. “Sabre: Sender-anonymous messaging with fast audits”. In: 2022 IEEE Symposium on Security and Privacy (SP). IEEE. 2022, pp. 1953–1970.

【8】Zachary Newman, Sacha Servan-Schreiber, and Srinivas Devadas. “Spectrum: High-bandwidth Anonymous Broadcast”. In: 19th USENIX Symposium on Networked Systems Design and Implementation (NSDI 22). 2022, pp. 229–248.

【9】Elette Boyle et al. “Efficient pseudorandom correlation generators: Silent OT extension and more”. In: Annual International Cryptology Conference. Springer. 2019, pp. 489–518.

【10】Efficient Pseudorandom Correlation Generators: MPC with Silent Preprocessing

【11】Distributed Point Functions: Efficient Secure Aggregation and Beyond with Non-Colluding Servers

【12】Homomorphic Secret Sharing

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/442779.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java | Leetcode Java题解之第464题我能赢吗

题目&#xff1a; 题解&#xff1a; class Solution {Map<Integer, Boolean> memo new HashMap<Integer, Boolean>();public boolean canIWin(int maxChoosableInteger, int desiredTotal) {if ((1 maxChoosableInteger) * (maxChoosableInteger) / 2 < desi…

【c++】初步了解类和对象2

1、类的作用域 类定义了一个新的作用域&#xff0c;类的所有成员都在类的作用域中。在类体外定义成员时&#xff0c;需要使用 :: 作用域操作符指明成员属于哪个类域。 如图&#xff0c;此时在类内声明了函数firstUniqChar()&#xff0c;在类外进行了函数体的具体定义。 但是却…

Spring对IOC的实现

控制反转IOC 控制反转是一种思想 控制反转是为了降低程序耦合度&#xff0c;提高程序扩展力&#xff0c;达到OCP原则&#xff0c;达到DIP原则 控制反转&#xff0c;反转是什么&#xff1f; - 将对象的创建权利交出去&#xff0c;交给第三方容器负责 - 将对象和对象之间关系的…

(14)MATLAB莱斯(Rician)衰落信道仿真4

文章目录 前言一、改写莱斯分布概率密度函数的理论值二、仿真代码三、仿真结果总结 前言 本文通过将接收信号总功率设置为1&#xff0c;重写了莱斯衰落信道上接收信号幅度的理论PDF式。然后用MATLAB代码生成了在具有不同莱斯因子K的Ricean平坦衰落信道下接收到的信号样本&…

理解计算机系统_程序的机器级表示(二):寄存器,操作数,数据传送,程序栈

前言 以<深入理解计算机系统>(以下称“本书”)内容为基础&#xff0c;对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定 引入 本书第三章&#xff1a;程序的机器级表示内容的理解,这一章内容以汇…

nginx代理,nginx301跳转,nginx地址重写

ngin代理 假如你的地址是:http://192.168.1.2:8282 你的域名是:www.jjycheng.com 你想访问域名www.jjycheng.com时,实际请求的地址是http://192.168.1.2:8282,但浏览器上的地址不变。 此时,你用到的技术就是请求代理 代理.conf配置 http {server {listen 80; server_na…

看门狗电路设计

看门狗电路设计 看门狗是什么应用架构图TPV6823芯片功能硬件时序图为什么要一般是要保持200个毫秒左右的这种低电平的时间看门狗电路实际应用与条件 看门狗是什么 硬件看门狗芯片&#xff0c;Watch DogTimer&#xff0c;可用于受到电气噪音、电源故障、静电放电等影响(造成软件…

LabVIEW混合控制器质量检测

随着工业自动化水平的提高&#xff0c;对控制器的精度、稳定性、可靠性要求也在不断上升。特别是在工程机械、自动化生产、风力发电等领域&#xff0c;传统的质量检测方法已无法满足现代工业的高要求。因此&#xff0c;开发一套自动化、精确、可扩展的混合控制器质量检测平台成…

怎么编辑图片?这5款工具教你快速编辑

怎么编辑图片&#xff1f;编辑图片是一项既具创意又实用的技能&#xff0c;它不仅能够提升图片的视觉效果&#xff0c;增强信息的传达力&#xff0c;还能激发无限的创作灵感。通过编辑图片&#xff0c;我们可以轻松调整色彩、添加文字、裁剪构图&#xff0c;甚至创造出令人惊叹…

《Linux从小白到高手》理论篇:Linux的系统环境管理

List item 值此国庆佳节&#xff0c;深宅家中&#xff0c;闲来无事&#xff0c;就多写几篇博文。本篇详细深入介绍Linux的系统环境管理。 环境变量 linux系统下&#xff0c;如果你下载并安装了应用程序&#xff0c;很有可能在键入它的名称时出现“command not found”的提示…

【Redis】Redis线程模型

目录 1. Redis 是单线程的&#xff0c;还是多线程的&#xff1f;2. Redis单线程模式是怎么样的&#xff1f;Redis 单线程模式的优势Redis 单线程的局限性Redis 单线程的优化策略 3. Redis采用单线程为什么还这么快4. Redis 6.0 之前为什么使用单线程&#xff1f;5. Redis 6.0 之…

10.1 10.3 图DFS 中等 207 Course Schedule 210 Course Schedule Ⅱ

207 Course Schedule class Solution { public:bool hasCycle(int course ,unordered_map<int,vector<int>>& graph,vector<int>& visitStatus){//正在访问的结点再次被访问&#xff0c;存在环if(visitStatus[course] 1)return true;//该结点已经被…

仪器校准机构提供了资质证明,就能够代表目前的检测能力吗?

最近的一次公司审核打破了我对仪器校准机构能力认证这一独特理论的认识。换句话说&#xff0c;最近参加了公司的质量整合审核&#xff0c;其中之一就是仪器校准机构检测能力审核。根据我平时的经验&#xff0c;我给审核老师提供了CNAS和客户等一系列资质证书&#xff0c;以证明…

PMP--冲刺题--解题--91-100

文章目录 11.风险管理--4.实施定量风险分析--题干场景中提到了“专家”&#xff0c;同时即将开始“量化风险”&#xff0c;因此对应的就是“定量风险分析”中的“专家判断”技术。项目经理应先征求各位专家们的意见&#xff0c;以获取最佳的量化风险实施方案。谋定而后动91、 […

芯片复位电路-RC复位

芯片复位电路-RC复位 MAX809专门的上电复位芯片使用注意芯片间级联复位 看门狗复位注意事项 MAX809专门的上电复位芯片 可以看到这里VTH这个电压值一般是你你电复位芯片供电的90%左右&#xff0c;比如说5V&#xff0c;那这里可能是4.5V。 使用注意 A.复位输出引脚要加上拉电阻…

解决跨域问题

第一种 让后端解决 第二种 通过代理来解决 首先可以先搭建后端接口 解决则参照vue-cli官网 首先新建一个vue.config.js文件 然后在项目的根目录新建两个文件夹 开发环境和生产环境 然后可以使用环境变量 系统会自动识别你是生产环境还是开发环境 然后在封装的axios中配…

【Qt】控件概述 (1)—— Widget属性

控件概述 1. QWidget核心属性1.1核心属性概述1.2 enable1.3 geometry——窗口坐标1.4 window frame的影响1.4 windowTitle——窗口标题1.5 windowIcon——窗口图标1.6 windowOpacity——透明度设置1.7 cursor——光标设置1.8 font——字体设置1.9 toolTip——鼠标悬停提示设置1…

Puppeteer自动化:使用JavaScript定制PDF下载

引言 在现代的Web开发中&#xff0c;自动化已经成为提高效率和减少重复劳动的重要手段。Puppeteer 是一个强大的Node.js库&#xff0c;提供了对无头Chrome或Chromium的控制&#xff0c;可以用于生成网页快照、抓取数据、自动化测试等任务。其中&#xff0c;生成PDF文件是一个常…

cnn突破八(两层卷积核bpnet网络扩展)

cnn突破七中x【&#xff1f;】怎么求&#xff1f;我们举个例子&#xff1a; 接着cnn突破七&#xff1a; hicnn【】来自temphicnn【】2*2最大池化&#xff1a; temphicnn[0]x[i0,j0,5*5方阵]*w1cnn[0-24]&#xff0c; hicnn是5*5的&#xff0c;temphicnn是10*10的&#xff0…

git clone 私有仓库时出现错误 Authentication failed for :xxxxxx

错误信息 remote: Support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended…