Table of Contents

Class HomomorphicEncryptionProviderBase<T>

Namespace
AiDotNet.FederatedLearning.Cryptography
Assembly
AiDotNet.dll

Base class for homomorphic encryption providers.

public abstract class HomomorphicEncryptionProviderBase<T> : FederatedLearningComponentBase<T>, IHomomorphicEncryptionProvider<T>

Type Parameters

T

Numeric type.

Inheritance
HomomorphicEncryptionProviderBase<T>
Implements
Derived
Inherited Members

Methods

AggregateEncryptedWeightedAverage(Dictionary<int, Vector<T>>, Dictionary<int, double>, Vector<T>, IReadOnlyList<int>, HomomorphicEncryptionOptions)

Aggregates selected parameter indices using homomorphic encryption to produce a weighted average.

public abstract Vector<T> AggregateEncryptedWeightedAverage(Dictionary<int, Vector<T>> clientParameters, Dictionary<int, double> clientWeights, Vector<T> globalBaseline, IReadOnlyList<int> encryptedIndices, HomomorphicEncryptionOptions options)

Parameters

clientParameters Dictionary<int, Vector<T>>

Per-client parameter vectors.

clientWeights Dictionary<int, double>

Per-client weights.

globalBaseline Vector<T>

Baseline vector used for indices not included in encryptedIndices.

encryptedIndices IReadOnlyList<int>

Indices to aggregate via HE.

options HomomorphicEncryptionOptions

HE options.

Returns

Vector<T>

A vector containing the weighted average for encrypted indices (baseline elsewhere).

GetProviderName()

Gets the provider name.

public abstract string GetProviderName()

Returns

string