Exemplo n.º 1
0
class FateScript(FederationRuntime):
    def __init__(self, fed_obj, _host, _port):
        super().__init__(fed_obj.job_id, fed_obj.party_id, fed_obj.role,
                         fed_obj.runtime_conf, _host, _port)
        self.trans_conf = file_utils.load_json_conf(
            'contrib/fate_script/conf/FateScriptTransferVar.json')
        self.encrypt_operator = None

    def remote(self, obj, name: str, tag: str, role=None, idx=-1):
        if isinstance(obj, Tensor):
            super().remote(obj.store, name, tag, role, idx)
            #print("inside remote obj:{}".format(obj.store.count()))
        else:
            super().remote(obj, name, tag, role, idx)

    def get(self, name, tag, idx=-1):
        obj = copy.deepcopy(super().get(name, tag, idx))
        if isinstance(obj, _DTable):
            return copy.deepcopy(TensorInEgg(self.encrypt_operator, None, obj))
        elif isinstance(obj, np.ndarray):
            return copy.deepcopy(TensorInPy(self.encrypt_operator, None, obj))
        else:
            return copy.deepcopy(obj)

    def init_encrypt_operator(self):
        self.encrypt_operator = PaillierEncrypt()

    def init_public_key(self, key_length=1024):
        self.encrypt_operator.generate_key(key_length)
        return self.encrypt_operator.get_public_key()

    def get_public_key(self, public_key):
        self.encrypt_operator.set_public_key(public_key)
Exemplo n.º 2
0
class FateScript(FederationRuntime):
    def __init__(self, fed_obj):
        super().__init__(fed_obj.job_id, fed_obj.party_id, fed_obj.role, fed_obj.runtime_conf)
        self.trans_conf = file_utils.load_json_conf('contrib/fate_script/conf/FateScriptTransferVar.json')
        self.encrypt_operator = None

    def remote(self, obj, name: str, tag: str, role=None, idx=-1):
        super().remote(obj, name,tag, role, idx)

    def get(self, name, tag, idx=-1):
        return super().get(name, tag, idx)

    def init_encrypt_operator(self):
        self.encrypt_operator = PaillierEncrypt()

    def init_public_key(self, key_length=1024):
        self.encrypt_operator.generate_key(key_length)
        return self.encrypt_operator.get_public_key()

    def get_public_key(self, public_key):
        self.encrypt_operator.set_public_key(public_key)
Exemplo n.º 3
0
 def gen_paillier_cipher_operator(self, transfer_variables, suffix=tuple()):
     self._pubkey_transfer = transfer_variables.paillier_pubkey
     pubkey = self._pubkey_transfer.get(idx=0, suffix=suffix)
     cipher = PaillierEncrypt()
     cipher.set_public_key(pubkey)
     return cipher