Skip to main content

hetorch.core.parameters

Encryption parameters for different HE schemes

Classes

BFVParameters(poly_modulus_degree: <class 'int'>, coeff_modulus: typing.Optional[typing.List[int]], plain_modulus: <class 'int'>, kwargs)

BFV-specific encryption parameters

Attributes: scheme: Always HEScheme.BFV poly_modulus_degree: Polynomial modulus degree coeff_modulus: List of coefficient modulus bit sizes plain_modulus: Plaintext modulus metadata: Additional parameters

Methods:

__init__(self, poly_modulus_degree: int = 8192, coeff_modulus: Optional[List[int]] = None, plain_modulus: int = 1024, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

CKKSParameters(poly_modulus_degree: <class 'int'>, coeff_modulus: typing.Optional[typing.List[int]], scale: <class 'float'>, noise_budget: typing.Optional[float], kwargs)

CKKS-specific encryption parameters

Attributes: scheme: Always HEScheme.CKKS poly_modulus_degree: Polynomial modulus degree coeff_modulus: List of coefficient modulus bit sizes scale: Scaling factor for encoding noise_budget: Initial noise budget in bits (optional) metadata: Additional parameters

Methods:

__init__(self, poly_modulus_degree: int = 16384, coeff_modulus: Optional[List[int]] = None, scale: float = 1099511627776, noise_budget: Optional[float] = None, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

EncryptionParameters(scheme: <enum 'HEScheme'>, poly_modulus_degree: <class 'int'>, metadata: typing.Dict[str, typing.Any])

Base class for encryption parameters

Attributes: scheme: HE scheme poly_modulus_degree: Polynomial modulus degree (ring dimension) metadata: Additional scheme-specific parameters

Methods:

__init__(self, scheme: hetorch.core.scheme.HEScheme, poly_modulus_degree: int, metadata: Dict[str, Any] = \<factory\>) -\> None

Initialize self. See help(type(self)) for accurate signature.