Class HomomorphicEncryptionOptions
Configuration options for homomorphic encryption (HE) in federated learning.
public class HomomorphicEncryptionOptions
- Inheritance
-
HomomorphicEncryptionOptions
- Inherited Members
Remarks
For Beginners: Homomorphic encryption lets the server combine encrypted client updates without seeing them in plaintext. This can enable stronger privacy guarantees, at the cost of compute and bandwidth.
Properties
BfvFixedPointScale
Gets or sets the fixed-point scaling factor for BFV encoding.
public double BfvFixedPointScale { get; set; }
Property Value
Remarks
For Beginners: BFV works with integers, so real numbers are multiplied by this scale and rounded to an integer.
BfvPlainModulusBitSize
Gets or sets BFV plain modulus bit size (batching-friendly prime).
public int BfvPlainModulusBitSize { get; set; }
Property Value
CkksCoeffModulusBits
Gets or sets CKKS coefficient modulus bit sizes.
public List<int> CkksCoeffModulusBits { get; set; }
Property Value
Remarks
This controls precision and security for CKKS. If empty, a safe default is used.
CkksScale
Gets or sets CKKS scale used for encoding.
public double CkksScale { get; set; }
Property Value
Enabled
Gets or sets whether homomorphic encryption is enabled.
public bool Enabled { get; set; }
Property Value
EncryptedRanges
public List<ParameterIndexRange> EncryptedRanges { get; set; }
Property Value
Mode
Gets or sets the HE mode.
public HomomorphicEncryptionMode Mode { get; set; }
Property Value
PolyModulusDegree
Gets or sets the polynomial modulus degree.
public int PolyModulusDegree { get; set; }
Property Value
Remarks
Typical values: 4096, 8192, 16384 (larger is more secure but slower).
Scheme
Gets or sets the HE scheme.
public HomomorphicEncryptionScheme Scheme { get; set; }