콘텐츠로 이동

create_lossy_bootstrap_key

Engine.create_lossy_bootstrap_key(secret_key, stage_count=3, size="medium")
비밀 키를 인자로 받아서 손실 부트스트랩에 사용되는 손실 부트스트랩 키를 생성합니다. 손실 부트스트랩 키는 내부적으로 부트스트랩에 필요한 고정 회전 키들로 이루어져있습니다.
  • 인풋
    • SecretKey
    • stage_count: optional
      • 부트스트래핑 알고리즘의 coefficient to slot, slot to coefficient 단계에서 사용될 곱셈 횟수를 지정합니다. 기본값은 3이고, 3 ~ 5를 지원합니다. 클수록 부트스트래핑이 빠르지만 최종 결과값의 곱셈 횟수가 줄어듭니다.
    • size: optional
      • 손실 부트스트랩 키의 메모리 사용량을 지칭합니다. 메모리 사용량이 많으면 더 빠르게 연산할 수 있습니다.
      • medium, large 두 값을 허용합니다. 기본값은 medium 으로 되어있습니다.
  • 아웃풋
    • LossyBootstrapKey
from desilofhe import Engine

engine = Engine(for_bootstrap=True)
secret_key = engine.create_secret_key()
lossy_bootstrap_key = engine.create_lossy_bootstrap_key(secret_key)

medium_lossy_bootstrap_key_with_5_stages = engine.create_lossy_bootstrap_key(
    secret_key, stage_count=5
)

large_lossy_bootstrap_key = engine.create_lossy_bootstrap_key(
    secret_key, size="large"
)

large_lossy_bootstrap_key_with_4_stages = engine.create_lossy_bootstrap_key(
    secret_key, count=4, size="large"
)

키 크기

stage_count 3 4 5
medium 12.3 GB 9.1 GB 7.0 GB
large 15.2 GB 12.9 GB 8.9 GB

Stage Count

기본적으로 3, 4, 5를 지원합니다. 희소 부트스트랩의 경우 다음 값들을 지원합니다.

key_size slot_count 1 2 3 4 5
medium 1
medium 2
medium 3
medium 4
medium 5
medium 6
medium 7
medium 8
medium 9
medium 10
medium 11
medium 12
medium 13
medium 14
large 3
large 4
large 5
large 6
large 7
large 8
large 9
large 10
large 11
large 12
large 13
large 14