MPC相关介绍

本文介绍了 Oblivious PRF (OPRF) 技术如何通过多方计算协议实现,以及Cuckoohashing在数据分箱中的应用。重点展示了PSSZ协议如何结合OPRF和Cuckoohashing寻找两方集合的交集,确保隐私的同时进行有效协作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Oblivious PRF (OPRF):一种计算PRF(伪随机函数)的基于MPC协议的方法,一方持有PRF的key k,另外一方持有PRF的输入x,于是持有输入的一方能得到Fk(x)。

2.Cuckoo hashing

使用Cuckoo hashing协议把n个items放到b个bin中。首先随机选择3个哈希函数h1,h2,h3,该函数把{0,1}^*隐射到一个bin中。初始化每个bin为空。对于一个x,首先判断h1(x),h2(x),h3(x)对应的bin是否为空,如果是空的话,就把x放到这三个bin中的一个。如果非空的话,先在其对应的三个bin中随机选择一个bin,并且把这个bin中的元素清空,用x代替。然后递归的把被清空的元素插入到bin中。

 3.PSSZ(利用OPRF和Cuckoo hashing来求两方的集合的交集)

主要思想:P1先针对自己的元素进行分箱操作,也就是在Cuckoo hashing的基础上把自己的元素装进bin中。然后计算PRF:PRF的key=这个元素所在的bin的标号,PRF的value=x。P2按照同样的方法操作,把计算出来的PRF的值发给P1,然后P1把自己的值和P2发过来的值进行比较,判断是否有相同的元素。

### 隐私计算中MPC(多方安全计算)的入门原理 #### 什么是MPCMPC(Multiparty Computation,多方安全计算)是一种密码学技术,其核心目标是在多个参与方之间进行协同计算时,确保各方输入的数据保持隐私性。具体来说,它允许多个参与者共同执行某个函数计算,而无需暴露各自的敏感数据[^2]。 #### MPC的核心概念 MPC的目标是让一组互不信任的参与方能够联合计算一个公共函数 \( f(x_1, x_2, \ldots, x_n) \),其中每个参与方仅知道自己的输入 \( x_i \),并最终获得正确的输出结果,而不泄露任何其他参与方的具体输入信息[^1]。 #### 实现方式 MPC通常通过一系列复杂的密码学协议来实现,这些协议主要包括但不限于以下几种: 1. **秘密分享(Secret Sharing)** 秘密分享是MPC中最常用的技术之一。它的基本思想是将一个秘密拆分成若干部分,并将其分配给不同的参与方。只有当足够的份额被组合在一起时,才能恢复原始的秘密。这种机制确保了单个参与方无法单独获取完整的秘密[^3]。 2. **混淆电路(Garbled Circuits)** 混淆电路是一种用于两方或多党计算的经典方法。在这种方案下,整个计算过程会被转化为布尔电路的形式,然后通过对电路中的逻辑门进行加密处理,使得即使攻击者截获了通信内容也无法推断出实际的输入值[^5]。 3. **同态加密(Homomorphic Encryption)** 同态加密允许直接对已加密的数据进行特定类型的运算操作,而不需要先解密它们。这意味着可以在不解密的情况下完成加法或乘法等基础算术运算,非常适合于某些场景下的隐私保护需求[^4]。 #### 应用实例 为了更好地理解如何应用MPC,在人脸识别领域有一个典型案例——利用MPC实现基于VGG16模型的人脸识别隐私推理。在这个过程中,借助MPC技术,既可以有效训练深度学习模型又不会泄漏训练样本和个人身份特征等相关细节。 综上所述,MPC作为一项前沿性的隐私增强工具,在保障信息安全方面发挥着不可替代的作用;然而值得注意的是,随着问题规模增大以及复杂度提升,现有解决方案可能会面临性能瓶颈等问题亟待解决。 ```python # 示例代码展示简单的秘密分享算法 def secret_sharing(secret, num_parties): shares = [] for i in range(num_parties - 1): share = random.randint(0, secret) shares.append(share) last_share = (secret - sum(shares)) % secret shares.append(last_share) return shares shares = secret_sharing(100, 3) print(f'Shares: {shares}') reconstructed_secret = sum(shares) % 100 print(f'Reconstructed Secret: {reconstructed_secret}') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值