Configuration Types

TypedDict definitions for scheme configuration dictionaries.

TypedDict schemas for KeyGenerator and Crypto config dicts.

All fields are optional (total=False) because every KeyGenerator provides sensible defaults via config.get(key, default). The schemas exist for documentation and IDE autocompletion when constructing configs:

from pyfe4ai.schemes.config_types import DDHConfig

config: DDHConfig = {"sec_param": 128, "eta": 3}
kg = SIFEKeyGenerator(config)
class pyfe4ai.schemes.config_types.FEBaseConfig[source]

Bases: TypedDict

Fields read by IPFEAbsKeyGenerator.

sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.DDHConfig[source]

Bases: dict

Config for standard DDH schemes (SIFE / MIFE / MCFE DDH).

eta: int
sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.DamgardDDHConfig[source]

Bases: dict

Config for Damgard DDH schemes.

eta: int
modulus_length: int
bound: int
sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.LWEConfig[source]

Bases: dict

Config for LWE-based schemes (SIFE / MIFE LWE, FullySec LWE).

eta: int
lwe_n: int
bound_x: int
bound_y: int
sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.MCFELWEConfig[source]

Bases: dict

Config for MCFE LWE schemes (adds label / noise bounds).

bound_u: int
label_modulus: int
sec_param: int
n: int
s: int
lst_nid: list[str]
eta: int
lwe_n: int
bound_x: int
bound_y: int
class pyfe4ai.schemes.config_types.RingLWEConfig[source]

Bases: dict

Config for Ring-LWE-based schemes.

eta: int
ring_n: int
bound_x: int
bound_y: int
sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.MCFERingLWEConfig[source]

Bases: dict

Config for MCFE Ring-LWE schemes.

bound_u: int
label_modulus: int
sec_param: int
n: int
s: int
lst_nid: list[str]
eta: int
ring_n: int
bound_x: int
bound_y: int
class pyfe4ai.schemes.config_types.PaillierConfig[source]

Bases: dict

Config for Paillier-based schemes.

eta: int
bit_length: int
bound_x: int
bound_y: int
sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.PairingIPEConfig[source]

Bases: dict

Config for pairing-based IPE schemes (FH-IPE).

eta: int
bound_x: int
bound_y: int
pairing_group_param: str
sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.PairingMultiIPEConfig[source]

Bases: dict

Config for pairing-based multi-input IPE schemes (FH-MULTI-IPE).

sec_level: int
u_bound: int
label_modulus: int
sec_param: int
n: int
s: int
lst_nid: list[str]
eta: int
bound_x: int
bound_y: int
pairing_group_param: str
class pyfe4ai.schemes.config_types.PartFHIPEConfig[source]

Bases: dict

Config for partially function-hiding IPE schemes.

eta: int
bound: int
bound_x: int
subspace_dim: int
coeff_bound: int
pairing_group_param: str
sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.ThresholdDDHConfig[source]

Bases: dict

Config for threshold DDH-based schemes.

t: int
lst_sid: list[str]
sec_param: int
n: int
s: int
lst_nid: list[str]
eta: int
class pyfe4ai.schemes.config_types.ThresholdLWEConfig[source]

Bases: dict

Config for threshold LWE-based schemes.

t: int
lst_sid: list[str]
sec_param: int
n: int
s: int
lst_nid: list[str]
eta: int
lwe_n: int
bound_x: int
bound_y: int
class pyfe4ai.schemes.config_types.ThresholdMCFELWEConfig[source]

Bases: dict

Config for threshold MCFE LWE-based schemes.

t: int
lst_sid: list[str]
sec_param: int
n: int
s: int
lst_nid: list[str]
eta: int
lwe_n: int
bound_x: int
bound_y: int
bound_u: int
label_modulus: int
class pyfe4ai.schemes.config_types.ThresholdMCFERingLWEConfig[source]

Bases: dict

Config for threshold MCFE Ring-LWE-based schemes.

t: int
lst_sid: list[str]
sec_param: int
n: int
s: int
lst_nid: list[str]
eta: int
ring_n: int
bound_x: int
bound_y: int
bound_u: int
label_modulus: int
class pyfe4ai.schemes.config_types.ThresholdPairingMultiIPEConfig[source]

Bases: dict

Config for threshold pairing-based multi-input IPE schemes.

t: int
lst_sid: list[str]
sec_param: int
n: int
s: int
lst_nid: list[str]
eta: int
bound_x: int
bound_y: int
pairing_group_param: str
sec_level: int
u_bound: int
label_modulus: int
class pyfe4ai.schemes.config_types.QuadraticSGPConfig[source]

Bases: dict

Config for SGP quadratic FE schemes.

bound: int
pairing_group_param: str
sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.QuadraticQuadConfig[source]

Bases: dict

Config for Quad quadratic FE schemes.

m: int
bound: int
pairing_group_param: str
sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.MultiInputSGPConfig[source]

Bases: dict

Config for multi-input SGP quadratic FE schemes.

d: int
bound: int
pairing_group_param: str
sec_param: int
n: int
s: int
lst_nid: list[str]
class pyfe4ai.schemes.config_types.CryptoConfig[source]

Bases: TypedDict

Config for IPFEAbsCrypto subclasses.

id: str
type: str
precision: int