Yang's blog Yang's blog
首页
Java
密码学
机器学习
命令手册
关于
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

xiaoyang

编程爱好者
首页
Java
密码学
机器学习
命令手册
关于
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 现代密码学

    • Chapter 0:Introduction to Modern Cryptography
    • Chapter 1:Introduction and Classical Cryptography
    • Chapter 2:Perfectly Secret Encryption
    • PChapter 3:rivate-Key Encryption
    • Chapter 4:Message Authentication Codes
    • Chapter 5:CCA-Security and Authenticated Encryption
    • Chapter 6:Hash Functions and Applications
    • Chapter 9:Number Theory and Cryptographic Hardness Assumptions
    • Chapter 11:Key Management and the Public-Key Revolution
  • 对称加密

    • DES加密算法详解
  • 同态加密方案

    • RSA乘法同态
    • Paillier 加法同态
    • 可验证Paillier同态加密
    • CKKS EXPLAINED PART 1, VANILLA ENCODING AND DECODING
    • CKKS EXPLAINED, PART 2 FULL ENCODING AND DECODING
    • CKKS EXPLAINED, PART 3 ENCRYPTION AND DECRYPTION
    • CKKS EXPLAINED, PART 4 MULTIPLICATION AND RELINEARIZATION
    • CKKS EXPLAINED, PART 5 RESCALING
  • 隐私计算框架

    • pysyft

      • README
      • PySyfy介绍
      • 数据集与资产
      • 客户端和 Datasite 访问
        • 2.1. 重新连接到数据站点
          • 持久性说明
        • 2.2. 更新默认管理员凭据
        • 2.3. 注册 Rachel 的账户
        • 恭喜完成第二部分 🎉
      • 提出研究问题
      • 审查代码请求
      • 检索结果
  • 安全知识

    • 信息安全四大顶会与分级
    • 数字签名与数字证书关系
    • 伪随机函数在密码学中的作用及其应用实例
    • 伪随机函数在与哈希函数的关系
  • 密码学
  • 隐私计算框架
  • pysyft
xiaoyang
2025-03-01
目录

客户端和 Datasite 访问

# Part 2: 客户端和Datasite访问

image-20241118155339881

# 2.1. 重新连接到数据站点

在第一部分中,我们将“乳腺癌数据集”上传到数据站点后,使用 data_site.land() 函数关闭了服务器。现在,我们将使用 syft.orchestra.launch 函数重新连接,并确保使用相同的名称 name="cancer-research-centre",同时显式传递 reset=False(默认值),以确保数据的持久性。

import syft as sy

# 重新连接到数据站点
data_site = sy.orchestra.launch(name="cancer-research-centre", reset=False)

# 使用默认凭据登录
client = data_site.login(email="info@openmined.org", password="changethis")

# 检查“乳腺癌数据集”是否已成功上传
client.datasets
1
2
3
4
5
6
7
8
9
10

这样可以验证我们的数据集是否已经成功保存在数据站点中。

# 持久性说明

  • (a) 使用相同名称的本地开发服务器可以确保在多个实例间的数据连续性和持久性;
  • (b) 仅在第一次连接或想重新初始化整个服务器时,使用 reset=True。

# 2.2. 更新默认管理员凭据

在第一部分中,我们使用了 PySyft 提供的默认管理员凭据来连接数据站点。现在,Owen 需要更新自己的凭据,并修改个人资料信息。

# 设置新的电子邮件和密码
OWEN_EMAIL = "owen@cancer-research.science"
OWEN_PASSWD = "cancer_research_syft_admin"

client.account.set_email(OWEN_EMAIL)
client.account.set_password(OWEN_PASSWD, confirm=False)

# 更新个人资料信息
client.account.update(name="Owen, the Data Owner", 
                     institution="Cancer Research Centre")
1
2
3
4
5
6
7
8
9
10

接下来,我们测试新的凭据是否有效,并查看注册的用户信息:

# 使用新凭据登录
client = data_site.login(email=OWEN_EMAIL, password=OWEN_PASSWD)

# 查看当前注册的用户
client.users
1
2
3
4
5

如预期所示,新的凭据成功工作,Owen 的个人资料信息已更新。


# 2.3. 注册 Rachel 的账户

Owen 现在需要将 Rachel 注册为数据科学家,以便她可以访问数据站点。可以使用 client.users.create() 函数创建新的用户账户。

# 创建 Rachel 的账户
rachel_account_info = client.users.create(
    email="rachel@datascience.inst",
    name="Dr. Rachel Science",
    password="syftrocks",
    password_verify="syftrocks",
    institution="Data Science Institute",
    website="https://datascience_institute.research.data"
)

# 打印新用户信息
print(f"New User: {rachel_account_info.name} ({rachel_account_info.email}) registered as {rachel_account_info.role}")
1
2
3
4
5
6
7
8
9
10
11
12

此函数返回一个 UserView 实例,其中包含新注册用户的只读信息。

为了验证 Rachel 的账户是否已成功添加到数据站点,我们可以查看用户列表:

# 查看所有注册的用户
client.users
1
2

# 恭喜完成第二部分 🎉

在第二部分中,我们完成了数据站点的完全配置!我们上传了包含“乳腺癌生物标志物”数据的特征和目标的 syft.Dataset,并为 Rachel 设置了访问权限。Owen 作为数据所有者的工作暂时完成了!

在第三部分中,我们将探索外部数据科学家如何使用在数据站点上托管的数据集进行研究。

image-20241118160920315

编辑 (opens new window)
上次更新: 2025/04/01, 01:48:12

← 数据集与资产 提出研究问题→

最近更新
01
操作系统
03-18
02
Nginx
03-17
03
后端服务端主动推送消息的常见方式
03-11
更多文章>
Theme by Vdoing | Copyright © 2023-2025 xiaoyang | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式