HEMaster objects run a distributed computation based upon a definition file that encapsulates all information necessary to perform a computation. A master makes use of two non-cooperating parties which communicate with sites that perform the actual computations using local data.

See also

Public fields

den

denominator for rational arithmetic

den_bits

number of bits for denominator for rational arithmetic

Methods

Public methods


Method new()

Create a HEMaster object to run homomorphic encrypted computation

Usage

HEMaster$new(defn)

Arguments

defn

the homomorphic computation definition

Returns

a HEMaster object


Method getNC_party()

Return a list of noncooperating parties (NCPs)

Usage

HEMaster$getNC_party()

Returns

a named list of length 2 of noncooperating party information


Method getPubkey()

Return the public key from the public private key pair

Usage

HEMaster$getPubkey()

Returns

an R6 Pubkey object


Method addNCP()

Add a noncooperating party to this master either using a url or an object in session for prototyping

Usage

HEMaster$addNCP(ncp_defn, url = NULL, ncpWorker = NULL)

Arguments

ncp_defn

the definition of the NCP

url

the url for the NCP; only one of url and ncpWorker should be non-null

ncpWorker

an instantiated worker object; only one of url and ncpWorker should be non-null


Method run()

Run a distributed homomorphic encrypted computation and return the result

Usage

HEMaster$run(debug = FALSE)

Arguments

debug

a flag for debugging, default FALSE

Returns

the result of the distributed homomorphic computation


Method clone()

The objects of this class are cloneable with this method.

Usage

HEMaster$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.