Package org.apache.sysds.runtime.controlprogram.paramserv

# Class HEParamServer

java.lang.Object
org.apache.sysds.runtime.controlprogram.paramserv.ParamServer
org.apache.sysds.runtime.controlprogram.paramserv.LocalParamServer
org.apache.sysds.runtime.controlprogram.paramserv.HEParamServer

public class HEParamServer extends LocalParamServer
This class implements Homomorphic Encryption (HE) for LocalParamServer. It only supports modelAvg=true.

## Method Summary

Modifier and Type
Method
Description
`PublicKey`
`aggregatePartialPublicKeys(PublicKey[] partial_public_keys)`
`static HEParamServer`
`create(ListObject model, String aggFunc, Statement.PSUpdateType updateType, Statement.PSFrequency freq, ExecutionContext ec, int workerNum, String valFunc, int numBatchesPerEpoch, MatrixObject valFeatures, MatrixObject valLabels, int nbatches, int numBackupWorkers)`
`byte[]`
`generateA()`
`void`
`push(int workerID, ListObject encrypted_model)`
`void`
`registerThread(int thread_id, FederatedPSControlThread thread)`

### Methods inherited from class org.apache.sysds.runtime.controlprogram.paramserv.LocalParamServer

`create, pull`

### Methods inherited from class org.apache.sysds.runtime.controlprogram.paramserv.ParamServer

`getAggInst, getNumWorkers, getResult`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### create

public static HEParamServer create(ListObject model, String aggFunc, Statement.PSUpdateType updateType, Statement.PSFrequency freq, ExecutionContext ec, int workerNum, String valFunc, int numBatchesPerEpoch, MatrixObject valFeatures, MatrixObject valLabels, int nbatches, int numBackupWorkers)

### registerThread

public void registerThread(int thread_id, FederatedPSControlThread thread)

### generateA

public byte[] generateA()

### aggregatePartialPublicKeys

public PublicKey aggregatePartialPublicKeys(PublicKey[] partial_public_keys)

### push

public void push(int workerID, ListObject encrypted_model)

Overrides:
  `push` in class `LocalParamServer`