R: Create a HEMaster process for use in a distributed...

HEMaster {distcomp} | R Documentation

## Create a HEMaster process for use in a distributed homomorphic encrypted (HE) computation

### Description

`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.

### Public fields

`den`

  denominator for rational arithmetic

`den_bits`

  number of bits for denominator for rational arithmetic

### Methods

#### Public methods

- `HEMaster$new()`

- `HEMaster$getNC_party()`

- `HEMaster$getPubkey()`

- `HEMaster$addNCP()`

- `HEMaster$run()`

- `HEMaster$clone()`

#### 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.

### See Also

`NCP()`

[Package distcomp version 1.3-1 Index]