攻防世界GFSJ1229 Three

题目编号:GFSJ1229

解题过程

1. 附件下载是三个压缩包A.zip B.zip C.zip和一个python程序Three.py


2. A.zip可以直接解压出来,内容如下:

```
'2022-08-27 20:16:04.246131' Func A0*X0+B0
'2022-08-27 20:16:05.116859' Read_Data A0.txt->A0(28829613228241459)
'2022-08-27 20:16:06.097964' Secret_Share A0
'2022-08-27 20:16:07.022455' Get A00(200254991086689) A01(200241552690281)
'2022-08-27 20:16:07.925862' Get X00(200058430391504) X01(200401773940794)
'2022-08-27 20:16:09.077771' Mul_loc_compute A0,X0->C00
'2022-08-27 20:16:10.764928' RGet C02(924422050091355025836012334663090)
'2022-08-27 20:16:11.213530' ReShare C00(random mask is 507412160912)
'2022-08-27 20:16:12.153062' Get B00(199957680670222) B01(200362172648094)
'2022-08-27 20:16:13.100727' Add_loc_compute C00,B00->Y00
'2022-08-27 20:16:13.281906' ReShare Y00(random mask is -1008362525723)
'2022-08-27 20:16:14.017485' RGet Y02(924422050091362838179268571917871)
'2022-08-27 20:16:17.000001' Open Y00
'2022-08-27 20:16:17.000101' RGet Y01(12163251699969281466186532960410)
'2022-08-27 20:16:17.000299' Cyberloafing!!
'2022-08-27 20:16:17.004194' ReBuild Y0
'2022-08-27 20:16:17.013270' Save_Data

```
3. B.zip 和C.zip有密码,查看Three.py,代码加了注释后如下:


```Python
import datetime

import numpy as np

  

# 协议类,用于处理多方参与的加密计算

class Protocol:

def __init__(self, party_num):

# 初始化协议类,指定当前参与方编号 (party_num: 0, 1, 或 2)

self.pn = party_num # 参与方编号 (party_num: 0, 1, 2)

  

def Read_Data(self, path):

# 读取数据文件中的内容,尝试将其转换为数值(整数或浮点数)

data = open(path).readline().strip() # 从文件中读取一行数据并去除首尾空格

try:

if '.' in data:

data = float(data) # 如果数据包含小数点,则转换为浮点数

else:

data = int(data) # 否则,转换为整数

except:

# 如果转换失败,打印错误信息并退出程序

print('No number')

exit(-1)

return data # 返回读取的数据

  

def Get(self, x1, x2):

# 获取两个秘密共享的值 (函数未实现)

pass

  

def RGet(self, x1):

# 获取一个秘密共享的值 (函数未实现)

pass

  

def ReShare(self, x):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

铭记北宸

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值