安全多方计算简介

安全多方计算

安全多方计算(SecureMulti-partComputation,MPC)是80年代提出的一个概念,它已成为隐私计算的核心技术之一。在密码学和区块链技术应用中占据重要地位。

MPC数学定义:

假设存在n个参与方 P 1 , P 2 , … , P n P_1,P_2,\ldots,P_n P1,P2,,Pn,每个参与方都有一个私有输入数据 x x x,所有参与方共同计算某个函数 f ( x 1 , x 2 , … , x n ) f(x_1,x_2,\ldots,x_n) f(x1,x2,,xn),且要求在计算结束时,每个参与方 P i P_i Pi只能得到私有输入数据 x i x_i xi的输出,而不能获取其他参与方的输入信息及输出结果信息。

公式:
( y 1 , y 2 , … , y n ) = f ( x 1 , x 2 , … , x n ) (y_1,y_2,\ldots ,y_n)=f(x_1,x_2,\ldots ,x_n) (y1,y2,,yn)=f(x1,x2,,xn)
基本要求:

  • 隐私性:除了函数输出外,不泄露任何输入数据的信息
  • 正确性:保证协议输出为指定函数的结算结果

image-20240509135412718

安全多方计算分类

  1. 不诚实参与方的数量占比

    • 诚实大多数:诚实参与方占据大多数
    • 不诚实大多数:不诚实参与方占据大多数

    image-20240509135954568

  2. 敌手行为

    • 半诚实敌手:按照协议描述执行,但试图从协议记录中获取信息
    • 恶意敌手:可以执行任何攻击,发送任意的消息
  3. 输出可达性

    • 中止安全(Security with abort):恶意实体获得输出后,可终止协议使得诚实实体不能获得输出
    • 公平性(Fairness):如果一个实体获得输出,那么所有实体获得输出
    • 保证输出传送(Guaranteed output delivery):所有实体一定获得输出

    一般而言,不诚实大多数情况仅能达到中止安全,而诚实大多数情况能达到公平性和保证输出传送。

  4. 计算模型

    • 布尔电路:由逻辑门(AND、XOR)等组成的电路
    • 算数电路:域/环上操作(ADD、MULT)成的电路
    • RAM程序:由Read、Write等指令组成的程序

    image-20240509140702890

  5. 敌手计算能力

    • 概率多项式时间(Probabilistic Polynomial Time):任意PPT敌手不能打破协议安全
    • 无限计算能力(信息论安全或无条件安全):即使无限计算能力的敌手也不能打破协议安全性 (抵抗量子计算机攻击)

    熟悉密码学的同学应该对这两个名词不会感到陌生。信息论安全MPC协议需要在诚实大多数模型下设计。

  6. 腐化策略

    腐化策略指的是攻击者确定攻破并控制参与方的策略。下面给出两种腐化策略:

    • 静态腐化(Static Corruption):在协议运行前,敌手决定腐化(Corrupt)哪些实体
    • 自适应腐化(Adaptive Corruption):在协议运行过程中,敌手能自适应决定腐化哪些实体

    对比密码学中的适应性选择明文攻击和非适应性选择明文攻击可以看出,自适应腐化比静态腐化更强。

  7. 通信网络

    • 同步(Synchronous)网络模型:在一个交互轮的消息在固定延时 Δ \Delta Δ一定到达
    • 异步(Asynchronous)网络模型:没有要求同步时钟,也没有要求预先固定的网络延时,更加现实的网络假设

安全多方计算基础组件

image-20240509135631406

以上是安全多方计算基础组件图。这里简单介绍零知识证明,同态加密。

零知识证明

零知识证明(ZKP,Zero-Knowledge Proof)是一种新兴的密码学工具,证明者(prover)可以用其向验证者(verifier)证明某个声明,而不泄露其他额外的信息。

image-20240509141859342

打个比方,如果我有一个很复杂的拼图需要完成,但我知道靠我的能力完成这个拼图会非常艰难甚至说根本拼不出来,这时我就需要找一个擅长拼图,能把我的拼图拼好的人来帮我。这时来了一个人,他跟你说他能完成这个拼图,只要你给他一笔报酬。你当然不会轻易相信他说的话,于是你要先让他证明他有这个拼图的能力。

如何证明呢?这就是问题的关键,最简单的想法就是当着你面让他把拼图拼好。但对方不愿意这样做,因为在他拼图的过程中,他可能会用到自己的“独家秘笈”,而这个他是绝对不愿意让别人看到的。于是,只能在不暴露他的特技的情况下证明他有这个能力。在这种情况下的证明就是所谓的零知识证明。

现实生活中的例子(以身份认证系统为例):

