def METHOD_NAME(self, params):
    super().METHOD_NAME(params)
    self.encrypted_mode_calculator_param = params.encrypted_mode_calculator_param
    if params.encrypt_param.method == consts.PAILLIER:
        self.cipher_operator = PaillierEncrypt()
    elif params.encrypt_param.method == consts.PAILLIER_IPCL:
        self.cipher_operator = IpclPaillierEncrypt()
    else:
        raise ValueError(f"Unsupported encryption method: {params.encrypt_param.method}")
    self.cipher.register_paillier_cipher(self.transfer_variable)
    self.converge_procedure.register_convergence(self.transfer_variable)
    self.batch_generator.register_batch_generator(self.transfer_variable)
    self.gradient_loss_operator.register_gradient_procedure(self.transfer_variable)
    # if len(self.component_properties.host_party_idlist) == 1:
    #     LOGGER.debug(f"set_use_async")
    #     self.gradient_loss_operator.set_use_async()
    self.gradient_loss_operator.set_fixed_float_precision(self.model_param.floating_point_precision)