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
- 지정된 경우에는 해당 최대 곱셈 횟수에 맞춰 사이즈를 줄인 키를 생성합니다.
- 아웃풋
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
)