create_multiparty_conjugation_key
Engine.create_multiparty_conjugation_key(conjugation_keys, level)
- Creates a common conjugation key used for conjugation in multiparty computation. Requires an array of individual conjugation keys as input.
- Input
- conjugation_keys: an array of ConjugationKeys
- level: optional
- Creates the key with a reduced size to contain only the specified multiplication levels.
- Output
from desilofhe import Engine
engine = Engine()
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)
conjugation_key1 = engine.create_individual_conjugation_key(secret_key1, public_key)
conjugation_key2 = engine.create_individual_conjugation_key(secret_key2, public_key)
conjugation_key = engine.create_multiparty_conjugation_key([conjugation_key1, conjugation_key2])
level_3_conjugation_key = engine.create_multiparty_conjugation_key([conjugation_key1, conjugation_key2], level=3)