第五讲 基于PSI的场景示例

2401_85676317 2024-12-07 11:20:52

在这里插入图片描述

 

import socket
from contextlib import closing
from typing import cast

def unused_tcp_port() -> int:
    """"Return an unused port"""
    with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
        sock.bind(("",0))
        sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
        return cast(int,sock.getsockname()[1])

print(unused_tcp_port())
import secretflow as sf
import spu
import os
cluster_config ={
    'parties': {
        'alice': {
            # replace with alice's real address.
            'address': 'ip:port of alice',
            'listen_addr': '0.0.0.0:50649'
            },
        'bob': {
            # replace with bob's real address.
            'address': 'ip:port of bob',
            'listen_addr': '0.0.0.0:45171'
        },
    },
    'self_party': 'alice'
}
sf.init(address='{Ray head node address of alice}',cluster_config=cluster_config)
import secretflow as sf
import spu
import os

network_conf = {
    "parties": {
        "alice": {
            "address": "alice:50649",
        },
        "bob": {
            "address": "bob:45171",
        },
    },
}

party = os.getenv("SELF_PARTY", "alice")
sf.shutdown()
sf.init(
    address="127.0.0.1:6379",
    cluster_config={**network_conf, "self_party": party},
    log_to_driver=True,
)
import secretnote as sn
import pandas as pd

# 读取数据集
payment_data = pd.read_csv('payment.csv')
record_data = pd.read_csv('record.csv')

# 确保数据集包含'uid'列
payment_uids = payment_data['uid']
record_uids = record_data['uid']

psi=sn.Psi()

# 银行和公安分别持有各自的数据集,这里我们模拟这个过程
# 银行将数据发送给SecretNote PSI
psi.set_elements(payment_uids.tolist())

# 公安将数据发送给SecretNote PSI
psi.set_elements(record_uids.tolist())

# 计算交集
intersection = psi.compute()

# 输出交集大小和内容
print(f"交集大小: {len(intersection)}")
print(f"交集内容: {intersection}")

 

...全文
35 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

551

社区成员

发帖
与我相关
我的任务
社区描述
隐语开源社区,隐私计算开发者交流和讨论的平台。
密码学可信计算技术安全 企业社区
社区管理员
  • 隐语SecretFlow
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

【最新活动】

3月18日:隐私计算实训营第一期

试试用AI创作助手写篇文章吧