诚实大多数下抵抗恶意敌手的高效安全三方计算

2024-02-06 09:50

本文主要是介绍诚实大多数下抵抗恶意敌手的高效安全三方计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ABSTRACT

本文提出一个新的恶意安全下诚实多数的关于任意函数的安全三方计算协议。该工作基于Araki 等人(CCS'2016)提出的半诚实协议,改进为恶意敌手、诚实大多数模型下的Correct with Abort 安全三方计算协议。主要是通过构造Beaver乘法元组来对门电路进行验证,从而达到计算正确的目的。不同于TinyOT和SPDZ,本文基于cut-and-choose范式来保证元组被正确构造,同时提出新的可被用在相关cut-and-choose的组合分析方法。论文原文链接如下:

https://link.springer.com/chapter/10.1007/978-3-319-56614-6_8

INTRODUCTION

安全计算的设定中,要求一组互不信任的多方联合计算一个约定的函数得到输出,而不泄漏关于输入的任意信息。安全计算协议要求保证1)Privacy;2)Correctness。为刻画安全性,对敌手的行为分为半诚实和恶意两种,对敌手的数量分为诚实多数和恶意多数两种。尽管前人已有工作做到使协议满足计算安全性或者统计安全性。但是这些在半诚实或者恶意的设定下要做到统计安全性要求诚实者的数量不少于2/3。

通常有两种方法来构造通用安全计算协议的方法:

1)基于Secret-Sharing,优点是适用于低带宽,通信量少,但是交互多。

2)基于Garbled-Circuits的方法,优点是常数轮交互,适用于高延迟网络的场景,但是混乱电路带来巨大的通信开销。

本文关注在恶意安全下诚实多数的三方计算,期望在一个高速的网络环境下实现高通量(适用于一个网络设备较好的场景下,计算效率高,吞吐量大)。Araki 等人提出的半诚实协议能实现每秒70亿的AND门计算。我们的方法满足恶意安全性,在同样的实验设定下性能上可以达到50亿的门电路计算。

特别说明:本文工作仅适用于3方的情况,且仅仅是恶意安全下诚实多数情况的Correct with Abort。没有实现Fairness.

BUILDING BLOCKS AND SUBPROTOCOLS

The Secret Sharing Scheme

 

 

 

 

 

作为一个辅助协议,需要计算一个array的随机排列

Proposition 4: 协议2.13满足诚实多数下的恶意安全

 

 

 

 

SECURE COMPUTATION OF ANY FUNCTIONALITY

这一小节说明如何利用前面介绍的子协议计算任意函数f。

EFFICIENCY AND COMPARISON

本文与P. Mohassel et al.提出的方法(CCS‘15)进行了比较

Future Work

除了隐私保护,安全多方计算还能保证正确定、公平性和输出可达性。目前在隐私保护机器学习和安全多方计算结合的领域,业界最新的方案已经做到了诚实大多数下的输出可达性,一般是五方或者四方下的。而本次介绍的论文则是后续方案的基础部分。本专栏计划后续将逐步介绍该部分工作。

作者简介

董业, 本科毕业于山东大学计算机科学与技术专业,目前在中国科学院信息工程研究所攻读博士学位。主要研究兴趣包括隐私保护、安全多方计算、同态加密和机器学习。知乎:酸菜鱼。

 

这篇关于诚实大多数下抵抗恶意敌手的高效安全三方计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/683930

相关文章

Java高效实现PowerPoint转PDF的示例详解

《Java高效实现PowerPoint转PDF的示例详解》在日常开发或办公场景中,经常需要将PowerPoint演示文稿(PPT/PPTX)转换为PDF,本文将介绍从基础转换到高级设置的多种用法,大家... 目录为什么要将 PowerPoint 转换为 PDF安装 Spire.Presentation fo

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

C#高效实现Word文档内容查找与替换的6种方法

《C#高效实现Word文档内容查找与替换的6种方法》在日常文档处理工作中,尤其是面对大型Word文档时,手动查找、替换文本往往既耗时又容易出错,本文整理了C#查找与替换Word内容的6种方法,大家可以... 目录环境准备方法一:查找文本并替换为新文本方法二:使用正则表达式查找并替换文本方法三:将文本替换为图

Python如何实现高效的文件/目录比较

《Python如何实现高效的文件/目录比较》在系统维护、数据同步或版本控制场景中,我们经常需要比较两个目录的差异,本文将分享一下如何用Python实现高效的文件/目录比较,并灵活处理排除规则,希望对大... 目录案例一:基础目录比较与排除实现案例二:高性能大文件比较案例三:跨平台路径处理案例四:可视化差异报

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro