0Pricing
Cryptology Academy · 강의

근사 산술 및 머신러닝을 위한 CKKS

프라이버시를 보호하는 기계 학습 추론에 CKKS를 적용합니다.

근사 산술 및 머신러닝을 위한 CKKS은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

CKKS가 필요한 이유

BGV/BFV는 정수에 대해 정확한 산술을 수행합니다. 머신러닝은 부동소수점 수를 사용하므로 근사 산술이 필요합니다. CKKS(Cheon-Kim-Kim-Song, 2017)는 실수와 복소수를 인코딩하고 정밀도의 손실을 제어할 수 있어 머신러닝 추론과 데이터 분석에 적합합니다.

근사 산술

CKKS는 잡음을 인코딩 정밀도의 일부로 취급합니다. 잡음을 제거하여 오류를 수정하는 대신, CKKS는 결과를 보장된 정밀도 범위를 가진 근사값으로 봅니다. 이러한 절충을 통해 연속값 계산을 위한 HE를 훨씬 효율적으로 만들 수 있습니다.

실수 인코딩

CKKS는 복소수 벡터를 다항식으로 인코딩합니다. 벡터 (z_0, ..., z_{n/2-1})는 역 FFT를 통해 R의 다항식으로 변환됩니다. 스케일링 인자 Δ(예: 2^40)는 부동소수점 수를 정수로 변환합니다. 암호문 하나당 n/2개의 실수 슬롯을 사용할 수 있습니다.

크기 재조정

곱셈 후 스케일링 인자는 Δ^2로 두 배가 됩니다. CKKS는 단일 스케일링을 복원하기 위해 Δ로 나누는 크기 재조정 연산을 도입합니다. 이 과정은 암호문 법 레벨도 낮춥니다(BGV의 법 전환과 유사함). 따라서 암호문을 관리 가능한 크기로 유지할 수 있습니다.

정밀도 분석

각 곱셈은 법 레벨 하나를 소모하고 정밀도를 약 log2(Δ)비트만큼 낮춥니다. 스케일링 인자 Δ = 2^40이고 깊이가 L인 회로에서는 총 정밀도 손실이 약 L*40비트입니다. 이 정밀도 예산을 수용할 수 있도록 초기 법 Q를 충분히 크게 선택하십시오.

CKKS를 사용한 머신러닝 추론

선형 계층(행렬-벡터 곱셈)은 회전과 누적을 사용하므로 효율적입니다. 활성화 함수(ReLU, 시그모이드)는 다항식 근사가 필요합니다. ReLU는 7차 체비쇼프 다항식으로 근사할 수 있습니다. 평문 추론과 비교한 정확도 손실은 약 0.1-1%입니다.

비공개 추론 예제

병원은 자체 CKKS 공개 키로 환자 데이터를 암호화합니다. 클라우드는 CKKS 연산을 사용하여 암호화된 데이터에 진단 신경망을 실행합니다. 암호화된 예측 결과를 반환합니다. 병원은 비밀 키로 복호화합니다. 클라우드는 환자 데이터나 평문 진단 결과를 전혀 볼 수 없습니다.

CKKS 매개변수

HEAAN/OpenFHE는 깊은 머신러닝 회로에 n=2^15(32768)를 권장합니다. 법 체인은 Δ=2^50에서 30개의 곱셈 레벨을 처리할 수 있도록 초기 Q ≈ 2^1500으로 설정합니다. 보안 수준은 128비트이며, 이러한 매개변수의 CKKS가 RLWE만큼 어렵다고 가정합니다. 암호문 메모리 크기는 약 1 MB입니다.

CKKS의 부트스트래핑

CKKS 부트스트래핑(Cheon 외, 2018)은 법 연산을 동형적으로 평가하여 암호문을 새로 고칩니다. 복잡도는 복소수에 대해 다항식 근사를 사용하여 사인 함수를 평가하는 데서 발생합니다. 부트스트래핑 한 번에 약 30초가 걸리지만 회로 깊이를 제한 없이 사용할 수 있습니다.

비교: CKKS와 BFV

BFV는 정확한 정수, 정수 평문, 정밀도 손실 없음을 제공합니다. CKKS는 근사 실수와 복소수, 부동소수점 평문을 사용하며 깊이가 깊어질수록 정밀도가 낮아집니다. 다음에는 BFV를 사용하십시오: 데이터베이스, 질의, 정확한 계산. 다음에는 CKKS를 사용하십시오: 머신러닝, 통계, 과학 계산.

라이브러리

HEAAN(최초의 CKKS, 서울대학교), Microsoft SEAL(CKKS + BFV), OpenFHE(CKKS + BGV + BFV)가 있습니다. Concrete-ML(Zama.ai, scikit-learn 및 PyTorch 모델을 위해 OpenFHE를 감쌈)도 있습니다. TF-HE는 TensorFlow와 HE의 통합을 실험하는 프로젝트입니다.

빠른 확인

머신러닝 추론에 BFV보다 CKKS를 선호하는 이유는 무엇입니까?

복습

CKKS는 근사 실수 산술을 지원하므로 암호화된 데이터에 대한 머신러닝 추론과 통계에 적합합니다. 크기 재조정으로 스케일링 인자를 관리하고, 활성화 함수는 다항식 근사로 대체합니다. 다음 주제: 양자 이후 암호학과 쇼어 및 그로버 알고리즘입니다.

자주 묻는 질문

“근사 산술 및 머신러닝을 위한 CKKS” 강의는 무료인가요?

네 — “근사 산술 및 머신러닝을 위한 CKKS” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“근사 산술 및 머신러닝을 위한 CKKS”에서 뭘 배우나요?

프라이버시를 보호하는 기계 학습 추론에 CKKS를 적용합니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“근사 산술 및 머신러닝을 위한 CKKS” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 동형 암호화란 무엇인가요?
  2. 오류가 있는 학습(LWE)의 기반
  3. 정수 연산을 위한 BGV 및 BFV 방식
  4. 근사 산술 및 머신러닝을 위한 CKKS
← Cryptology Academy(으)로 돌아가기