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

news2024/11/29 2:31:11

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.coloradmin.cn/o/2189279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTMLCSS练习

1) 效果如下 2) 代码如下 2.1) HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" conte…

IPS和IDS有啥区别

在网络安全领域&#xff0c;入侵检测系统 (IDS) 和入侵防御系统 (IPS) 是两种关键的技术&#xff0c;旨在保护网络免受各种威胁。这两者尽管名字相似&#xff0c;但在功能、配置、以及应用场景等方面都有着显著的差异。 入侵检测系统 (IDS) IDS 是一种被动监控系统&#xff0c…

自建动态IP代理为何无法使用及解决方法

在网络使用中&#xff0c;有时候我们自建动态IP代理来实现一些特定的需求&#xff0c;例如访问受限内容或保护隐私。然而&#xff0c;有时我们会遇到无法使用的情况。本文将探讨无法使用的可能原因&#xff0c;并提供相应的解决方法。 1. 可能原因 a. 网络配置问题 自建动态I…

Chromium 关闭 Google Chrome 后继续运行后台应用功能分析c++

此功能允许关闭 Google Chrome 后继续运行后台&#xff0c;控制此功能的开关是 // Set to true if background mode is enabled on this browser. //更改此值可以修改默认开启关闭 inline constexpr char kBackgroundModeEnabled[] "background_mode.enabled"; …

Python爬虫(五)--爬虫库的使用(Python Crawler (5) - Use of Crawler Libraries)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

如何解决在 nextjs 中使用 sequelize 连接 mysql 报错:Please install mysql2 package manually

解决方案 手动设置 dialectModule 的值为 mysql2。增加 dialectModule 配置即可。 import mysql2 from mysql2 import { Sequelize } from sequelizeconst { DB_DATABASE, DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, DB_LOGGING, DB_POLL_MAX, DB_POLL_MIN, DB_POLL_ACQUIRE, …

Android Framework(八)WMS-窗口动效概述

文章目录 动画简述本地、远端动画的定义什么是“leash”图层“leash”图层的命令与创建 Winscope流程小结 动画流程概览分析Activity启动app_transition 动画的主要事件触发动画执行的套路动画真正执行动画的结束回调触发远端动画的Target 动画简述 1、动画的原理也是利用了视觉…

vue3 + Ant design vue formItem 无法使用嵌套的form表单校验

文章目录 前言一、背景在这里插入代码片二、操作步骤1.复现前的准备工作&#xff08;1&#xff09;vue版本和ant design vue 版本&#xff08;2&#xff09;任意页面的代码 2.解决问题3.自定义表单校验的代码 总结 前言 提示&#xff1a; 一、背景在这里插入代码片 背景&…

音视频入门基础:FLV专题(13)——FFmpeg源码中,解析任意Type值的SCRIPTDATAVALUE类型的实现

一、SCRIPTDATAVALUE类型 从《音视频入门基础&#xff1a;FLV专题&#xff08;9&#xff09;——Script Tag简介》中可以知道&#xff0c;根据《video_file_format_spec_v10_1.pdf》第80到81页&#xff0c;SCRIPTDATAVALUE类型由一个8位&#xff08;1字节&#xff09;的Type和…

go语言protoc的详细用法与例子

一. 原来的项目结构 二. 选择源proto文件及其目录&目的proto文件及其目录 在E:\code\go_test\simple_demo\api 文件夹下&#xff0c;递归创建\snapshot\helloworld\v1\ad.pb.go E:\code\go_test\simple_demo> protoc --go_outpathssource_relative:./api .\snapshot\h…

数据结构--二叉树的顺序实现(堆实现)

引言 在计算机科学中&#xff0c;二叉树是一种重要的数据结构&#xff0c;广泛应用于各种算法和程序设计中。本文将探讨二叉树的顺序实现&#xff0c;特别是堆的实现方式。 一、树 1.1树的概念与结构 树是⼀种⾮线性的数据结构&#xff0c;它是由 n(n>0) 个有限结点组成…

新款平行进口奔驰GLS450升级原厂AR实景导航人机交互行车记录仪等功能

平行进口的24款奔驰GLS450升级原厂中规导航主机通常具备以下功能&#xff1a; 人机交互系统&#xff1a;该导航主机配备了人机交互系统&#xff0c;可以通过触摸屏、旋钮或语音控制等方式与导航系统进行交互&#xff0c;方便驾驶者进行导航设置和操作。 实景AR导航&#xff1…

使用 classification_report 评估 scikit-learn 中的分类模型

介绍 在机器学习领域&#xff0c;评估分类模型的性能至关重要。scikit-learn 是一个功能强大的 Python 机器学习工具&#xff0c;提供了多种模型评估工具。其中最有用的函数之一是 classification_report&#xff0c;它可以全面概述分类模型的关键指标。在这篇文章中&#xff…

字符串和字符数组(1)

1.字符串和\0 C语言中有字符类型&#xff0c;但没有字符串类型&#xff0c;C语言中字符串就是由双引号引起来的一串字符&#xff0c;比如&#xff1a;"asdf"&#xff1b; 一个字符串中我们能直观的看到一些字符&#xff0c;比如&#xff1a;字符串常量"asdfgh…

三、Java AI 编程助手

AI 对于我们来说是一个高效的编程助手&#xff0c;给我们提供了有效的建议和解决方案&#xff0c;高效利用&#xff0c;无疑是如虎添翼。接下来为大家推荐一个 AI 编程助手。 Fitten Code 1、简介 Fitten Code 免费且支持 80 多种语言&#xff1a;Python、C、Javascript、Type…

2024.9.29 问卷数据分析

最近拿到了一份受众回访的问卷数据&#xff0c;排到的任务是对它进行数据探索。 其实对于问卷数据的处理我只在参加正大杯那次做过&#xff08;正大杯拿了校三&#xff09;&#xff0c;可见这个处理水平还有待提高&#xff08;当然是各种原因促成的结果&#xff09;&#xff0…

python配置环境变量

方法一&#xff1a;首先卸载重新安装&#xff0c;在安装时勾选增加环境变量 方法二&#xff1a;我的电脑-属性-高级系统配置 手动添加环境变量&#xff0c;路径为python的安装路径 检查&#xff1a;查看环境变量是否安装成功 安装第三方lib winr&#xff0c;输入cmd pip ins…

[SAP ABAP] 数据元素添加参数ID(Parameter ID)

学生表(ZDBT_STU_437) 示例&#xff1a;为学生表ZDBT_STU_437中的数据元素ZDE_STUID_437创建Parameter ID 1.使用事务码SM30维护TPARA表 新建参数ID并输入简短描述 点击保存按钮&#xff0c;选择指定的包即可生成参数ID 2.参数ID和数据元素绑定 使用SE11对学生表(ZDBT_STU_…

小程序 uniapp+Android+hbuilderx体育场地预约管理系统的设计与实现

目录 项目介绍支持以下技术栈&#xff1a;具体实现截图HBuilderXuniappmysql数据库与主流编程语言java类核心代码部分展示登录的业务流程的顺序是&#xff1a;数据库设计性能分析操作可行性技术可行性系统安全性数据完整性软件测试详细视频演示源码获取方式 项目介绍 用户 注册…

【ubuntu】ubuntu20.04安装chrome浏览器

1.下载 https://download.csdn.net/download/qq_35975447/89842972 https://www.google.cn/chrome/ 2.安装 sudo dpkg -i google-chrome-stable_current_amd64.deb 3.使用