create_individual_fixed_rotation_key

Engine.create_individual_fixed_rotation_key(secret_key, public_key, delta, level)
비밀 키와 공용 공개 키를 인자로 받아서 특정 delta 만큼의 회전에 사용되는 다자간 연산의 공용 고정 회전 키 생성에 사용되는 개인 고정 회전 키를 생성합니다.
  • 인풋
    • SecretKey
    • PublicKey
    • delta: int입니다. [0~slot count)의 범위로 modulo 처리되어 생성됩니다.
    • level: optional
      • 지정된 경우에는 해당 최대 곱셈 횟수에 맞춰 사이즈를 줄인 키를 생성합니다.
  • 아웃풋
    • FixedRotationKey
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)

fixed_rotation_key1 = engine.create_individual_fixed_rotation_key(secret_key1, public_key, delta=1)

level_3_fixed_rotation_key1 = engine.create_individual_fixed_rotation_key(secret_key1, public_key, delta=1, level=3)