Class SEALServer
java.lang.Object
org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption.SEALServer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaccumulateCiphertexts(CiphertextMatrix[] ciphertexts) accumulates the given ciphertext blocks into a sum ciphertext and returns itaggregatePartialPublicKeys(PublicKey[] partial_public_keys) accumulates the given partial public keys into a public key, stores it in ctx and returns itaverage(CiphertextMatrix encrypted_sum, PlaintextMatrix[] partial_plaintexts) averages the partial decryptionsbyte[]this generates the a constant.
-
Constructor Details
-
SEALServer
public SEALServer()
-
-
Method Details
-
generateA
public byte[] generateA()this generates the a constant. in a future version we want to generate this together with the clients to prevent misuse- Returns:
- serialized a constant
-
aggregatePartialPublicKeys
accumulates the given partial public keys into a public key, stores it in ctx and returns it- Parameters:
partial_public_keys- an array of partial public keys generated with SEALServer::generatePartialPublicKey- Returns:
- the aggregated public key
-
accumulateCiphertexts
accumulates the given ciphertext blocks into a sum ciphertext and returns it- Parameters:
ciphertexts- ciphertexts encrypted with the partial public keys- Returns:
- the accumulated ciphertext (which is the homomorphic sum of ciphertexts)
-
average
averages the partial decryptions- Parameters:
encrypted_sum- is the result of accumulateCiphertexts()partial_plaintexts- is the result of SEALServer::partiallyDecrypt of each ciphertext fed into accumulateCiphertexts- Returns:
- the unencrypted, element-wise average of the original matrices
-