create_multiparty_relinearization_key
Engine.create_multiparty_relinearization_key(individual_relinearization_keys, level)- Creates a common relinearization key used for relinearization in multiparty computation. Requires an array of individual relinearization keys as input.
- Input:
- individual_relinearization_keys:
list[RelinearizationKey] - level:
int, optional- Creates the key with a reduced size to contain only the specified multiplication levels.
- individual_relinearization_keys:
- Output:
RelinearizationKey
Warning
- The matrix form does not yet support this operation.
from desilofhe import Engine
engine = Engine(multiparty=True)
secret_key1 = engine.create_secret_key()
secret_key2 = engine.create_secret_key()
public_key_a = engine.create_public_key_a()
public_key_b1 = engine.create_public_key_b(secret_key1, public_key_a)
public_key_b2 = engine.create_public_key_b(secret_key2, public_key_a)
public_key = engine.create_multiparty_public_key(
[public_key_b1, public_key_b2], public_key_a
)
relinearization_key1 = engine.create_individual_relinearization_key(
secret_key1, public_key
)
relinearization_key2 = engine.create_individual_relinearization_key(
secret_key2, public_key
)
relinearization_key = engine.create_multiparty_relinearization_key(
[relinearization_key1, relinearization_key2]
)
level_3_relinearization_key = engine.create_multiparty_relinearization_key(
[relinearization_key1, relinearization_key2], level=3
)