隐私计算让数据在加密状态下安全使用。随着GDPR和个人信息保护法的实施,传统数据共享方式已不符合法规要求。这项技术使医院、银行等机构能在不泄露原始数据的情况下合作分析,解决了"数据能用但看不见"的关键需求。
1. 同态加密(TenSEAL库)
import tenseal as ts
ctx = ts.context(ts.SCHEME_TYPE.BFV) # 设置同态加密方案
enc1, enc2 = ts.bfv_vector(ctx, [5]), ts.bfv_vector(ctx, [3]) # 加密数字5和3
result = enc1 + enc2 # 密文相加(解密后得[8])
核心:enc1 + enc2直接对加密数据运算,无需解密。
2. 联邦学习(PySyft库)
import syft as sf
data = sf.Tensor([1,2,3]).send(bob) # 数据发送给参与方bob(模拟数据留在本地)
grad = data * 0.1 # 模拟本地计算梯度(实际为模型训练)
核心:.send()模拟数据分布式存储,grad仅传计算结果。
3. 多方安全计算(MPC, PySyft库)
alice, bob = sf.VirtualMachine(), sf.VirtualMachine() # 模拟两方
shared_x = sf.Tensor([5]).share(alice, bob) # 数据5分片给alice和bob
result = shared_x + shared_x # 双方协同计算(结果分片为10)
核心:.share()将数据分片,计算时各片独立运算。
总结
| 技术 | 核心代码 | 关键动作 |
|---|---|---|
| 同态加密 | enc1 + enc2 | 密文直接计算 |
| 联邦学习 | data.send() + 梯度计算 | 数据不离本地,传结果 |
| MPC | .share() + 分片计算 | 数据分散,协同计算 |
这些代码需安装对应库(pip install tenseal pysyft),实际应用需扩展协议和错误处理,但核心逻辑已足够表明原理。