零知识证明三大性质:

  1. 完备性(Completeness):若声明是真,那么验证者总是接受证明
  2. 可靠性(Soundness):若声明为假,则验证者总是拒绝证明
  3. 零知识(Zero-Knowledge):即验证者无法从该证明过程中获取额外的信息

不同的零知识性:

  1. 完美的零知识性(Perfet Zero-Knowledge):在这个协议中,证明者泄露给验证者的额外信息是0
  2. 统计学的零知识性(StatisticalZero-Knowledge):在整个协议中,证明者泄露给验证者的额外信息是可忽略的
  3. 基于算力假设的零知识性 (Computational Zero-Knowledge):在任意一个随机多项式时间内,在整个协议中,证明者泄露给验证者的额外信息是可忽略的

同态加密

无论是在密码学的课上,还是在信息论的课上,同态加密都会被讲到。同态加密的概念也并不复杂,它就是一类具有特殊属性的加密方法。

与一般加密算法相比,同态加密除了能实现基本的加密操作之外,还能实现密文间的多种计算功能,即先计算后解密可等价于先解密后计算。下图是一个典型的加法同态的例子:

image-20240509144137671

同态加密研究较为深入的是加法同态和乘法同态。

  • 加法同态:如果存在有效算法 ⊕ \oplus E ( x + y ) = E ( x ) ⊕ E ( y ) E(x+y)=E(x)\oplus E(y) E(x+y)=E(x)E(y)或者 x + y = D ( E ( x ) ⊕ E ( y ) ) x+y=D(E(x)\oplus E(y)) x+y=D(E(x)E(y))成立,并且不泄漏x和y。
  • 乘法同态:如果存在有效算法 ⊗ \otimes E ( x × y ) = E ( x ) ⊗ E ( y ) E(x\times y)=E(x)\otimes E(y) E(x×y)=E(x)E(y)或者 x × y = D ( E ( x ) ⊗ E ( y ) ) x\times y=D(E(x)\otimes E(y)) x×y=D(E(x)E(y))成立,并且不泄漏x和y。

其他同态加密还有混合乘法同态、减法同态、除法同态等,大体定义都差不多,这里就不一一介绍了。

目前加法同态加密已经应用到区块链项目中,而乘法同态由于存在算法设计、密钥存储等问题还难以落地。

image-20240509145434378

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

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

相关文章

python实现英文短文自动分词写入文本文件

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.分析 一.前言 英文短文自动分词(Automatic Word Segmentation)在自然语言处理和文本分析中有着广泛的应用。

详解typora配置亚马逊云科技Amazon S3图床

欢迎免费试用亚马逊云科技产品:https://mic.anruicloud.com/url/1333 当前有很多不同的博客社区,不同的博客社区使用的编辑器也不尽相同,大概可以分为两种,一种是markdown格式,另外一种是富文本格式。例如华为云开发者…

深度学习基础之《TensorFlow框架(17)—卷积神经网络》

一、卷积神经网络介绍 1、背景 随着人工智能需求的提升,我们想要做复杂的图像识别,做自然语言处理,做语义分析翻译等等,多层神经网络的简单叠加显然力不从心 2、卷积神经网络与传统多层神经网络对比 (1)传…

MotionDiffuse: Text-Driven Human Motion Generation withDiffusion Model # 论文阅读

URL https://arxiv.org/pdf/2208.15001 主页:https://mingyuan-zhang.github.io/projects/MotionDiffuse.html TD;DR 22 年 8 月商汤的文章,引用量 200。基于 SD,任务是输入文本的动作描述,生成对应的动作序列。 已有的 moti…

windows 10安装 docker desktop

升级 windows 10 windows 10 升级到 20H2,如 20H2 19045.4291。 注意:需返回更新,重启计算机,确保更新完整。 bios 开启虚拟化 开启cpu虚拟化功能。 windows 启用功能 启用hyper-v 启用 wsl 安装 wsl https://learn.microso…

【环境配置】vsCode 中使用 conda 配置虚拟环境

文章目录 准备前言在 vsCode 中直接创建创建步骤测试更新环境 使用 Anaconda 建立虚拟环境创建步骤在 vsCode 中选择环境 总结 准备 在看本博客之前,希望大家有以下知识储备: 能够正确安装 vsCode,并配置好 python 环境;了解并安…

一觉醒来 AI科技圈发生的大小事儿 05月09日

📳AlphaFold 3 重磅问世,全面预测蛋白质与所有生命分子相互作用及结构,准确性远超以往水平 Google DeepMind发布了AlphaFold3模型,能够联合预测蛋白质、核酸、小分子等复合物结构,准确性显著提高,对跨生物…

Flask SQLAlchemy 技术指南

