隐语-PSI

 PSI的分类/调用架构

                           

隐语PSI功能分层

示例代码:

import spu
import secretflow as sf

# alice
cluster_config ={
   'parties':{
                'alice':{
                        'address': '172.26.0.3:52000',
                        'listen_addr': '0.0.0.0:52000'
                        },
                'bob':{

                        'address':'172.26.0.2:52000',
                        'listen_addr': '0.0.0.0:52000'
                        }
                },
                'self_party':'alice'
            }

sf.shutdown()
sf.init(address='local',cluster_config=cluster_config)

# bob
import spu
import secretflow as sf

cluster_config ={
   'parties':{
                'alice':{
                        'address': '172.26.0.3:52000',
                        'listen_addr': '0.0.0.0:52000'
                        },
                'bob':{

                        'address':'172.26.0.2:52000',
                        'listen_addr': '0.0.0.0:52000'
                        }
                },
                'self_party':'bob'
            }

sf.shutdown()
sf.init(address='local',cluster_config=cluster_config)

# Create SPU

cluster_def={
    "nodes":[
        {"party": "alice", "address": "172.26.0.3:41805"},
        {"party": "bob", "address": "172.26.0.2:52397"}
    ],
    "runtime_config":{
        "protocol": spu.spu_pb2.SEMI2K,
        "field": spu.spu_pb2.FM128
        }
    }

spu = sf.SPU(cluster_def, 
    link_desc={
        "connect_retry_times": 60, 
        "connect_retry_interval_ms":1000,
        })


# create data alice
import pandas as pd

alice_df = pd.DataFrame({
   "name": ["mike", "tony", "john", "kate"],
   "age": [15,13,20,21]})
alice_df.to_csv("/root/psi/data/alice_psi_input.csv", index=False)


# create data bob
import pandas as pd

bob_df = pd.DataFrame({
   "name": ["alice", "tony", "john", "kitty"],
   "age": ["A","B","C","D"]})
bob_df.to_csv("/root/psi/data/bob_psi_input.csv", index=False)

# create psi
spu.psi_v2(
    keys={"alice":["name"],"bob":["name"]},
    input_path={"alice":f"/root/psi/data/alice_psi_input.csv", "bob":f"/root/psi/data/bob_psi_input.csv"},
    output_path={"alice":f"/root/psi/data/alice_psi_output.csv","bob":f"/root/psi/data/bob_psi_output.csv"},
    receiver="alice",
    broadcast_result=True,
    protocol="PROTOCOL_ECDH",
    ecdh_curve="CURVE_25519")

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值