# module `concrete.fhe.compilation.keys` Declaration of `Keys` class. --- ## class `Keys` Keys class, to manage generate/reuse keys. Includes encryption keys as well as evaluation keys. Be careful when serializing/saving keys! ### method `__init__` ```python __init__( client_specs: Optional[ClientSpecs], cache_directory: Optional[Path, str] = None ) ``` --- #### property are_generated Get if the keys are already generated. --- #### property evaluation Get only evaluation keys. --- ### method `deserialize` ```python deserialize(serialized_keys: bytes) → Keys ``` Deserialize keys from bytes. **Args:** serialized_keys (bytes): previously serialized keys **Returns:** Keys: deserialized keys --- ### method `generate` ```python generate( force: bool = False, seed: Optional[int] = None, encryption_seed: Optional[int] = None ) ``` Generate new keys. **Args:** force (bool, default = False): whether to generate new keys even if keys are already generated/loaded seed (Optional[int], default = None): seed for private keys randomness encryption_seed (Optional[int], default = None): seed for encryption randomness --- ### method `load` ```python load(location: Union[str, Path]) ``` Load keys from a location. **Args:** location (Union[str, Path]): location to load from --- ### method `load_if_exists_generate_and_save_otherwise` ```python load_if_exists_generate_and_save_otherwise( location: Union[str, Path], seed: Optional[int] = None ) ``` Load keys from a location if they exist, else generate new keys and save to that location. **Args:** location (Union[str, Path]): location to load from or save to seed (Optional[int], default = None): seed for randomness in case keys need to be generated --- ### method `save` ```python save(location: Union[str, Path]) ``` Save keys to a location. Saved keys are not encrypted, so be careful how you store/transfer them! **Args:** location (Union[str, Path]): location to save to --- ### method `serialize` ```python serialize() → bytes ``` Serialize keys into bytes. Serialized keys are not encrypted, so be careful how you store/transfer them! **Returns:** bytes: serialized keys