【Paper Reading】BatchCrypt: Efficient Homomorphic Encryption for Cross-Silo Federated Learning

BatchCrypt: Efficient Homomorphic Encryption for Cross-Silo Federated Learning

原文来源:[ATC 2020] BatchCrypt- Efficient Homomorphic Encryption for Cross-Silo Federated Learning

欢迎大家访问我的GitHub博客

https://lunan0320.cn

0. Abstract

Cross-silo federated learning (FL) 使得一些如 financial or medical 可通过 aggregating local gradient updates 训练一个机器学习模型

mask local gradient updates : additively homomorphic encryption (HE)

问题:HE 带来了大量的 computation and commu

Homomorphic Encryption-based PIR(Private Information Retrieval)算法是一种保护隐私的数据检索算法。它通过将数据分散储存在多个不同的数据库中,使得单个数据库无法得到完整的数据,进而保证数据的安全性和隐私性。 以下是一个使用Python实现Homomorphic Encryption-based PIR算法的示例代码: ```python import random from phe import paillier # 初始化密钥 public_key, private_key = paillier.generate_paillier_keypair() # 定义数据集 data_set = [random.randint(0, 100) for _ in range(10)] # 对数据集进行加密 encrypted_data_set = [public_key.encrypt(x) for x in data_set] # 随机选择一个数据项进行查询 index = random.randint(0, len(encrypted_data_set) - 1) # 生成查询向量 query_vector = [public_key.encrypt(0) for _ in range(len(encrypted_data_set))] query_vector[index] = public_key.encrypt(1) # 对查询向量进行加密 encrypted_query_vector = [private_key.raw_encrypt(x) for x in query_vector] # 对加密后的查询向量和数据集进行点乘操作 result = sum([encrypted_data_set[i] * encrypted_query_vector[i] for i in range(len(encrypted_data_set))]) # 解密查询结果 decrypted_result = private_key.decrypt(result) print("查询结果:", decrypted_result) ``` 在这个示例中,我们使用了Python的PHE库来实现Paillier公钥加密算法,并且使用随机生成的数据集进行演示。我们首先生成Paillier加密算法的公钥和私钥,然后对数据集中每个数据项进行加密。接着,我们随机选择一个数据项进行查询,并生成一个查询向量进行加密。最后,我们对加密后的查询向量和数据集进行点乘操作,得到查询结果,并使用Paillier私钥进行解密,得到最终的查询结果。 需要注意的是,这个示例只是一个简单的演示,实际应用中需要根据具体的需求进行适当的修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lunan0320

你的鼓励将是lunan最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值