동형암호(Homomorphic Encryption)는 암호화된 데이터에 대해 복호화 없이 직접 연산을 수행할 수 있는 암호 체계이다. 연산 결과를 복호화하면, 원본 데이터에 동일한 연산을 적용한 결과와 일치한다. 이 특성으로 인해 데이터 프라이버시를 유지하면서도 클라우드 컴퓨팅, 빅데이터 분석, 기계 학습 등에서 안전한 처리가 가능하다.
1. 정의
동형암호는 다음과 같은 수식으로 정의된다.
- 암호화 함수 $E$와 복호화 함수 $D$가 존재하고,
- 임의의 연산 $\circ$에 대해 $D(E(m_1) \circ E(m_2)) = m_1 \circ m_2$ 가 성립한다.
여기서 $m_1, m_2$는 평문, $\circ$는 암호문 위에서 수행 가능한 연산(덧셈, 곱셈 등)이다.
2. 종류
동형암호는 지원하는 연산의 범위에 따라 크게 세 종류로 구분된다.
| 구분 | 지원 연산 | 대표적인 스킴 |
|---|---|---|
| 부분 동형암호 (Partially Homomorphic Encryption, PHE) | 덧셈 또는 곱셈 중 하나만 지원 | RSA (곱셈), Paillier (덧셈) |
| 한정 동형암호 (Somewhat Homomorphic Encryption, SHE) | 제한된 수의 덧셈·곱셈 조합 지원 | BGV, BFV (초기 버전) |
| 완전 동형암호 (Fully Homomorphic Encryption, FHE) | 무한히 많은 덧셈·곱셈 조합 지원 | Gentry’s Construction (2009), 후계 스킴 (CKKS, TFHE 등) |
3. 역사적 배경
- 1978년 RSA 암호가 곱셈에 대한 동형성을 보유한다는 점이 최초로 인식되었다.
- 2009년 Craig Gentry가 최초의 완전 동형암호 스킴을 발표하면서 실용 가능성을 제시하였다.
- 이후 BGV, BFV, CKKS, TFHE 등 다양한 효율성을 개선한 스킴이 개발되었다.
4. 주요 응용 분야
- 클라우드 컴퓨팅
- 사용자는 데이터를 암호화한 채로 클라우드에 저장하고, 서버는 암호문 상에서 연산을 수행함으로써 데이터 유출 위험을 최소화한다.
- 프라이버시 보호 기계 학습
- 암호화된 학습 데이터에 대해 모델 훈련·예측을 수행한다. 예) 헬스케어 데이터 분석.
- 보안 다자간 계산 (Secure Multi‑Party Computation, MPC)과 결합
- 동형암호는 MPC 프로토콜의 효율성을 높이는 보조 수단으로 활용된다.
- 블록체인 및 스마트 계약
- 블록체인에 저장된 암호화 데이터에 대해 검증 가능한 연산을 수행한다.
5. 기술적 과제
- 연산 효율성: 현재 FHE 스킴은 일반적인 평문 연산에 비해 수십 배에서 수백 배 정도의 연산 비용이 소요된다.
- 키 사이즈: 공개키 및 비밀키가 수 메가바이트 수준으로 커서 저장·전송 비용이 증가한다.
- 표현 제한: 실수 연산을 직접 지원하기 위해서는 근사화 기법(CKKS 등)이 필요하다.
- 표준화: 국제 표준화 기구(ISO/IEC)에서 동형암호 관련 표준 초안을 마련 중이나 아직 확정되지 않았다.
6. 연구 및 표준화 현황
- Microsoft SEAL, IBM HElib, PALISADE, TenSEAL 등 주요 오픈소스 라이브러리가 제공되고 있다.
- HomomorphicEncryption.org은 커뮤니티 기반 표준화 작업을 진행하고 있다(2023년 기준 초안 발표).
7. 참고 문헌·자료
- C. Gentry, “A Fully Homomorphic Encryption Scheme,” Stanford University Ph.D. thesis, 2009.
- Z. Brakerski, C. Gentry, and V. Vaikuntanathan, “(Leveled) Fully Homomorphic Encryption without Bootstrapping,” ITCS, 2012.
- M. Halevi, “Toolkits for Homomorphic Encryption,” Cryptology ePrint Archive, 2020.
본 설명은 현재까지 공개된 학술 자료와 기술 문서를 기반으로 작성되었으며, 최신 연구 동향에 따라 내용이 변동될 수 있다.