create_fixed_roll_key

Engine.create_fixed_roll_key(secret_key, shift, axis, *, level)
비밀 키를 인자로 받아서 특정 shift 만큼의 순환에 사용되는 고정 순환 키를 생성합니다.
  • 인풋
    • SecretKey
    • shift: int. [0~slot count)의 범위로 modulo 처리되어 생성됩니다.
    • axis: int | None. 순환축을 지정합니다. 행렬 엔진에서만 유의미합니다.
    • level: optional
      • 지정된 경우에는 해당 최대 곱셈 횟수에 맞춰 사이즈를 줄인 키를 생성합니다.
  • 아웃풋
    • FixedRollKey
from desilofhe import Engine

engine = Engine()
secret_key = engine.create_secret_key()
fixed_roll_key = engine.create_fixed_roll_key(secret_key, shift=1)

level_3_fixed_roll_key = engine.create_fixed_roll_key(
    secret_key, shift=1, level=3
)
from desilofhe import Engine

matrix_engine = Engine(form="matrix")
secret_key = matrix_engine.create_secret_key()
axis_0_fixed_roll_key = matrix_engine.create_fixed_roll_key(
    secret_key, shift=1, axis=0
)

axis_1_level_3_fixed_roll_key = engine.create_fixed_roll_key(
    secret_key, shift=1, axis=1, level=3
)