Private Set Intersection from Pseudorandom CorrelationGenerators 最快PSI!导览解读

本文主要是介绍Private Set Intersection from Pseudorandom CorrelationGenerators 最快PSI!导览解读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、概述

二、相关介绍

三、性能对比

四、技术细节

1.KKRT

2.Pseudorandom Correlation Generators

3.A New sVOLE-Based BaRK-OPRF

4.BaRK-OPRF

五、总结

参考文献


一、概述

        这篇文章的主要脉络和核心思想是探讨如何利用伪随机相关生成器(PCG)改进私有集合交(PSI)协议。文章首先介绍了PCG的概念和作用,然后阐述了如何将PCG与分布式密钥生成协议相结合,以实现长伪随机相关性的高效生成。接着,文章重点讨论了PCG对私有集合交协议的改进作用,提出了两个主要结果:高度优化的半诚实PSI协议和利用PCG实现新相关性的协议。这些结果展示了PCG在安全计算应用中的潜在价值,为提高协议效率和性能提供了新的思路和方法。

        这篇文章的突破包括: 1. 针对私有集合交(PSI)协议,提出了高度优化的半诚实PSI协议,实现了竞争性的通信和显著的性能改进。 2. 利用PCG实现新相关性的协议,在标准模型下实现了全面的恶意安全性,且在通信和性能方面具有竞争优势。 3. 发现了Cuckoo hashing-based协议在PCG方面的优势,以及对KKRT协议的深入优化,使得通信复杂度完全独立于计算安全参数,为协议的进一步优化提供了新的可能性。 这些突破为安全计算应用中的私有集合交协议带来了新的发展方向和性能提升。

二、相关介绍

        目前主流的实现隐私求交PSI的关键技术包括:Key exchange-based、Cuckoo hashing-based、OKVS、Polynomial manipulation.

        其中,基于密钥交换的早期PSI协议使用Diffie-Hellman密钥交换技术,通信复杂度相对较低,但需要为每个项目计算多个指数,性能相对较差。基于Cuckoo哈希的PSI协议是过去几十年中最常用的PSI协议之一,通常与快速的无意识传输扩展相结合。最近,基于OKVS的PSI协议已经超越了基于Cuckoo哈希的协议,但是KKRT协议仍然是最具竞争力的PSI协议之一。基于多项式操作的PSI协议将数据集表示为有限域上的多项式,并通过对这些多项式进行操作来计算集合操作。虽然这些协议通常比基于Cuckoo哈希或OKVS的协议慢得多,但它们具有一些优点,例如实现更强的功能(如阈值私有集合交[GS19])并在标准模型下提供安全性。

        当然还有文章的“主角”:seudorandom correlation generators.在现代安全计算协议中,安全共享相关随机字符串是一个关键组成部分,PCG可以在几乎没有通信的情况下实现这个功能。PCG还可以用于构建无声无意识传输扩展协议,这些协议可以使用最小的(对数级别的)通信实现(伪随机)OT扩展。由于最高效的PSI协议依赖于高效的OT扩展,因此使用基于PCG的技术来提高其效率是一个自然的想法。最近,这种方法已经在基于OKVS的PSI协议中得到了应用,导致了迄今为止最有效的PSI协议[RS21]。基于OKVS的PSI协议现在已经牢固地确立为该领域的主导范式,使用PCG来进一步减少其通信开销似乎进一步扩大了与其他范式之间的差距。

三、性能对比

四、技术细节

1.BaRK-OPRF

这里Alice将获得所有数据伪随机数,并且Bob将获得所有种子。上面这个协议若基于OTE将十分高效的实践,但是当其应用到隐私求交时,我们需要注意Bob会将所有数据计算对应的伪随机函数并发送给Alice,其中的传输量将与Bob的数据量相关。当Bob的数据量较大时,需要发送整个数据集给Alice,传输开销“难以接受”。

引入Cuckoo Hash见小通信和计算开销


为了获得PSI协议,KKRT使用哈希将数据集映射到桶中。使用简单的哈希策略,对于大小为n的数据集,每个桶中最多只能有log n / log log n个项,这仍会导致显着的开销,因为必须比较同一桶中Alice和Bob的所有项对。

2.Pseudorandom Correlation Generators

PCG 是近年 MPC 研究的热点,它的本质是通过“短的种子”生成“长的随机串”(即相关随机数)。而在 MPC 应用中,“离线”阶段不再需要存储大量的相关随机数,而只需要存储少量的 PCG 种子。当“在线”阶段需要消耗相关随机数时,各方不需要任何交互,可以直接通过 PCG 种子产生所需的相关随机数。

两方的伪随机相关生成器由 PCG.Gen 和 PCG.Extend 两个算法构成,其中 PCG.Gen 可以由可信第三方或两方协议实现 [BCGI18][BCG+19b]。

 ● 随机算法,给定安全参数 ,输出一对种子 。

 ● 确定性算法,给定  及种子 ,输出伪随机串 ,并且满足 。

