create_fixed_roll_key
Engine.create_fixed_roll_key(secret_key, shift, axis, *, level)
- 비밀 키를 인자로 받아서 특정 shift 만큼의 순환에 사용되는 고정 순환 키를 생성합니다.
- 인풋:
SecretKey
- shift:
int. [0~slot count)의 범위로 modulo 처리되어 생성됩니다.
- axis:
int, optional. 행렬 엔진의 순환축을 지정합니다: 0 (batch) 또는 1 (row). 벡터 엔진에서는 None이어야 합니다. 2 (column) 축의 순환에는 키가 필요하지 않습니다. roll을 참고하세요.
- level:
int, 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 = matrix_engine.create_fixed_roll_key(
secret_key, shift=1, axis=1, level=3
)