文章目录 什么是 Flask SQLAlchemy?安装 Flask SQLAlchemy创建 Flask 应用和数据库模型添加和查询数据运行 Flask 应用总结**数据库迁移(Database Migrations)****复杂查询****关系模型****事务处理****性能优化****安全性****扩展功能** Fla…

深化产教融合,泰迪智能科技助力西南林业大学提质培优

2024年5月7日,泰迪智能科技昆明分公司院校部总监查良红和数据部负责人余雄亮赴西南林业大学理学院就工作室共建事宜进行交流会谈。西南林业大学理学院院长张雁、党委副书记魏轶、副院长谢爽、就业负责人罗丽及学生代表参与本次交流会。 会议伊始,谢副院长…

邮件大附件系统如何进行安全、高效的大附件发送?

邮件大附件系统是一套解决传统电子邮件系统,在发送大文件时遇到限制的解决方案。由于传统电子邮件系统通常对附件大小有限制,这使得发送大文件变得困难。邮件大附件系统通过各种技术手段,允许用户发送超过传统限制的大文件,通常在…

07-面向对象编程(基础部分)

学习java最核心最重要的就是要理解面向对象。 1. 类与对象 1.1 介绍 类是抽象的,概念的,代表一类事物,比如人类,猫类,狗类.., 即它是数据类型。 对象是具体的,实际的,代表一个具体事物,&…

Leetcode227. 基本计算器 II

Every day a Leetcode 题目来源&#xff1a;227. 基本计算器 II 解法1&#xff1a;单栈模拟 因为没有括号&#xff0c;所以可以简化成单栈。 代码&#xff1a; class Solution { public:int calculate(string s){vector<int> nums;char preSign ;int num 0;int n …

Android 系统版本与SDK API对应关系-2024.5

官网地址&#xff1a;https://developer.android.google.cn/tools/releases/platforms?hlth

经典分类网络LeNet5和VGG16项目:实现CIFAR10分类

CIFAR10分类 v1&#xff1a;LeNet5&#xff1a;2cnn3fc 可视化结果 精确率 损失 最佳 v2&#xff1a;LeNet5&#xff1a;3cnn2fc 可视化结果 精确率 损失 最佳 v3&#xff1a;LeNet5&#xff1a;2cnnbnres3fc 可视化结果 精确率 损失 最佳 v4&#xff1a;VG…

Sarcasm detection论文解析 |基于语义知识和辅助信息增强讽刺检测方法

论文地址 论文地址&#xff1a;https://www.sciencedirect.com/science/article/abs/pii/S0306457322000139?via%3Dihub 论文首页 笔记框架 基于语义知识和辅助信息增强讽刺检测方法 &#x1f4c5;出版年份:2022 &#x1f4d6;出版期刊:Information Processing & Managem…

如何把公章盖在电子档文件上?

将公章盖在电子档文件上&#xff0c;尤其是确保其法律效力和安全性&#xff0c;通常涉及以下步骤&#xff1a; 准备工作 获取合法的电子公章&#xff1a;确保你拥有公司或机构正式授权的电子公章图像&#xff0c;且该图像经过了必要的加密或数字签名处理&#xff0c;以确保其…

使用海外云手机为亚马逊店铺引流

在全球经济一体化的背景下&#xff0c;出海企业与B2B外贸企业愈发重视海外市场的深耕&#xff0c;以扩大市场份额。本文旨在探讨海外云手机在助力亚马逊店铺提升引流效果方面的独特作用与优势。 海外云手机&#xff0c;一种基于云端技术的虚拟手机&#xff0c;能够在单一硬件上…

let命令

let 命令 let 与 var 二者区别&#xff1a; 作用域不同&#xff1a;变量提升&#xff08;Hoisting&#xff09;&#xff1a;临时性死区重复声明&#xff1a; 联系&#xff1a;举例说明&#xff1a; 块级作用域 块级作用域的关键字使用 var&#xff08;无块级作用域&#xff09;…

JavaScript手写专题——图片懒加载、滚动节流、防抖手写

图片懒加载场景&#xff1a;在一些图片量比较大的网站&#xff08;比如电商网站首页&#xff0c;或者团购网站、小游戏首页等&#xff09;&#xff0c;如果我们尝试在用户打开页面的时候&#xff0c;就把所有的图片资源加载完毕&#xff0c;那么很可能会造成白屏、卡顿等现象&a…

ICode国际青少年编程竞赛- Python-2级训练场-range函数

ICode国际青少年编程竞赛- Python-2级训练场-range函数 1、 for i in range(4):Dev.turnLeft()Dev.step(i 1)2、 for i in range(4):Spaceship.step(i 1)Spaceship.turnRight()3、 for i in range(4):Spaceship.step(i 1)Dev.step(2)Dev.step(-2)4、 for i in range(1, 5)…