create_evaluation_key

Engine.create_evaluation_key(secret_key, size)
Creates an evaluation key from a secret key. An evaluation key bundles the keys required for homomorphic operations—the relinearization key, the conjugation key, and either a bootstrap key or a roll key—into a single object, so you can generate and manage them all at once instead of creating each key individually.
  • Input
    • SecretKey
    • size: optional
      • Only valid when the engine was created with bootstrap=True. Otherwise this is ignored.
      • small or medium (default: medium). Selects the bootstrap key variant bundled into the evaluation key. medium bundles a bootstrap key, while small bundles a small bootstrap key with a smaller memory footprint.
  • Output
    • EvaluationKey

Warning

  • The matrix form does not yet support this operation.
from desilofhe import Engine

engine = Engine(bootstrap=True)
secret_key = engine.create_secret_key()
evaluation_key = engine.create_evaluation_key(secret_key)  # medium

small_evaluation_key = engine.create_evaluation_key(secret_key, size="small")
medium_evaluation_key = engine.create_evaluation_key(secret_key, size="medium")