3.vector OLE


看图中实现的效果,Alice将获得u和v,Bob将获得∆和w,并满足最后的条件。本文的将要使用vole代替oprf,或者说使用vole版的oprf。w、v、u均为向量。

Alice发送z=x-u给Bob,并且自身计算 H(i,v_i) 即可,

Bob计算(k1, · · · , kn) = ∆ · z + w,F_{\Delta, k_i}(y)=H(i, k_i-\Delta y)

正确性验证:

为什么使用VOLE实现OPRF。

1. 高效性:VOLE协议可以高效地生成伪随机相关性,这对于实现OPRF协议是非常重要的。通过使用VOLE,可以在保持安全性的同时,实现高效的协议,这对于实际应用中的性能至关重要。近年来VOLE非常火热的安全协议,将带来效率的大幅度提升。
2. 隐私保护:VOLE协议允许两方计算他们的输入的线性函数,同时不泄露有关输入的任何信息。这种隐私保护特性对于构建安全的OPRF协议至关重要,因为它确保了参与方的输入保持私密。
3. 安全性:VOLE协议提供了安全的计算环境,确保了计算的正确性和隐私性。这对于构建安全的OPRF协议是至关重要的,因为OPRF协议需要在不暴露输入的情况下进行计算。 因此,使用sVOLE来实现OPRF可以同时保证高效性、隐私保护和安全性,使得OPRF协议在实际应用中更加可行和可靠。

五、总结

本文介绍了向量OLE和sVOLE在实现OPRF协议中的重要性和应用。向量OLE是一种密码学原语,允许两个参与方计算它们各自输入向量的内积,同时不泄露有关它们个体输入的任何信息。sVOLE是一种基于子域的向量OLE协议,可以高效地生成伪随机相关性,同时保护参与方的隐私。 OPRF是一种重要的密码学原语,用于在不暴露输入的情况下计算伪随机函数。使用sVOLE来实现OPRF协议可以同时保证高效性、隐私保护和安全性,使得OPRF协议在实际应用中更加可行和可靠。 本文还介绍了一些相关的研究成果和技术,包括私有集合交集协议、安全多方计算、Cuckoo hashing-based协议等。这些技术和成果都与向量OLE和sVOLE密切相关,为实现安全、高效的计算提供了重要的支持和保障。 总之,向量OLE和sVOLE在实现OPRF协议中具有重要的应用和意义,可以为实现安全、高效的计算提供重要的支持和保障。

参考文献

相关资料——https://download.csdn.net/download/niujinya/88610168

[BC22] Private Set Intersection from Pseudorandom Correlation Generators

[GS19] S. Ghosh and M. Simkin. The communication complexity of threshold private set intersection.In CRYPTO 2019, Part II, LNCS 11693, pages 3–29. Springer, Heidelberg, August 2019.

[RS21] P. Rindal and P. Schoppmann. VOLE-PSI: Fast OPRF and circuit-PSI from vector-OLE. LNCS,pages 901–930. Springer, Heidelberg, 2021

[KKRT16] V. Kolesnikov, R. Kumaresan, M. Rosulek, and N. Trieu. Efficient batched oblivious PRF with applications to private set intersection. In ACM CCS 2016, pages 818–829. ACM Press, October 2016.

[KRTW19] V. Kolesnikov, M. Rosulek, N. Trieu, and X. Wang. Scalable private set union from symmetric-key techniques. In ASIACRYPT 2019, Part II, LNCS 11922, pages 636–666. Springer, Heidelberg, December 2019.

[CM20] M. Chase and P. Miao. Private set intersection in the internet setting from lightweight oblivious PRF. In CRYPTO 2020, Part III, LNCS 12172, pages 34–63. Springer, Heidelberg, August 2020.

[PRTY20] B. Pinkas, M. Rosulek, N. Trieu, and A. Yanai. PSI from PaXoS: Fast, malicious private set intersection. In EUROCRYPT 2020, Part II, LNCS 12106, pages 739–767. Springer, Heidelberg, May 2020.

[GPR+21] G. Garimella, B. Pinkas, M. Rosulek, N. Trieu, and A. Yanai. Oblivious key-value stores and amplification for private set intersection. LNCS, pages 395–425. Springer, Heidelberg, 2021.

[CRR21] G. Couteau, P. Rindal, and S. Raghuraman. Silver: Silent VOLE and oblivious transfer from hardness of decoding structured LDPC codes. LNCS, pages 502–534. Springer, Heidelberg, 2021.

这篇关于Private Set Intersection from Pseudorandom CorrelationGenerators 最快PSI!导览解读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr

关于Gateway路由匹配规则解读

《关于Gateway路由匹配规则解读》本文详细介绍了SpringCloudGateway的路由匹配规则,包括基本概念、常用属性、实际应用以及注意事项,路由匹配规则决定了请求如何被转发到目标服务,是Ga... 目录Gateway路由匹配规则一、基本概念二、常用属性三、实际应用四、注意事项总结Gateway路由

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon